我正在使用html和php创建一个注册表单,当我单击唱歌时出现错误:
http://localhost/quiz/SinginUp/singup.html?first=Calin&last=Onaca&email=onaca.calin%40gmail.com&age=20&uid=calinonaca1&pwd=qwerty1234&cpwd=qwerty1234&submit=
...&submit=
之后的任何内容
我检查了我的代码,但我无法意识到我做错了什么。
<form action="includes/signup.php" method="POST">
这是我的行动电话
这是我的signup.php
<?php
if(isset($_POST['submit']))
{
mysqli_connect('127.0.0.1', 'admin', 'admin', 'quiz');
$conn=mysqli_connect('127.0.0.1', 'admin', 'admin', 'quiz');
$first = mysqli_real_escape_string( $conn,$_POST['first']);
$last = mysqli_real_escape_string( $conn ,$_POST['last']);
$email = mysqli_real_escape_string( $conn,$_POST['email']);
$age = mysqli_real_escape_string( $conn,$_POST['age']);
$uid = mysqli_real_escape_string( $conn,$_POST['uid']);
$pwd = mysqli_real_escape_string( $conn,$_POST['pwd']);
if(empty($first)||empty($last)|| empty($email) ||empty($age)||empty($uid)||empty($pwd)||empty($cpwd))
{
header("Location: ../signup.html?signup=empty");
exit();
}
else {
if(!preg_match("/^[a-ZA-Z]*$/", $first) || !preg_match("/^[a-ZA-Z]*$/", $last) ){
header("Location: ../signup.html?singup=invalid");
exit();
}else
{
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
header("Location: ../signup.html?singup=email");
exit();
}
else
{
if(!preg_match("/^[0-9]*$/", $age)){
header("Location: ../signup.html?singup=invalid");
exit();
}else{
$sql = "SELECT * FROM users WHERE user_uid='$uid'";
$result= mysqli_query($conn, $sql);
$resultCheck= mysqli_num_rows($result);
if($resultCheck > 0)
{
header("Location: ../signup.html?singup=userTaken");
exit();
}
else
{
$hashedPwd = password_hash($pwd, PASSWORD_DEFAULT);
$sql="INSERT INTO users (user_first, user_last, user_email, user_age, user_uid, user_pwd) VALUES ('$first', '$last','$email','$age','$uid','$hashedPwd');";
mysqli_query($conn,$sql);
header("Location: ../index.html?singup=succes");
exit();
}
}
}
}
}
}
} else
{
header("Location: ../signup.html?signup=failed");
exit();
}
?>
如果出现问题,我没有收到失败的消息,浏览器编译器说的一切都没问题。
答案 0 :(得分:0)
您的脚本似乎只在寻找$ _POST数据,因此,如果您尝试使用URL中的变量链接到页面(如您的示例),那么脚本将找不到数据。
相反,脚本需要查看$ _GET(仅URL变量)或可以使用$ _REQUEST(包括GET,POST和COOKIE变量)。
还将在请求中没有数据时输出的else语句中添加一些调试代码,以便您可以验证它是否按预期解析了信息。希望有帮助。