0

Just Trying Hands in PHP 从 web 复制了一个登录脚本。但是它将进入 logincheck.php 页面,显示为空白。这是完整的脚本

登录.html

<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<meta name="author" content="" />

<title>Simple login</title>
</head>

<body>

<div id="login">
<h2>Simple login with PHP MYSQL</h2>
<form action="logincheck.php" method="post">
<p> Username <label><input type="text" name="uname" /></label></p>
    <p> Password <label><input type="password" name="passwd" /></label></p>
<label><input type="submit" name="submit" value="Login" /></label>
</form>
</div>

</body>
</html>

登录检查.php

<?php

/**
* @author 
* @copyright 2013
*/

$con=mysql_connect("localhost","root","")or die("Cannot connect to databases!");
mysql_select_db("fakebook",$con);

$u=$_POST['uname'];
$p=md5($_POST['passwd']);
$query=mysql_query("
     select * from users where username='$u' and password='$p'
    ");
$row=mysql_num_rows($query);
if ($row == 1)
{
    session_start();
    $a=mysql_fetch_array($query);
    $_SESSION['user']=$a['username'];
    header("location: home.php");
}
else
{
    header("location: login.html");
}

?>

主页.php

<?php

/**
* @author 
* @copyright 2013
*/



session_start();
if (isset($_SESSION['user'])){
    echo "Welcome,".$_SESSION['user']."<br />
                [ <a href=\"logout.php\">Logout</a> ]";
}else{
    echo "You are not authorized into this page!";
}
?>

注销.php

<?php

/**
* @author 
* @copyright 2013
*/

session_start();
if (isset($_SESSION['user'])){
    session_destroy();
    header("location: login.html");
}
else{
    header("location: login.html");
}

?>

数据库名:fakebook,表名:users

4

3 回答 3

0

首先,您应该将此代码放在 checklogin.php 页面的顶部,以查看是否有任何错误:

error_reporting(E_ALL);
ini_set('display_errors', '1');

完成后检查是否有错误。

我还注意到在您的 HTML 表单中它重定向到 logincheck.php 但您将文件命名为 checklogin.php

于 2013-05-29T12:46:10.180 回答
0

http://php.net/manual/en/function.header.php header('位置:http ://www.example.com/ '); 它是大写 L 而不是 l 。可能是这个问题。而且这个脚本不好/不安全(没有转义字符串等)。你也在使用 mysql 而不是 mysqli,

于 2013-05-29T12:42:44.463 回答
0

您的登录表单指向logincheck.php. 不应该指向checklogin.php吗?

如果是这样,改变这个:

<form action="logincheck.php" method="post">

对此:

<form action="checklogin.php" method="post">
于 2013-05-29T12:58:09.553 回答