2015-05-09 2 views
0

У меня есть кнопка Войти типа подают на странице 1. перенаправляет на страницу 2.Войти Форма перенаправлять

  • , если поле имени пользователя введен правильно (существует в базе данных), я хочу, чтобы перейти к страницу с приветственным пользователем и некоторыми другими кнопками.

  • еще перейти на страницу с Access Denied и ссылка на страницу 1 снова

СТР 1:

<!DOCTYPE html> 
<html> 
<head> 

</head> 
<body style="background-color:lightgrey"> 

    <form name="input" action="page2.php" method="post"> 
Username:<br/> <input type="text" name="username" /> <br /> 

Password: <br/> <input type="text" name="password" /> <br /> 

    <input type="submit" value="Log in" /> 
    </form> 

     </form> 
    </body> 
</html> 

Page 2:

<?php 

    $con = mysql_connect("localhost","root","111"); 
    if (!$con) 
    {die('Could not connect: ' . mysql_error()); 
    } 

    mysql_select_db("trial", $con); 


$usertext=$_POST["username"]; 

$passwordtext=$_POST["password"]; 

$myusers = mysql_query("SELECT Username FROM users", $con); 


$found=0; 
while($row = mysql_fetch_array($myusers)) 
{ 
if($usertext== $row['Username']) 
{ 

    $found=1; 
} 

} 

if($found==1) 
{ 

//GO TO ANOTHER PAGE???? 


} 
else 
{ //GO TO ANOTHER PAGE???? 
echo "FAIL"; 

    } 

    mysql_close($con); 



?> 
+0

Каков ваш вопрос? Как перенаправить браузер на другую страницу? – ilikesleeping

+0

В чем ваш вопрос? – Tim

+0

Я не могу поместить тег формы с кнопками внутри него в php-части .. – CodeX

ответ

1

Вы можете использовать

header("Location: http://www.example.com/"); 
+0

до точки и работал! благодаря ! – CodeX

+0

Если вы будете показывать некоторые ** личные ** данные ТОЛЬКО для зарегистрированных пользователей, пожалуйста, прочитайте мой ответ - это сэкономит ваше время, вытягивая волосы с головы – Toumash

0

Не перейдите только с переадресацией, потому что любой может ввести второй URL-адрес страницы в адресной строке браузера.
Если вы должны убедиться, что данные, которые вы показываете на второй странице, защищены, отображаются только для зарегистрированных пользователей, которые используют сеансы - добавьте session_start(); при запуске скрипта.
Если логины правильно сделать: $_SESSION['logged']=true; иначе: $_SESSION['logged']=false;

На втором использовании session_start(); страницу еще раз. Затем проверьте, зарегистрирован ли пользователь, проверив переменную $_SESSION['logged'].

if($_SESSION['logged']==true){ 
    echo 'private data'; //or include some file for example require 'data.html'; 
}else{ 
    session_destroy(); 
    unset($_SESSION); 
    echo 'go, and login again!'; 
} 

Кроме того, вы, вероятно, следует перенаправить пользователя на странице входа в частных данных, если он уже зарегистрирован:

if($_SESSION['logged']==true){ 
    header('Location: second_form.php'); 
} 

Другое дело с сниппета в том, что вы никогда не проверить правильный пароль :> OK, другое НАРУШЕНИЕ БЕЗОПАСНОСТИ является

usertext=$_POST["username"]; 

$passwordtext=$_POST["password"]; 

Пожалуйста, дезинфицировать ваш вклад. Любой может привести к повреждению базы данных без него (SQL Injection) - сделать это таким образом:

usertext=mysql_real_escape_string($_POST["username"]); 

$passwordtext=mysql_real_escape_string($_POST["password"]); 
+0

благодарит за полезную информацию – CodeX

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