2013-01-19 53 views
0

我已经创建了php,form和mysql数据库。密码使用表单写入数据库,但是用户名没有。我一直难倒这几个小时(和可能是一个非常简单的修复,有人能提供洞察力?谢谢!PHP到MYSQL,问题

<?php 

    echo "connected "; 
    //get form data 

    if(!isset($user)) { 
     $user = strtolower(mysql_real_escape_string($_POST['user'])); 
    } 

    if(!isset($user)) { 
     $pass = md5(mysql_real_escape_string($_POST['password'])); 
    } 

    //connect to MySQL 
    $connect = mysql_connect($dbhost, $dbuser, $dbpass) 
    or die ("connection error"); 
    echo "connected "; 

    //select databse 
    mysql_select_db($dbdb) or die ("database selection error"); 

    //insert data 
    $insert = mysql_query("INSERT INTO androidlogin (user, pass) VALUES   ('$user','$pass')"); 
    if($insert) { 
     $arr2 = array("user" => $user, "pass" => $pass); 
     echo json_encode($arr2); 
    } 

?> 

<html> 
    <head> 
    </head> 
    <body> 
    <title>PHP Register</title> 
     <form action="registerBBD.php" method="POST"> 
     User: <input type="text" name="user" id="user" /><br /> 
     Pass: <input type="text" name="pass" id="pass" /><br /> 
       <input type="submit" name="submit" value="submit" /> 
     </form> 
    </body> 
</html> 
+0

你得到的错误是什么? – Ibu

+0

您是否可以确认$ user isset并在执行查询时有值? – Neeko

+3

[**请不要在新代码中使用'mysql_ *'函数**](http://bit.ly/phpmsql)。他们不再被维护[并被正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。 – Kermit

回答

1

你只值赋给$pass如果$user没有设置...但你这样做,马上后的值设置为$user

当你写if(!isset($user)){第二次,你可能是指if(!isset($pass)){

我不明白,如果$user设为我为什么要检查无论如何。测试表单数据是否已提交并用于确定是否应处理数据或是否应显示表单是正常的。

+0

@ Quentin,thx for!isset修复。我清理它,甚至试图删除!isset完全为用户和传递,仍然只更新数据库的密码...仍然难倒了这一点。 – user1720683

+0

@昆汀 - 我修好了。 Thx为您的输入。这是关键://获取表单数据 $ user = $ _POST ['user']; 如果(!isset($通)){$ 通= MD5(mysql_real_escape_string($ _POST [ '密码'])); – user1720683