2015-07-16 19 views
1

Таким образом, это часть кода для моей формы входа:PHP сброса формы/POST данные о обновлении

session_start(); 

    if(isset($_SESSION['user']) != '') { 
     header ("Location: home.php"); 
    } 

    require_once ('dbconnect.php'); 

     if(isset($_POST['btn-signup'])) 
    { 
     $uname = mysql_real_escape_string($_POST['uname']); 
     $email = mysql_real_escape_string($_POST['email']); 
     $upass = mysql_real_escape_string($_POST['pass']); 

     $sql = mysql_query ("SELECT username FROM users WHERE username='".$uname."'"); 
     $num = mysql_fetch_assoc($sql); 


      if ($num > 0) { 
       ?> 
        <script>alert('Duplicate username');</script> 
       <?php 

      } 
       else { ... 

    } 

Проблема, когда дубликат имя пользователя вводится, я получаю сообщение об ошибке Дублировать имя пользователя и на каждой форме обновления сбрасывается, но ошибка там неоднократно.

print_r ($num); 

при обновлении возвращает массив с последним введенным именем формы. Я хотел бы сохранить сообщение об ошибке в первый раз, но потом я хотел бы сбросить данные формы или каким-то образом сбросить SQL-запрос или переменную, которая его содержит, поэтому сообщение об ошибке не будет повторяться при обновлении.

Любое предложение Добро пожаловать,

ТНХ

+1

'mysql_fetch_assoc' return array из набора результатов не общее количество строк. Вы можете использовать 'mysql_num_rows()' для получения количества строк. – Saty

+0

Thx для подсказки, но это не решает мою проблему ... – Greedy

+0

Можете ли вы разместить свой код формы ??? – Saty

ответ

0

Вы можете использовать mysql_num_rows(), чтобы получить количество строк.

$sql = mysql_query ("SELECT username FROM users WHERE username='".$uname."'"); 
$num = mysql_num_rows($sql); 
Смежные вопросы