Php 会员网页

Php 会员网页,php,login,membership,Php,Login,Membership,我们正在尝试创建一个会员登录页面 这是我的密码 main\u登录 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Untitled

我们正在尝试创建一个会员登录页面

这是我的密码

main\u登录

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Page</title>
</head>
<body>
    <form name="form1" method="post" action="checklogin.php">
    <table style="width:300px;border:0;text-align:center;background-color:#CCCCCC">
        <tr>
            <td>
                <table style="width:100%;background-color:#FFFFFF;border:0;">
                    <tr>
                        <td colspan="3"><strong>Member Login </strong></td>
                    </tr>
                    <tr>
                        <td style="width:78px">Username</td>
                        <td style="width:6px">:</td>
                        <td style="width:294px"><input name="myusername" type="text" id="myusername"></td>
                    </tr>
                    <tr>
                        <td>Password</td>
                        <td>:</td>
                        <td><input name="mypassword" type="text" id="mypassword"></td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                        <td><input type="submit" name="Submit" value="Login"></td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
    </form>
</body>
</html>

无标题页
会员登录
用户名
:
密码
:
checkLogin.php

<?php
$dbhost = 'localhost';
$dbuser = 'myuse';
$dbpass = 'myPassword';
$dbname = 'myDbName';

// This is an example opendb.php
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die  ('Error connecting to mysql');
mysql_select_db($dbname);


// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM myTable WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$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['myusername'] = $myusername;
$_SESSION['mypassword']   = $mypassword;
$_SESSION['LoggedIn'] = 1; 
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
<?php
session_start();
if(!empty($_SESSION['Username']))  
  {  }
 else
  {header("location:main_login.php");}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
// Check if session is not registered , redirect back to main page. // Put this
code in first line of web page.
<html>
<body>
    Login Successful
</body>
</html>

login\u success.php

<?php
$dbhost = 'localhost';
$dbuser = 'myuse';
$dbpass = 'myPassword';
$dbname = 'myDbName';

// This is an example opendb.php
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die  ('Error connecting to mysql');
mysql_select_db($dbname);


// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM myTable WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$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['myusername'] = $myusername;
$_SESSION['mypassword']   = $mypassword;
$_SESSION['LoggedIn'] = 1; 
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>
<?php
session_start();
if(!empty($_SESSION['Username']))  
  {  }
 else
  {header("location:main_login.php");}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
// Check if session is not registered , redirect back to main page. // Put this
code in first line of web page.
<html>
<body>
    Login Successful
</body>
</html>

//检查会话是否未注册,重定向回主页。//把这个
网页第一行的代码。
登录成功
我试图使login_success.php仅对成员可见,但我只重定向到main_login.php

我认为我没有将会话发送到login_success.php

有人能帮忙吗?求你了

谢谢。

嗯,最大(也是唯一)的问题可能是,在登录时,您在$\u会话数组中设置了以下键:

$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword']   = $mypassword;
$_SESSION['LoggedIn'] = 1; 
但你要检查不同的一个:

$_SESSION['Username']
最大(也是唯一)的问题可能是,在登录时,您在$\u会话数组中设置了以下键:

$_SESSION['myusername'] = $myusername;
$_SESSION['mypassword']   = $mypassword;
$_SESSION['LoggedIn'] = 1; 
但你要检查不同的一个:

$_SESSION['Username']

checkLogin.php
页面中,您将用户名存储在
$\u会话['myusername']
中,在
login\u success.php
页面中,您将检查
$\u会话['username']
是否存在。更改其中一个,使它们都相同,这应该可以解决您的问题。

checkLogin.php
页面中,您将用户名存储在
$\u会话['myusername']
中,在
登录成功.php
页面中,您将检查
$\u会话['username']
是否存在。改变一个或另一个,使它们都相同,这将解决您的问题。

谢谢,我不敢相信我错过了这一点。这足够安全吗?谢谢。安全性总是一个有趣的问题。php会话是维护某人登录状态的全部功能。需要注意的一点是,如果通过不安全连接(非ssl)访问您的站点,则用户名/密码将通过纯文本发送到服务器。如果攻击者能够查看该内容(例如星巴克的wireshark),他们很容易获得对您网站的未经授权访问。如果你真的担心安全性(不仅仅是隐藏用户名和密码,还有更多的功能),可以使用SSL。谢谢你,我不敢相信我错过了。这足够安全吗?谢谢。安全性总是一个有趣的问题。php会话是维护某人登录状态的全部功能。需要注意的一点是,如果通过不安全连接(非ssl)访问您的站点,则用户名/密码将通过纯文本发送到服务器。如果攻击者能够查看该内容(例如星巴克的wireshark),他们很容易获得对您网站的未经授权访问。如果您真的担心安全性(具有比隐藏用户名和密码更多的功能),可以使用SSL