有人可以在我的PHP代码中找到错误

时间:2013-12-26 05:26:15

标签: php mysql

过去5个小时,我一直在寻找我的php和mysql中的错误。我不知道我做错了什么,或者我的mamp是否有问题。我认为这可能是我的mamp的一个问题。这是我认为问题将会发生的地方。但问题是,现在每个页面都是空白的。感谢。

网站/型芯/的init.php

   <?php
    session_start();
     error_reporting(0);

     require 'database/connect.php';
     require 'database/general.php';
      require 'functions/users.php';

      $errors = array();
    ?>

网站/型芯/功能/ users.php

    <?php
    function user_exists($username) {
        $username = sanitize($username);
        $query = mysql_query("SELECT COUNT('user_id') FROM 'users' WHERE 'username' = '$username'");
        return (mysql_result($query, 0) == 1 ) ? true : false;
    }
    ?>

网站/包括/部件/登录

        <aside>         
            <div class = "rightsidebar">
                <h2>Log in/Register</h2>
                <form action = "login.php" method = "post">
                    <ul id = ".login">
                        <li>
                            Username:<br>
                            <input type = "text" name = "username">
                        </li>
                        <li>
                            Password:<br>
                            <input type = "password" name = "password">
                        </li>
                        <li>
                            <input type = "submit" value = "Log In">
                        </li>                                                       
                        <li>
                            <a href = "register.php"><p>Register</p></a>
                        </li>                       
                    </ul>
                </form>
            </div>
        </aside>

网站/型芯/数据库/ connect.php

    <?php
    mysql_connect('localhost', 'root', 'root');
    mysql_select_db('lr');
    ?>

网站/型芯/功能/ general.php

    <?php
        function sanitize($data) {
            return mysql_real_escape_string($data);
        }

    ?>

网站/ login.php中

    <?php
    include 'core/init.php';

    if (user_exists('ben') === true) {
        echo 'exists';
    }
    die();

    if(empty($_POST) === false) {

        $username = $_POST['username'];
        $password = $_POST['password'];

        if(empty($username) === true | | empty($password) === true) {
            $errors[] = 'You need to enter a username and password';
        } else if (user_exists($username) === false) {
            $errors[] = 'We ca\'nt find that username. Have you registered?';
        }

    }
    ?>

3 个答案:

答案 0 :(得分:0)

在查询表中,名称和列名不应包含'(quot)。您可以使用`或不使用任何内容。

$query = mysql_query("SELECT COUNT(user_id) FROM users WHERE username = '$username'");

答案 1 :(得分:0)

请从第一个包含的文件require 'database/connect.php';开始跟踪您的错误。 连接后尝试or die(mysql_error());,选择数据库和查询。 尝试在其余文件中使用echo 'a'; echo 'b'; echo 'c';来捕捉dieerror到底发生的位置。 尝试回显您的$_POST数据以检查它是否成真。 尝试检查浏览器中的network panel以捕获发生该错误的请求。

答案 2 :(得分:0)

login.php中的语法错误。 OR运算符语法之间不允许有空格。

if(empty($username) === true | | empty($password) === true) {

应该是

if(empty($username) === true || empty($password) === true) {