注册函数处理一个脚本而不是另一个脚本

时间:2015-12-08 11:46:55

标签: php html mysql forms

我在脚本上有一个注册功能,我将它复制到一个新项目并更改了变量 - 表单输入,表/数据库名称等,脚本将不会执行任何操作。

Signup.php

<form class="form" action="register.php" method="POST" enctype="application/x-www-form-urlencoded">

    <input type="text" value="" placeholder="Username" id="username" name="username" />

    <input type="text" value="" placeholder="Email" id="Email" name="Email" />

    <input type="password" value="" placeholder="Password" id="password" name="password" />

    <input type="submit" id="signin" name="submit" />
</form>

Register.php

<?php
include('connectivity.php');

if (mysqli_connect_errno())
  {
  echo "Failed to connect to mysqli: " . mysqli_connect_error();
  }
else 
{ 

}

function newUser()
{

include ('connectivity.php');

    $username = $_POST['username'];
    $username_escaped = mysqli_real_escape_string ($db, $username);

    $email = $_POST['email'];
    $email_escaped = mysqli_real_escape_string ($db, $email);

    $password = sha1($_POST['password']);
    $password_escaped = mysqli_real_escape_string ($db, $password);


    $query = "INSERT INTO users (username, email, password) VALUES ('$username_escaped', $email_escaped', '$password_escaped')";

    include('connectivity.php');
    $data = mysqli_query ($db, $query)or die(mysqli_error($db));
    if($data)
        {

    }

}

function SignUp()
{
    if(!empty($_POST['email']))
    {
        include('connectivity.php');
    $query = mysqli_query  ($db, "SELECT * FROM users WHERE email = '$_POST[email]'")
        or die(mysqli_error());
        if(!$row = mysqli_fetch_array($query))
        {
            newUser();
            echo ("<SCRIPT LANGUAGE='JavaScript'>
    window.alert('User Registration Successful')
    window.location.href='login.php';
    </SCRIPT>");

        } 
        else
        {
            echo ("<SCRIPT LANGUAGE='JavaScript'>
            window.alert('You are already a registered user!')
            window.location.href='homepage.html';
    </SCRIPT>");


        }
    }

}
if(isset($_POST['submit']))
    {
    SignUp();
}

?>

提交时的表单只是转到空白的php页面(register.php) - 没有弹出窗口警报消息,也没有重定向。

这个脚本完全适用于我的其他形式,任何人都可以看到它在这个表单上不起作用的原因吗?

欢呼阅读!

2 个答案:

答案 0 :(得分:4)

$_post['email']不存在是因为您已将name属性设置为"Email"

编辑: 我忘了提及答案的本质。名称和$ _POST区分大小写,因此"email" != "Email"

答案 1 :(得分:0)

试试这个:

sudo apt-get install php-pear
相关问题