如何从我的数据库中获取注册消息

时间:2019-05-22 09:21:41

标签: php mysql

我正在建立完全有组织的注册表单,试图将信息发送到我的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

2 个答案:

答案 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);
            }

还要检查您的数据库结构,例如id应该自动增加,email和password应该是varchar。 enter image description here

答案 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权限。