2015-06-14 5 views
0

Я пытаюсь создать форму для входа.перенаправление на другую страницу при нажатии кнопки отправки

Я хочу показать сообщения об ошибках на одной странице после того, как пользователь нажал кнопку отправки.

Если пользователь зарегистрировался в системе с правильной информацией, он должен перейти на индексную страницу.

Это код, который я написал, но он не работает - он будет на той же странице каждый раз.

<?php 

if (isset($_POST['login'])) { 
$uname = $_POST['uname']; 
$pass = $_POST['pass']; 

$query = mysql_query("select *from user where username='$uname'") or die(mysql_error()); 
$numrows = mysql_num_rows($query); 

if ($numrows != 0) { 
while ($row = mysql_fetch_assoc($query)) { 
$dbuname = $row['username']; 
$dbpassword = $row['password']; 
$status = $row['status']; 
} 
if ($status == 0) { 
?> 
<div class="alert alert-danger" style="text-align: center ; font-size: 17px;" role="alert">Your account is not yet activated.Please check your email to activate account.</div> 
<?php 

} else if ($uname == $dbuname && $pass == $dbpassword) { 

$_SESSION['username'] = $uname; 
header('Location: index.php'); 

?> 

<?php 

} else { 
?> 
<div class="alert alert-danger" style="text-align: center ; font-size: 17px;" role="alert">Incorrect Password.</div> 
<?php 
} 
} else { 

?> 
<div class="alert alert-danger" style="text-align: center ; font-size: 17px;" role="alert">Incorrect Username.</div> 
<?php 
} 
} 



?> 

<form name="add" action="login-jobseeker.php" method="post" enctype="multipart/form-data" > 
<table class="table "> 
<tr> 
<td>Username</td> 
<td> 
<input type="text" required name="uname" class="form-control col-lg-12 " placeholder="Title"> 
</td> 

</tr> 

<tr> 
<td>Password</td> 
<td> 
<input type="password" required name="pass" class="form-control col-lg-12 " placeholder="Name"> 
</td> 
</tr> 
<tr> 
<td></td> 
<td> 
<a href="register.php?type=<?php echo $type ?>" >Register for a free account</a> 
</td> 
</tr> 
<tr> 
<td></td> 
<td> 
<a href="forget.php" >Forget Password??</a> 
</td> 
</tr> 

<tr> 
<td></td> 
<td> 
<input type="submit" name="login" class="btn btn-primary" value="Login"> 
</td> 
</tr> 
</table> 
</form> 

Как решить эту проблему?

ответ

0

Я думаю, что вы перенаправляетесь на эту страницу в своем виде-действии.

<form name="add" action="login-jobseeker.php" method="post" enctype="multipart/form-data" > 

Укажите, куда вы хотите перейти в действие.

+0

благодарит за ответ. да, я хочу перенаправить на ту же страницу, если есть какая-либо ошибка .error должен отображаться на той же странице. Но если логин будет успешным, он должен перенаправить на индексную страницу. – user5008468

+0

Попробуйте добавить это в конце вашего PHP-кода: header ('Location : nextpage.php '); – user3106974

0

значение действия удалить

<form name="add" action="" method="post" enctype="multipart/form-data" > 
+0

спасибо за ответ. Попробуйте это. я получил следующую ошибку msg «Предупреждение: не могу изменить информацию заголовка», потому что я уже отправляю заголовок при выходе пользователя из системы. Есть ли другие методы, которые я могу использовать? – user5008468

0

Вы можете попробовать следующий метод, где вы инициирующая яваскрипта функцию при нажатии на кнопку отправки.

<input type="submit" name="login" class="btn btn-primary" value="Login" onclick="validate_submit()"> 

function validate_submit(){ 
    if(INFORMATION_CORRECT){ 
     // perform login and redirection 
     window.location.href = YOUR_POSTLOGIN_URL; 
    }else{ 
     // show error either using alert() function or display with div 
     return false; 
    } 
} 

Этот метод не работает, если в браузере отключен javascript.

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