Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.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_Login - Fatal编程技术网

php登录代码不工作

php登录代码不工作,php,login,Php,Login,所以我用php为登录页面编写了这段代码 <?php function SignIn() { session_start(); //starting the session for user profile page if(!empty($_POST['username'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text {

所以我用php为登录页面编写了这段代码

<?php 
function SignIn() {
    session_start(); //starting the session for user profile page
    if(!empty($_POST['username'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text 
    {
        $query = mysql_query("SELECT * FROM register where Username = '$_POST[username]' AND Password = '$_POST[password]'") or die(mysql_error()); 
        $row = mysql_fetch_array($query) or die(mysql_error());
        if(!empty($row['Username']) AND !empty($row['Password'])) { 
            if($password = $row['Password']) {
                $_SESSION['Username'] = $row['Password'];
                echo "welcome    ".$row['Name']; 
            }
            if ($password != $row['Password']) {
                echo "Something went wrong!" ;
            }
        }
    }
}

if(isset($_POST['submit'])) {
        SignIn(); 
}
?>

您似乎遗漏了一个=符号:

 if($password = $row['Password'])
因此,你不是在做比较,而是在做作业。我希望这应该是:

 if($password == $row['Password'])
试试这个

function SignIn() { 
 session_start(); //starting the session for user profile page
  if(!empty($_POST['username'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text 
  {
   $query = mysql_query("SELECT * FROM register where Username = '$_POST[username]' AND Password = '$_POST[password]'") or die(mysql_error()); 
   $row = mysql_fetch_array($query) or die(mysql_error());
    if(!empty($row['Username']) && !empty($row['Password'])) { 
        if($password == $row['Password'])
        {
            $_SESSION['Username'] = $row['Password'];
             echo "welcome   ".$row['Name']; 

        }
         else
            echo "Something went wrong!" ;
     }

    }

     }

第二个if条件必须在第一个if条件之外

您还将密码分配给
$\u会话['Username']
,而不是
$row['Username']
。我编辑了代码。。见下文

<?php 
    function SignIn() {
        session_start(); //starting the session for user profile page
        if(!empty($_POST['username'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text 
        {
            $query = mysql_query("SELECT * FROM register where Username = '$_POST[username]' AND Password = '$_POST[password]'") or die(mysql_error()); 
            $row = mysql_fetch_array($query) or die(mysql_error());

            if(!empty($row['Username']) AND !empty($row['Password'])) { 
            if($_POST['password'] = $row['Password'])
            $_SESSION['Username'] = $row['Username']; 
            echo "welcome   ".$row['Username']; 
            }

             if ($_POST['password'] != $row['Password']) {
               echo "Something went wrong!" ;
            }
        }
    }

    if(isset($_POST['submit'])) {
            SignIn(); 
    }


    ?>

如果
语句正在将
$password
设置为
$row['password']
值,则您的第一个

if($password = $row['Password'])
当第二条if语句启动时,
$password
$row['password']
相同,条件为false:

if($password != $row['Password'])
解决方案是将第一个if语句更改为比较的equals:

if($password == $row['Password'])
注意有两个
=
符号?这告诉PHP检查它们是否都是相同的值