zoenbo 发表于 2020-11-18 11:51

紧急求助~~PHP登录页面问题

本帖最后由 zoenbo 于 2020-11-18 14:52 编辑

尚未入门PHP瞎折腾,大佬们见笑了~ 做一个登录页面,但是怎么也登不了,也不知道问题出哪了,请求大佬们现身赐教~~{:1_893:}

<?php

header("Content-Type: text/html; charset=utf8");

$server="localhost";
$db_username="root";
$db_password="root";

$con = mysql_connect($server,$db_username,$db_password);
if(!$con){
die("can't connect".mysql_error());
}
mysql_select_db('test',$con);

if(!isset($_P0ST["submit"])){
    exit("错误执行");
}//检测是否有submit操作

include('conn.php');//链接数据库
$name = $_POST['name'];//post获得用户名表单值
$passowrd = $_POST['password'];//post获得用户密码单值

if ($name && $passowrd){//如果用户名和密码都不为空
       $sql = "select * from user where username = '$name' and password='$passowrd'";//检测数据库是否有对应的username和password的sql
       $result = mysql_query($sql);//执行sql
       $rows=mysql_num_rows($result);//返回一个数值
       if($rows){//0 false 1 true
          header("refresh:0;url=index.php");//如果成功跳转至index.php页面
          exit;
       }else{
      echo "用户名或密码错误";
      echo "
          <script>
            setTimeout(function(){window.location.href='login.php';},1000);
          </script>

      ";//如果错误使用js 1秒后跳转到登录页面重试;
       }
      

}else{//如果用户名或密码有空
      echo "表单填写不完整";
      echo "
         <script>
            setTimeout(function(){window.location.href='login.php';},1000);
         </script>";

            //如果错误使用js 1秒后跳转到登录页面重试;
}

mysql_close();//关闭数据库

?>

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登陆</title>
</head>
<body>
    <form name="login" action="login.php" method="post">
      <p>用户名<input type=text name="name"></p>
      <p>密 码<input type=password name="password"></p>
      <p><input type="submit" name="submit" value="登录"></p>
      </form>
</body>
</html>

无知灰灰 发表于 2020-11-18 12:04

首先,你接收到传入进来的账号和密码,需要先过滤一下,以免被注入。。。
然后,你通过数据库查询到用户了,还需要开启Session或Cookie来记录用户登录状态。。。
最后,我不太会PHP,但是你这问题,百度一下就能解决了。。。

zoenbo 发表于 2020-11-18 12:08

无知灰灰 发表于 2020-11-18 12:04
首先,你接收到传入进来的账号和密码,需要先过滤一下,以免被注入。。。
然后,你通过数据库查询到用户了 ...

这都是百度出来的 {:1_889:}

吓死宝宝了 发表于 2020-11-18 12:14

这么简单你不会?不是自己写的?对不起,我也不会!或者重新找一个源码试试吧!

被遗忘的路人 发表于 2020-11-18 12:16

$sql = "select * from user where username = '$name' and password='$passowrd'";

'$name' 这里不能直接使用, PHP 会翻译成字符串的 而不是变量, 如要要用必须要用 .连接, 后面没看,下班吃饭

DPP 发表于 2020-11-18 12:26

52pojie11023995 发表于 2020-11-18 12:28

PHP用.来拼接字符的。
$sql = "select * from user where username = '$name' and password='$passowrd'";//检测数据库是否有对应的username和password的sql
改为:
$sql = 'select * from user where username = '.$name.' and password='.$passowrd;//检测数据库是否有对应的username和password的sql

另外,要注意防注入。

zoenbo 发表于 2020-11-18 12:36

吓死宝宝了 发表于 2020-11-18 12:14
这么简单你不会?不是自己写的?对不起,我也不会!或者重新找一个源码试试吧!

不瞒你说 我换了十个源码试了 没一个能登上的

zoenbo 发表于 2020-11-18 12:41

52pojie11023995 发表于 2020-11-18 12:28
PHP用.来拼接字符的。
$sql = "select * from user where username = '$name' and password='$passowrd'"; ...

改了也是连不上 我想哭了,整整弄了一上午了 {:1_923:}

zoenbo 发表于 2020-11-18 12:42

DPP 发表于 2020-11-18 12:26
萌新为什么不选择thinkphp框架呢

我是蠢新,框架感觉太复杂了
页: [1] 2 3 4
查看完整版本: 紧急求助~~PHP登录页面问题