简体   繁体   English

登录页面表单,将空字符串返回到php脚本

[英]Log in page form returning empty string to php script

I am creating and application with PHP and MySQL. 我正在使用PHP和MySQL创建和应用程序。 I have created two pages. 我已经创建了两个页面。 Index.php and login.php (which holds the script for the user log in) Index.php和login.php(包含用于用户登录的脚本)

Every time I enter a user that is on the database to log in, it does return that there was no text entered. 每次我输入要在数据库上登录的用户时,它都会返回没有输入任何文本的信息。 I am new at this and I will really appreciate some help. 我是新手,我将非常感谢您的帮助。 Here is my code. 这是我的代码。 Thanks in advance 提前致谢

index.php index.php

<html>
    <head>
        <meta charset="UTF-8">
        <title>Pet Service Catalogue</title>
    </head>
    <body>
       <h1 style="text-align:center;"><img src="cat's paw.jpg" width="150" height="150" alt="cat's  paw"/> Welcome to Pet Service Catalogue</h1>
        <p style="text-align:center;">Please enter your Log in Details:</p>

        <form style ="text-align:center;" name="LogIN" action="log_in.php" method="POST" enctype="multipart/form-data">
        <p style="text-align:center;"> Email: <input type="text" name="user_email" value=""/></p>
        <p style="text-align:center;"> Password: <input type="password" name="user_password" value="" /></p>
        <input type="submit" value="Log In" name="LogIN" />
        </form>
        <form style="text-align:center;" name="registerprovider" action="registerprovider.php">
        <p style="text-align:center;">Not Registered?:</p>
        <input type="submit" value="Register Service Provider" name="Register Service Provider"  />
        </form>
        <form style="text-align:center;" name="registerowner" action="registerowner.php">
        <input type="submit" value="Register Pet Owner" name="Registerownerbutton" />
        </form>
    </body>
</html>

login.php login.php

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>

        <?php
// Create connection
        $con = mysqli_connect('localhost', 'root', 'root', 'PetServiceCatalogue') or die("Failed to connect to database:" . mysqli_error($con));


        //Get user details and put them on varaiables
         $user_email = mysqli_real_escape_string($_POST['user_email']);
         $user_password = mysqli_real_escape_string($POST['user_password']);

         if (!empty($user_email) && !empty($user_password))
         {
   //look up for user details on the database
    $query = "SELECT * FROM owner, provider WHERE email = '$user_email' AND password = SHA('$user_password') ";
    $data = mysqli_query($con, $query);
    $result = mysqli_num_rows($data);
    printf("Number of rows %d \n", $result);
    if ($result == 1) {
        //The log in has found the user
        $row = mysqli_fetch_array($data);
        $user_email = $row('email');
        $user_password = $row('password');
        header("location: ownerhomepage.php");
    } else {
        //the user name or password are incorrect
        echo "Wrong user email and password";
    }
    }
    else
    {

        echo ' You must enter the user email and user password';
        ?>
    <form name="back to index" action="index.php">
        <input type="submit" value="Back to Log in page" name="Back to Log in page" /> </form>
    <?php
    }
    mysqli_close($con);
    ?>
   </body>
 </html>

You have the action: action="log_in.php" but you've written its name is login.php 您有操作: action="log_in.php"但您已将其写为login.php

EDIT 编辑

Maybe you should try this as the first if statement: 也许您应该尝试将其作为第一个if语句:

if (trim($user_email)!="" && $user_password!=""){
//YOUR CODE
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM