过去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?';
}
}
?>
答案 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';
来捕捉die
或error
到底发生的位置。
尝试回显您的$_POST
数据以检查它是否成真。
尝试检查浏览器中的network panel
以捕获发生该错误的请求。
答案 2 :(得分:0)
login.php中的语法错误。 OR运算符语法之间不允许有空格。
if(empty($username) === true | | empty($password) === true) {
应该是
if(empty($username) === true || empty($password) === true) {