2013-06-26 6 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

Вы можете добавить условие else для if (isset ($ _ POST ['submit'])) часть. Затем отобразите пустую форму в этом случае. –

+0

спасибо, что это сработало^-^ – user2521365

0

Вы получаете 2 формы, потому что вы выводите одну форму, если $_POST['submit'] установлен, а затем еще один, независимо от чего-либо. Распечатайте вторую форму, только если $_POST['submit'] не установлен. Так как ваш код так плохо написан, я просто приведу вам пример:

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

Это, однако, не является «правильным» путем. Фактически, люди на самом деле имеют переменные null'd при запуске, а затем заполняют их данными, если есть запрос и имеют одну форму, записанную в файле, с входными значениями в качестве этих переменных.

Смежные вопросы