2012-06-06 3 views
-1

Может ли кто-нибудь объяснить мне, как проверить и зарегистрировать имя пользователя и пароль на одной странице?Проверка подлинности PHP на той же странице?

Как я могу отправить сообщение «неправильное имя пользователя и пароль» в форме?

Заранее благодарен.

Проверить Вход

$result=mysql_query($sql); 
$count=mysql_num_rows($result); 

// If result matched $myusername and $mypassword, table row must be 1 row 
if($count==1){ 
    // Register $myusername, $mypassword and redirect to file "login_success.php" 
    session_register("myusername"); 
    session_register("mypassword"); 
    header("location:login_success.php"); 
} 
else { 
    echo "Wrong Username or Password"; 

ФОРМА

<form class="clearfix" name="form1" method="POST" action=""> 
+3

Вы можете начать глядя учебники http://www.phpeasystep.com/phptu/6.html – fluminis

+0

Вы должны использовать метод Ajax для отправки данных на сервер. –

+0

@fluminis вы могли бы найти учебник, который использует pdo? :) –

ответ

2

Установите действие формы для текущего файла .php. В скрипте убедитесь, что вы уже отправили форму (например, кнопка отправки имеет значение в $_POST)

Если есть ответ, действуйте с кодом входа. Если нет, создайте новую переменную, например $errorMessage. Повторите это сообщение об ошибке где-нибудь в форме. (Если это первый раз, когда пользователь загружает скрипт, в этой переменной ничего не будет, поэтому он ничего не отобразит.)

Было бы более элегантно, если бы вы положили эхо $ errorMessage в оператор if с некоторыми <div> или любым другим, что вы хотели бы использовать для этой задачи.

0

действительно основы

if(isset($_POST["submit"])){ 
    // user have submitted the form , proceed checking username/password and then start session 
    }else{ 
    // display login form 
    } 
+0

Это вызовет неопределенное изменение переменной ... –

+0

true added isset(), чтобы избежать этого – Gntem

0

Для отображения ошибки сделать переменную $error = "Wrong Username or Password";

Затем в нижней части формы просто написать:

if(isset($error)) { 
    echo $error; 
} 
0

Используйте isset и isempty для проверки возвращенных данных.

if(isset($_POST["formvariable"])) 
{ } 

также в действии изменения поля формы для "currentfilename.php"

0

я предложить метод Ajax. Конечный результат намного чище.

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