2013-06-26 112 views
1

我想創建一個文本字段和按鈕,允許用戶在文本字段中獲取他的詳細信息,而不是在每次他想進行新預訂時都寫下他的詳細信息。php通過電子郵件從數據庫中提取您的詳細信息

像這樣的畫面: http://oi41.tinypic.com/23ie70j.jpg

我試圖使這一點,但我的代碼,但給我雙倍的形式之一與細節,一個沒有。

<form method="post" action="reserv page.php"> 
enter the email: <input type = "text" name = "email"/> 
<input type = "submit" name = "submit" value="submit" /> 
</form> 
<?php 
mysql_connect("localhost","userName","password"); 
mysql_select_db("database_Name"); 

if(isset($_POST['submit'])) 
{ 
$email = $_POST['email']; 
$q = "SELECT * FROM tabe WHERE the_email = '$email'"; 
$run = mysql_query($q); 

while($row = mysql_fetch_array($run)) 
{ 
?> 

</br></br> 

<form action="payment.php" method="post" > 
First Name:<input name="fName" type="text" value="<?php echo $row[1]; ?>" /> 
Last Name: <input name="lNamet" type="text" value="<?php echo $row[2]; ?>" /> 
User Name: <input name="uName" type="text" value="<?php echo $row[3]; ?>"/> 
Email:  <input name="email" type="text" value="<?php echo $row[4]; ?>" /> 
password: <input name="pass" type="password" value="<?php echo $row[5]; ?>"/> 
contact: <input name="number" type="text" value="<?php echo $row[6]; ?>" /> 

<input name="confirm" type="submit" value="Confirm" /> 
</form> 

</br></br> 

<?php 
}} 
?> 

<form action="payment.php" method="post" > 
First Name:<input name="fName" type="text" /> 
Last Name: <input name="lNamet" type="text" /> 
User Name: <input name="uName" type="text" /> 
Email:  <input name="email" type="text" /> 
password: <input name="pass" type="password" /> 
contact: <input name="number" type="text" /> 

<input name="confirm" type="submit" value="Confirm" /> 
</form> 
+0

仔細看看你的代碼。你在'while()'循環中輸出你的表單。你爲什麼使用'while'? – Dai

+2

快速!佈置SQL注入器! –

+1

對於SQL注入攻擊,你是**開放**,如果你還沒有被攻擊,你將被黑客攻擊**。學習使用PDO或類似的準備/參數化查詢。 – Brad

回答

0
<form method="post" action="reserv page.php"> 
enter the email: <input type = "text" name = "email"/> 
<input type = "submit" name = "submit" value="submit" /> 
</form> 
<?php 
mysql_connect("localhost","userName","password"); 
mysql_select_db("database_Name"); 

if(isset($_POST['submit'])) 
{ 
    $email = $_POST['email']; 
    //limit the query to one entry :) 
    $q = "SELECT * FROM tabe WHERE the_email = '$email' LIMIT 1"; 
    $run = mysql_query($q); 

    //check if email is registered 
    if(mysql_num_rows($run)>0) 
    { 
     //display filled up form 
     while($row = mysql_fetch_array($run)) 
     { 
     ?> 

     </br></br> 

     <form action="payment.php" method="post" > 
     First Name:<input name="fName" type="text" value="<?php echo $row[1]; ?>" /> 
     Last Name: <input name="lNamet" type="text" value="<?php echo $row[2]; ?>" /> 
     User Name: <input name="uName" type="text" value="<?php echo $row[3]; ?>"/> 
     Email:  <input name="email" type="text" value="<?php echo $row[4]; ?>" /> 
     password: <input name="pass" type="password" value="<?php echo $row[5]; ?>"/> 
     contact: <input name="number" type="text" value="<?php echo $row[6]; ?>" /> 

     <input name="confirm" type="submit" value="Confirm" /> 
     </form> 

     </br></br> 

     <?php 
     } 
    } 
    //display blank form 
    else{ 
     ?> 

     <form action="payment.php" method="post" > 
     First Name:<input name="fName" type="text" /> 
     Last Name: <input name="lNamet" type="text" /> 
     User Name: <input name="uName" type="text" /> 
     Email:  <input name="email" type="text" /> 
     password: <input name="pass" type="password" /> 
     contact: <input name="number" type="text" /> 

     <input name="confirm" type="submit" value="Confirm" /> 
     </form> 
     <?php 
    } 
} 
?> 
+0

當我運行代碼時,顯示的第一件事就是要求您輸入電子郵件的字段。但如何使這些領域:名字 姓: 用戶名: 電子郵件: 密碼: 聯繫人:顯示空白,當我輸入電子郵件時,字段將填充信息。 – user2521365

+0

如果(isset($ _ POST ['submit'])) 部分可以爲 添加else子句。然後在這種情況下顯示空白表格。 –

+0

感謝它的工作^ -^ – user2521365

0

你得到2種形式,因爲你是呼應一種形式,如果$_POST['submit']設置,然後又一個不顧一切了。只有在沒有設置$_POST['submit']時纔打印第二個表格。由於你的代碼寫得太差,我只給你一個例子:

if(isset($_POST['submit'])){ 
    PRINT FETCHED FORM 
}else{ 
    PRINT EMPTY FORM 
} 

但是,這不是「正確」的路要走。人們實際上做的是變量在開始時是空的,然後在數據中填充數據(如果有請求並在文件中寫入單個表單並將輸入值作爲這些變量)。

相關問題