php系统注册,登录脚本问题(求高手)
注册脚本:<body><?phpinclude("connect.php");if($_POST['username']&&$_POST['password']){$pw...
注册脚本:
<body>
<?php
include("connect.php");
if($_POST['username']&&$_POST['password']){
$pwd=md5($_POST['password']);
$Sql="insert into user(name,password) values('".$_POST['username']."','".$pwd."')";
mysql_query($Sql);
echo "恭喜您,注册成功!";
}
?>
<form action="user.php" method="post"/>
用户名:
<input type="text" name="username"/><br/>
用户密码:
<input type="password" name="password"><br/>
<input type="submit" name="submit" value="提交"/>
</body>
登录脚本:
<body>
<?php
session_start();
include("connect.php");
if ($_POST['name'] && $_POST['password']) {
$pwd=md5($_POST['password']);
echo $pwd;
$SQL = "SELECT `name`, `password` FROM `user` WHERE `name`='".$_POST['name']."' and `password`='".$pwd."'";
$query = mysql_query($SQL);
$array = mysql_fetch_array($query);
if ($array) {
$_SESSION['name'] = $_POST['name'];
$_SESSION['password'] = $pwd;
}
if ($_SESSION['name'] && $_SESSION['password']) {
echo "登陆成功!<br/>";
echo "用户名:$_SESSION[name]";
} else {
echo "用户名或密码错误";
}
}
?>
<form action="login.php" method="post"/>
用户名:<br/>
<input type="text" name="name"/><br/>
密码:<br/>
<input type="password" name="password"/><br/>
<input type="submit" name="submit" value="提交">
</body>
为什么注册成功以后无法登录?。。。总显示“用户名或密码错误” 展开
<body>
<?php
include("connect.php");
if($_POST['username']&&$_POST['password']){
$pwd=md5($_POST['password']);
$Sql="insert into user(name,password) values('".$_POST['username']."','".$pwd."')";
mysql_query($Sql);
echo "恭喜您,注册成功!";
}
?>
<form action="user.php" method="post"/>
用户名:
<input type="text" name="username"/><br/>
用户密码:
<input type="password" name="password"><br/>
<input type="submit" name="submit" value="提交"/>
</body>
登录脚本:
<body>
<?php
session_start();
include("connect.php");
if ($_POST['name'] && $_POST['password']) {
$pwd=md5($_POST['password']);
echo $pwd;
$SQL = "SELECT `name`, `password` FROM `user` WHERE `name`='".$_POST['name']."' and `password`='".$pwd."'";
$query = mysql_query($SQL);
$array = mysql_fetch_array($query);
if ($array) {
$_SESSION['name'] = $_POST['name'];
$_SESSION['password'] = $pwd;
}
if ($_SESSION['name'] && $_SESSION['password']) {
echo "登陆成功!<br/>";
echo "用户名:$_SESSION[name]";
} else {
echo "用户名或密码错误";
}
}
?>
<form action="login.php" method="post"/>
用户名:<br/>
<input type="text" name="name"/><br/>
密码:<br/>
<input type="password" name="password"/><br/>
<input type="submit" name="submit" value="提交">
</body>
为什么注册成功以后无法登录?。。。总显示“用户名或密码错误” 展开
展开全部
你的代码有很多小问题,我是根据你的代码改的。我没有测试所以不知到可以了没。
但是如果你要测试用户是否登录就应该用
if (isset($_SESSION['name']) && !empty($_SESSION['name'])) {
echo '登录了';
} else {
echo '未登录';
}
还有在mysql语句里面应该习惯性使用大写。还有记得要使用mysql_real_escape_string()来防止别人入侵网站(mysql injection)。
注册脚本:
<body>
<?php
include("connect.php");
if(isset($_POST['username'])&&isset($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
if (!empty($username) && !empty($password)) {
$password_hashed = md5($password);
$query="INSERT INTO user(name,password) values('".mysql_real_escape_string($username)."','".mysql_real_escape_string($password_hashed)."')";
if ($query_run = mysql_query($query)) {
echo 'Sucessfull Register!';
} else {
die(mysql_error());
}
} else {
echo 'Please fill in password and username.';
}
}
?>
<form action="user.php" method="POST" >
username:
<input type="text" name="username"/><br/>
password:
<input type="password" name="password"><br/>
<input type="submit" name="submit" value="submit"/>
</form>
</body>
登录脚本:
<body>
<?php
session_start();
include("connect.php");
if (isset($_POST['name']) && isset($_POST['password'])) {
$password = $_POST['password'];
$username = $_POST['name'];
if (!empty($password) && !empty($username)) {
$password_hashed = md5($password);
$query = "SELECT `name` FROM `user` WHERE `name` = '".mysql_real_escape_string($password)."' AND `password` = '".mysql_real_escape_string($password_hashed)."';";
if ($query_run = mysql_query($query)) {
$query_num_rows = mysql_num_rows($query_run);
if ($query_num_rows == 1) {
$name = mysql_result($query_run, 0, 'name');
$_SESSION['name'] = $name;
if (isset($_SESSION['name']) && !empty($_SESSION['name'])) {
echo 'Logged in!';
} else {
echo 'Failed to log in';
}
} else {
echo 'Username or password is not found.';
}
} else {
die(mysql_error());
}
} else {
echo 'Please fill in all the field before login';
}
}
?>
<form action="login.php" method="post"/>
username:<br/>
<input type="text" name="name"/><br/>
password:<br/>
<input type="password" name="password"/><br/>
<input type="submit" name="submit" value="submit">
</body>
但是如果你要测试用户是否登录就应该用
if (isset($_SESSION['name']) && !empty($_SESSION['name'])) {
echo '登录了';
} else {
echo '未登录';
}
还有在mysql语句里面应该习惯性使用大写。还有记得要使用mysql_real_escape_string()来防止别人入侵网站(mysql injection)。
注册脚本:
<body>
<?php
include("connect.php");
if(isset($_POST['username'])&&isset($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
if (!empty($username) && !empty($password)) {
$password_hashed = md5($password);
$query="INSERT INTO user(name,password) values('".mysql_real_escape_string($username)."','".mysql_real_escape_string($password_hashed)."')";
if ($query_run = mysql_query($query)) {
echo 'Sucessfull Register!';
} else {
die(mysql_error());
}
} else {
echo 'Please fill in password and username.';
}
}
?>
<form action="user.php" method="POST" >
username:
<input type="text" name="username"/><br/>
password:
<input type="password" name="password"><br/>
<input type="submit" name="submit" value="submit"/>
</form>
</body>
登录脚本:
<body>
<?php
session_start();
include("connect.php");
if (isset($_POST['name']) && isset($_POST['password'])) {
$password = $_POST['password'];
$username = $_POST['name'];
if (!empty($password) && !empty($username)) {
$password_hashed = md5($password);
$query = "SELECT `name` FROM `user` WHERE `name` = '".mysql_real_escape_string($password)."' AND `password` = '".mysql_real_escape_string($password_hashed)."';";
if ($query_run = mysql_query($query)) {
$query_num_rows = mysql_num_rows($query_run);
if ($query_num_rows == 1) {
$name = mysql_result($query_run, 0, 'name');
$_SESSION['name'] = $name;
if (isset($_SESSION['name']) && !empty($_SESSION['name'])) {
echo 'Logged in!';
} else {
echo 'Failed to log in';
}
} else {
echo 'Username or password is not found.';
}
} else {
die(mysql_error());
}
} else {
echo 'Please fill in all the field before login';
}
}
?>
<form action="login.php" method="post"/>
username:<br/>
<input type="text" name="name"/><br/>
password:<br/>
<input type="password" name="password"/><br/>
<input type="submit" name="submit" value="submit">
</body>
展开全部
$SQL = "SELECT `name`, `password` FROM `user` WHERE `name`='".$_POST['name']."' and `password`='".$pwd."'";
这个语句是错的。
前几天就回答你问题了,没空,现在我补充一下:
1、你的SQL语句错了。
2、你使用了SESSION($_SESSION),但是没有开启它
3、我觉得你写的太多了,我帮简略一下。
注册脚本:
<body>
<?php
include("connect.php");
if( isset($_POST['submit']) ){
$pwd=md5($_POST['password']);
$Sql="insert into user(name,password) values('{$_POST['name']}','$pwd')";
$reg=mysql_query($Sql);
if($reg){
echo "恭喜您,注册成功!";
}else
echo '注册失败,出错原因是:'.mysql_error();//提示出错SQL出错信息
}
?>
<form action="user.php" method="post"/>
用户名:
<input type="text" name="username"/><br/>
用户密码:
<input type="password" name="password"><br/>
<input type="submit" name="submit" value="提交"/>
</body>
登录代码:
<?php
session_start();//最为最上面,不要空格之类的,因为开启会话(session)才能使用session(每一个页面都要session_start,当然你服务器配置如果配过了session_auto.start=1,那就不用配置,具体你可以去查查php.ini这方面的设置)
?>
<body>
<?php
include("connect.php");//加入配置文件
if( isset($_POST['submit']) ){//如果按下了提交按钮
$pwd=md5($_POST['password']);
$SQL = "SELECT `name`,`password` FROM `user` WHERE `name`='{$_POST['name']}' and password`='$pwd'";//使用{}扣起来,表示被括起来的是一个整体。避免符号引起错误
$rs=mysql_query($SQL);//执行这个SQL语句
if($rs){//如果登录成功
$_SESSION['name'] = $_POST['name'];
$_SESSION['password'] = $pwd;
}else
echo '登录失败,出错原因是:'.mysql_errro();//显示出错信息
}
if(isset($_SESSION['name'])){//如果已经登录
echo $_SESSION['name'].'<br>';
echo '登录成功';//显示登录成功信息
}else{
ecoh '您还没有登录';
}
?>
<form action="login.php" method="post"/>
用户名:<br/>
<input type="text" name="name"/><br/>
密码:<br/>
<input type="password" name="password"/><br/>
<input type="submit" name="submit" value="提交">
</body>
这个语句是错的。
前几天就回答你问题了,没空,现在我补充一下:
1、你的SQL语句错了。
2、你使用了SESSION($_SESSION),但是没有开启它
3、我觉得你写的太多了,我帮简略一下。
注册脚本:
<body>
<?php
include("connect.php");
if( isset($_POST['submit']) ){
$pwd=md5($_POST['password']);
$Sql="insert into user(name,password) values('{$_POST['name']}','$pwd')";
$reg=mysql_query($Sql);
if($reg){
echo "恭喜您,注册成功!";
}else
echo '注册失败,出错原因是:'.mysql_error();//提示出错SQL出错信息
}
?>
<form action="user.php" method="post"/>
用户名:
<input type="text" name="username"/><br/>
用户密码:
<input type="password" name="password"><br/>
<input type="submit" name="submit" value="提交"/>
</body>
登录代码:
<?php
session_start();//最为最上面,不要空格之类的,因为开启会话(session)才能使用session(每一个页面都要session_start,当然你服务器配置如果配过了session_auto.start=1,那就不用配置,具体你可以去查查php.ini这方面的设置)
?>
<body>
<?php
include("connect.php");//加入配置文件
if( isset($_POST['submit']) ){//如果按下了提交按钮
$pwd=md5($_POST['password']);
$SQL = "SELECT `name`,`password` FROM `user` WHERE `name`='{$_POST['name']}' and password`='$pwd'";//使用{}扣起来,表示被括起来的是一个整体。避免符号引起错误
$rs=mysql_query($SQL);//执行这个SQL语句
if($rs){//如果登录成功
$_SESSION['name'] = $_POST['name'];
$_SESSION['password'] = $pwd;
}else
echo '登录失败,出错原因是:'.mysql_errro();//显示出错信息
}
if(isset($_SESSION['name'])){//如果已经登录
echo $_SESSION['name'].'<br>';
echo '登录成功';//显示登录成功信息
}else{
ecoh '您还没有登录';
}
?>
<form action="login.php" method="post"/>
用户名:<br/>
<input type="text" name="name"/><br/>
密码:<br/>
<input type="password" name="password"/><br/>
<input type="submit" name="submit" value="提交">
</body>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$array = mysql_fetch_array($query);
改成:
$array = mysql_fetch_assoc($query);
就没问题了。
改成:
$array = mysql_fetch_assoc($query);
就没问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不会,我是来混的。。呵呵呵。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询