Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP创建一个简单的登录系统?_Php_Mysql_Login_Login System - Fatal编程技术网

如何使用PHP创建一个简单的登录系统?

如何使用PHP创建一个简单的登录系统?,php,mysql,login,login-system,Php,Mysql,Login,Login System,我的大学留下了一个任务,用PHP创建一个登录系统(显然,连接到数据库)。问题是我的注册页面没有保存发送到数据库的任何数据。我不知道这是为什么 这是我的密码: <html> <head> <link type="css/text" rel="StyleSheet" href="UniXYZ.css"/> <meta charset="UTF-8"/> <title>Registro</title> </head>

我的大学留下了一个任务,用PHP创建一个登录系统(显然,连接到数据库)。问题是我的注册页面没有保存发送到数据库的任何数据。我不知道这是为什么

这是我的密码:

<html>
<head>
<link type="css/text" rel="StyleSheet" href="UniXYZ.css"/>
<meta charset="UTF-8"/>
<title>Registro</title>
</head>
<body>
<?php
session_start();
$host="****";
$username="****"; 
$password="****"; 
$db_name="****"; 
$tbl_name="****"; 
mysqli_connect($host,$username,$password,$db_name)or die("cannot connect");
$email=$_POST['email'];
$password=$_POST['password'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)){
$sql="select 'Email' from 'USER' where 'Email'='$email'";
$result=mysqli_query($sql);
$count=mysqli_num_rows($result);
if($count>0){
echo ("<center><h1><font color='red'>El usuario<br><font color='blue'>".$email."<br><font color='red'>ya existe!<br><a href='index.php'>Inicio</a>");
}else{
$sql="INSERT INTO $tbl_name ('Email','PASS')VALUES('$email','$password')";
$result=mysqli_query($sql);
if($result){
header("location:InicioXYZ.php");
}else{
echo "ERROR MySql";
} 
mysqli_close();
}
}else{
echo"<center><h1><font color='red'>Error el mail ingresado no es v&aacute;lido<br><a href='index.php'>Inicio</a>";
}
?>
<img width="1300px" src="http://i.imgur.com/iOfMyLK.png"/>
<hr width="80%"/>
<div class="login">
<h3 class="h3">Datos Procesados</h3>
<div class="imglog"><img src="http://i.imgur.com/YcUAZHH.png"/></div><br><br><br><br>
<h4><a href="InicioXYZ.php" class="registrate">Pulsa aquí para regresar a la pagina de inicio.</a></h3>
</div>
</body>
</html>

登记处
错误
  • mysqli\u connect()
    应分配给变量

    $connect=mysqli_connect($host、$username、$db_password、$db_name)或die(“无法连接”)

  • 正如@sean建议更改查询一样

     $sql="select Email from USER where Email='$email'";
     $sql="INSERT INTO $tbl_name (Email, PASS) VALUES ('$email','$password')";
    
  • $result=mysqli\u查询($sql)
    应与数据库连接链接(
    $connect

  • $password
    在代码中分配两次

    $password="****";//change this
    $sql="INSERT INTO $tbl_name (Email,PASS) VALUES ('$email','$password')";
    
  • 读这个

  • 所以最终的井型代码是
    您对此做了什么调试?您应该在此代码@danielOne issue中添加一个登录表单-mysql表和列名不应该用单引号括起来。-<代码>从“用户”中选择“电子邮件”,其中“电子邮件”=“$Email”
    和&
    插入$tbl_name('Email','PASS')值('$Email','password')
    应该是
    从用户中选择电子邮件,其中电子邮件=“$Email”
    和&
    插入$tbl_name(Email,PASS)值('$Email','password')
    。我已经在我的服务器页面中写入了代码(字节主机…)并在我的浏览器中多次刷新页面..这么多事情…您正在使用用户提供的密码覆盖数据库密码;您的查询应该使用反勾号,而不是表名和列名周围的单引号;您可以接受SQL注入;您不应该以纯文本存储密码…等等。
    $password="****";//change this
    $sql="INSERT INTO $tbl_name (Email,PASS) VALUES ('$email','$password')";
    
    <?php
        session_start();
        $host="****";
        $username="****";
        $db_password="****";
        $db_name="****";
        $tbl_name="****";
        $connect = mysqli_connect($host,$username,$db_password,$db_name)or die("cannot connect");
    
        $email=$_POST['email'];
        $password=$_POST['password'];
        if (filter_var($email, FILTER_VALIDATE_EMAIL)){
            $sql="select Email from USER where Email='$email'";
            $result = mysqli_query($connect,$sql);
            $count=mysqli_num_rows($result);
            if($count>0)
            {
                echo ("<center><h1><font color='red'>El usuario<br><font color='blue'>".$email."<br><font color='red'>ya existe!<br><a href='index.php'>Inicio</a>");
            }else
            {
                $sql="INSERT INTO $tbl_name (Email,PASS) VALUES ('$email','$password')";
                $result=mysqli_query($connect,$sql);
                if($result){
                    header("location:InicioXYZ.php");
                }else{
                    echo "ERROR MySql";
                }
                mysqli_close($connect);
            }
        }else
        {
            echo"<center><h1><font color='red'>Error el mail ingresado no es v&aacute;lido<br><a href='index.php'>Inicio</a>";
        }
    ?>