【问题标题】:Undefined values In MySQL databaseMySQL数据库中的未定义值
【发布时间】:2013-09-22 15:26:02
【问题描述】:

我正在使用 Jquery 插件颜色框来显示创建用户表单。 单击提交按钮时,它会显示一个已创建的消息帐户! (关于输入合法值) 但是数据库中的 fname 和 lname(名字和姓氏)的值是未定义的。虽然用户名和密码值正确。

这是HTML代码,

<h2>Enter Account Details</h2>
<form>

<div id='fname1'>
First Name: <br>
<input type='text' required name="fname"></input>
</div>

<div id='lname1'>
Last Name: <br>
<input type='text' required name="lname"></input>
</div>

<div id='username1'>
UserName: <br>
<input type='text' required name="username" id="username"></input>
<span id="message"></span>
</div>
<br>


<div id='password'>
Password: 
<input type='password' required name="password"></input>
<label >Retype Password: </label>
<input type='password' required name="repassword"></input>
</div>

<div id='submitid'>
<input type='button' value='submit' id="button"> </div>
<div id="info"></div>
</form>

这里是 Ajax 请求,

<script type="text/javascript">
           $(document).ready(function(){
                $("#button").click(function(){

                      var fname=$("#fname").val();
                      var lname=$("#lname").val();
                      var username=$("#username").val();
                      var password=$("#password").val();
                      var repassword=$("#repassword").val();

                      $.ajax({
                          type:"post",
                          url:"process.php",
                          data:"fname="+fname+"&lname="+lname+"&username="+username+"&password="+password+"&repassword="+repassword,
                          success:function(data){
                             $("#info").html(data);
                          }

                      });

                });
           });
   </script>

还有 PHP 代码,

<?php

$dbc=mysqli_connect('localhost', 'root', '', 'message') or die("Error");

$fname=$_POST['fname'];
$lname=$_POST['lname'];
$username=$_POST['username'];
$password=$_POST['password'];
$repassword=$_POST['repassword'];
$password_hash=sha1($password);


  $query="SELECT * from user where username='$username'";
  $result=mysqli_query($dbc, $query);
  if(mysqli_num_rows($result)==0)
    {

      $query='INSERT INTO user (fname, lname, username, password) '.
          'VALUES("'.$fname.'", "'.$lname.'", "'.$username.'", "'.$password_hash.'")';
      $result=mysqli_query($dbc, $query);

      echo "Account Created!";
      mysqli_close($dbc);
    }
  else
  {
    echo "Username exists, select a different username.";
  }         
?>

这是图片,

我无法理解数据库中未定义的值。 我知道SQL注入很简单,我稍后会修改代码。

【问题讨论】:

  • 您在 mysql 表中使用的名字和姓氏的数据类型是什么?

标签: php jquery mysql ajax


【解决方案1】:

简单: 您正在使用 $("#fname").val () 和 $(#lname).val () 将 fname 和 lname 声明为 jquery 代码中的 id,但在 html 中这些输入没有 id 属性,因此您必须编写代码:

并检查 password 和 repassword 是否获取值。

顺便问一下,你为什么要发送重新密码?要进行验证,您必须使用 javascript 进行验证

【讨论】:

    猜你喜欢
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多