繁体   English   中英

PHP 从 POST 表单插入数据库 Mysql [重复]

[英]PHP Insert Into database Mysql from POST form [duplicate]

我创建了一个基本表单来捕获 email 和用户密码。 我知道 SQL 注射等等。 这是为了测试教育目的,但我无法获得发布数据的表格。 数据库已连接,但似乎有一个查询我无法弄清楚它为什么不工作。 我尝试了各种替代方案,但没有运气。 请参阅下面的代码,如果您能指出正确的方向,我将不胜感激

<?php

if (array_key_exists('email', $_POST) OR array_key_exists('password', $_POST)) {
      
    $link = mysqli_connect("xxx.xxx.xxx.xx", 
                       "xxxxxxxxxx", 
                       "NiceTry",
                       "NotToday");
                   
    if (mysqli_connect_error()) {
        die ("you have NOT Connected!!! <br>");
    }
  
    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 `users` 
                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 `Users` 
                            (`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>";
            }
        }
    }   
}  
?>      

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM