我正在建立完全有组织的注册表单,试图将信息发送到我的MySQL数据库服务器中。我的代码不起作用,无法查明弹出消息您已注册!
我尝试了几种选择,但是它们都无法在服务器上使用
<?php
if (array_key_exists('email', $_POST) or array_key_exists('password', $_POST)) {
// So I'm guessing here need to some additions of based my own inclinatios.
我的代码
<?php
if (array_key_exists('email', $_POST) or array_key_exists('password', $_POST)) {
$link = mysqli_connect("localhost", "id8955440_bigebro", "sunshine1987**", "id8955440_bigebro");
if (mysqli_connect_error()) {
die("There was an error connecting to the database");
}
if ($_POST['email'] == '') {
echo "<p>Email address is required.</p>";
} else if ($_POST['password'] == '') {
echo "<p>Password is required.</p>";
} else {
$query = "SELECT `id` FROM `bigebro` WHERE email = '" . mysqli_real_escape_string($link, $_POST['email']) . "'";
$result = mysqli_query($link, $query);
if (mysqli_num_rows($result) > 0) {
echo "<p>That email address has already been taken.</p>";
} else {
$query = "INSERT INTO `bigebro` (`email`, `password`) VALUES ('" . mysqli_real_escape_string($link, $_POST['email']) . "', '" . mysqli_real_escape_string($link, $_POST['password']) . "')";
if (mysqli_query($link, $query)) {
echo "<p>You have been signed up!";
} else {
echo "<p>There was a problem signing you up - please try again later.</p>";
}
}
}
}
?>
HTML
<form method="post">
<input name="email" type="text" placeholder="Email address">
<input name="password" type="password" placeholder="Password">
<input type="submit" value="Sign up">
</form>
$ link = mysqli_connect(“ localhost”,“ id8955440_bigebro”,“ sunshine1987 **”,“ id8955440_bigebro”);
当我注册表单时,仅弹出“注册您时遇到问题-请稍后重试”。我希望结果显示“您已注册” 。 please see sign up form
答案 0 :(得分:1)
使用mysqli_error
跟踪查询中的错误。
$query = "INSERT INTO `bigebro` (`email`, `password`) VALUES ('" . mysqli_real_escape_string($link, $_POST['email']) . "', '" . mysqli_real_escape_string($link, $_POST['password']) . "')";
if (mysqli_query($link, $query)) {
echo "<p>You have been signed up!";
} else {
echo "Error: " . mysqli_error($conn);
}
答案 1 :(得分:0)
您应该使用javascript验证电子邮件和密码。 在行
下放置echo语句$query = "INSERT INTO `bigebro` (`email`, `password`) VALUES ('" . mysqli_real_escape_string($link, $_POST['email']) . "', '" . mysqli_real_escape_string($link, $_POST['password']) . "')";
echo $query;
if (mysqli_query($link, $query)) {
echo "<p>You have been signed up!";
} else {
echo "<p>There was a problem signing you up - please try again later.</p>";
}
使用相同的数据库凭据运行打印的查询。如果运行,则问题出在您的PHP代码上。您应该为您的数据库用户具有INSERT权限。