2015-05-09 161 views
0

我有类型的登录按钮1.它重定向页面上提交给第2页登录表单重定向

  • 如果输入的用户名域是正确的(存在于数据库中),我想去一个带有欢迎用户和其他按钮的页面。

  • 否则转到一个页面,访问被拒绝,并链接到页面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> 

第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