php - 在 PHP 中使用电子邮件和密码注册后无法登录

标签 php jquery mysql

这是我的注册代码。

 <?php
              include_once('config.php');
                 $uname=mysql_real_escape_string($_POST["fname"]);
              $email = mysql_real_escape_string( $_POST["email"] );
              $phone=mysql_real_escape_string($_POST["phone"]);
              $country = mysql_real_escape_string( $_POST["country"] );
              $region = mysql_real_escape_string( $_POST["region"] );
              $zip = mysql_real_escape_string($_POST["zip"]) ;
              $upass = mysql_real_escape_string( md5($_POST["password"]) );



              if( empty($uname) || empty($email) || empty($phone) || empty($country) || empty($region) || empty($zip) || empty($upass)  )
              {
                echo "all fields are mandatory - from PHP!";
                exit();
              }


         $res = mysql_query("SELECT email FROM registration WHERE email='$email'");
              $row = mysql_num_rows($res);

              if( $row > 0 ){
                echo "email $email has already been taken";
              }
              else
              {
                  $sql = mysql_query("INSERT INTO registration (fname,email,phone,country,region,zip,password)VALUES(
                                                   '$uname', 
                                                   ' $email', 
                                                   '$phone', 
                                                   '$country',
                               '$region',
                               '$zip',
                               '$upass' )");

                if($sql){
                 echo "Inserted Successfully";
                }
               else
                 echo "Insertion Failed";
            }
        ?>

这是我的登录 php 代码....

<?php
session_start();
        include_once('config.php');
        $email = mysql_real_escape_string( $_POST["email"] );
        $password = mysql_real_escape_string( md5($_POST["password"]) );

        if( empty($email) || empty($password) ){
            echo "Email and Password Mandatory ";
        }
        else
        {
            $sql = mysql_query("SELECT fname FROM registration WHERE(
                       email='$email' 
                    AND 
                    password='$password')");
            while($row = mysql_fetch_array($sql)){
                $_SESSION['user_name'] =  $row['fname'];
            }
                //$res = mysql_query($sql);
        //$row = mysql_fetch_array($res);
        if( $_SESSION['user_name']!= '' )
         echo "<script>location.href='../index.php?con=1'</script>";
        else
         echo "Failed To Login";
        }       
?>

登录后报错...

注意:未定义索引:C:\xampp\htdocs\cinderella\php\login.php 中第 21 行的 user_name 登录失败//

** 此问题的任何线索都非常值得赞赏...谢谢 **

最佳答案

检查您的插入查询,$email 字段中有一个空格。

$sql = mysql_query("INSERT INTO registration (fname,email,phone,country,region,zip,password)VALUES(
                           '$uname', 
        WHITESPACE ------> ' $email',
                           '$phone', 
                           '$country',` 

关于php - 在 PHP 中使用电子邮件和密码注册后无法登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36590290/

相关文章:

MySql对多个字段进行分组

php - 如何使用php在网页上的单个查询中显示多个表

php - 自定义 Woocommerce 添加到购物车在 Firefox 中不起作用,但在 Chrome 中不起作用

asp.net-mvc - 将自定义错误从 JsonResult 方法返回到 ajax post 错误函数,并将其显示在验证摘要下

javascript - 如何使用jquery隐藏父元素?

MySQL获取每个用户的图书数量

javascript - 如何使用ajax从一个php页面获取数据并使用ajax将其传递到另一个php页面

javascript - 在 Google Chrome 中将 '?' 编码为 '%3F' 时出错

php - dns_get_record 查询失败

jquery - 如果用作 $(this) 如何使用 Jasmine 测试 jQuery $ ("#element-id")