尝试使用PHP创建注册表单


Trying to create Sign Up form using PHP

我正试图为一个正在开发的web应用程序创建一个SignUp表单,该应用程序已经有一段时间没有用mySQL编程了,当我填写HTML表单时,我只看到一个空白页面(register.php),没有任何值传递到数据库表中。HTML和PHP代码如下。任何关于我遗漏了什么或为什么没有通过的指导都将不胜感激。

这是要注册的HTML表单:

        <div class="panel-body">
        Please fill out the form below.
        <br>
        <form action="register.php" method="post">
        <div class="form-group">
        <label for="exampleInputEmail1">Email address</label>
        <input type="email" class="form-control" id="exampleInputEmail1" name="email" placeholder="Enter email">
        </div>
        <div class="form-group">
        <label for="exampleInputPassword1">Password</label>
        <input type="password" class="form-control" id="exampleInputPassword1" name="password" placeholder="Password">
        </div>
        <button type="submit" class="btn btn-default">Sign Up</button>
        </form>

这是register.php上的代码:

$user = "smartkrawldb";
$pass = "Nixon15!";
$db = new PDO( 'mysql:host=XX.XXX.XXX.XX,dbname=smartkrawldb, $user, $pass);
$form = $_POST;
$email = $form['email'];
$password = $form['password'];
$sql = "INSERT INTO users ( email, password) VALUES ( :email, :password)";
$query = $db->prepare( $sql );
$query->execute( array(':email'=>$email, ':password'=>$password));   

如果您尝试这样做,效果会好吗?

$email = $_POST['email'];
$pass = $_POST['pass'];
$query = mysql_query("SELECT * FROM users WHERE email = '{$email}' AND password = '{$pass}';

我强烈建议您改用PHP的PDO对象工作流,这样更安全、更容易使用。

$_POST['submit']根本没有传递任何值(它是一个提交按钮)。

尝试var_dump,将最后一行更改为:

if(isset($_POST['submit'])) { 
signUp(); 
}
else {
     echo "the problem with post_submit is that is not here inside: ";
     var_dump($_POST);
     }

以了解$_POST超级全局内部的内容。

欢呼!