【发布时间】:2019-06-15 13:28:51
【问题描述】:
(所以首先我是一名高中生,所以不是最擅长使用术语,所以尽量指导而不是告诉你是否可以)当使用插入将数据从网站放入我的数据库时,它似乎可以工作但数据库中没有出现任何内容,但没有错误代码。
我正在使用 Mysqli、PHP 和 Wampserver 运行本地服务器,网站不会将数据发送到数据库。
<?php
include 'connect.php';
include 'header.php';
?>
Sign Up<br>
<form method="post" action="">
Username: <input type="text" name="user_name"><br>
password: <input type="password" name="user_pass"><br>
password <Check: input type="password" name="user_pass_check"><br>
Email: <input type="text" name="user_email"><br>
<input type="submit" value="Register">
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$sql = "INSERT INTO users(user_name, user_pass, user_email) VALUES('".mysqli_real_escape_string($con, $_POST['user_name'])."', '".sha1($_POST['user_pass'])."', '".mysqli_real_escape_string($con, $_POST['user_email'])."', NOW(), 0)";
$result = mysqli_query($con, $sql);
if (!$result) {
echo 'Something went wrong';
echo mysqli_error($con);
} else {
echo "you have successfully registered. you can now <a href='signin.php'>sign in</a> and start posting";
}
}
}
include 'footer.php'?>
在我用于连接的文件中
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$dbname = 'seqevents';
$con = new mysqli($host, $user, $pass, $dbname) or die("cannot connect");
session_start();
if (!isset($_SESSION['user_level'])) {
$_SESSION['user_level'] = 0;
}
我没有收到任何错误消息,网站上什么也没有发生,它只是重新加载并删除文本框中的任何输入。
【问题讨论】:
-
似乎很清楚您的代码甚至没有达到您的条件。我建议转出
$_SERVER['REQUEST_METHOD']看看它是否符合您的期望。调试的一个好习惯是,当您不确定自己为什么没有到达某个地方时,转储出应该让您到达那里的变量(或设置 XDebug,尽管这可能有点复杂)。 -
你有一个额外的
}挂在第一个文件中。