PHP没有输入任何数据

时间:2015-02-21 09:07:39

标签: php mysql phpmyadmin

他们没有错误但是当我检查phpmyadmin时,它显示没有数据输入。这是我的代码 -

        <!doctype html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="registered.css" rel="stylesheet"/>
<title>Registration details</title>
<?PHP
require ('C:/xampp/htdocs/try/connect.php');
$name = isset($_POST['usernamesignup']);
$email = isset($_POST['emailsignup']);

$password = isset($_POST['passwordsignup']);
$confirm_password= isset($_POST['passwordsignup_confirm']);
$password_hash = md5($password);



if (isset($_POST['submit'])) {
$sql12="SELECT * FROM register";
$result12= mysql_query($sql12);
if($result12== FALSE){
die(mysql_error());
}
while($rows=mysql_fetch_array($result12)){
if($email==$rows['email'] ){
die('Sorry, The email-id you entered is present in our database. Please use your other ID. <a href="index.html"> Go Back </a>');
}
}


$query = "INSERT INTO register (name,password,email) VALUES ('$name','$password_hash','$email')";
mysqli_query($link,$query) or die('Error in connecting database');
mysqli_close($link);
}
?>
</head>
Thank you for registering.
</html>

connect.php的代码是 -

<?php
$link=mysql_connect('localhost','root','','register') or die('error connecting');
mysql_select_db('register',$link) or die('cannot select db'); 

?>

输出结果是感谢您注册。 var_dump显示正在发布值。请帮忙。

1 个答案:

答案 0 :(得分:0)

不要混合使用mysql和mysqli

您在mysqli_query连接上正在运行mysql_。如果您将连接切换为mysqli_connect,则可以解决您遇到的特定问题(阅读文档以确保不会对您的参数进行任何更改)。

这里有另一个mysql_query

$result12= mysql_query($sql12);

变量分配不正确

您还要分配:

$name = isset($_POST['usernamesignup']);
$email = isset($_POST['emailsignup']);

如果设置了,则会将这两个变量都设置为true。当您尝试将它们传递给查询时,这可能导致您的MySQL查询失败。

您可能想要这样做:

if (true === isset($_POST['usernamesignup']) && true === isset($_POST['email']) {
    $name = $_POST['usernamesignup'];
    $email = $_POST['email'];
} else {
    throw new Exception('Username or e-mail address not sent.');
}

Asidenotes

Xdebug是你的朋友,display_errors也是。

当您等待Xdebug编译时,我建议查找绑定参数(否则有人可以按原样使用此代码对数据库执行任何操作),以及为什么使用{{在2015年,哈希密码是一个非常糟糕的主意(它不比明文好,请看md5password_hash)。