2012-07-18 63 views
0

谁能告诉我为什么我的数据不会插入到我的数据库中吗?连接信息很好。我究竟做错了什么?表单数据没有插入数据库

<?php 
error_reporting(); 
include('include/config.php'); 
$strMsg="Signup, It's Free!"; 
?> 
<html> 
<head> 
<title>Try This Fecal Matter</title> 
</head> 
<body> 

<?php 

    function validate($strMsg){ 
     //Validation upon Submit Click 
      if(isset($_POST['submit'])){ 
      //Validate First Name Field 
       if($_POST['fName']==""){ 
        $strMsg="Please Enter Your First Name."; 
        showMForm($strMsg); 
       } 
      //Validate Last Name Field 
       elseif($_POST['lName']==""){ 
        $strMsg="Please Enter Your Last Name."; 
        showMForm($strMsg); 
       } 
      //elseif for validation of Email with a Regular Expression 
       elseif(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['eMail'])) { 
        $strMsg="Please Enter Your Email."; 
        showMForm($strMsg); 
       } 

      //Validate password 
       elseif($_POST['pWord1']==""){ 
        $strMsg="Please Enter A Password."; 
        showMForm($strMsg); 
       } 
       elseif($_POST['pWord2']!=$_POST['pWord1']){ 
        $strMsg="Your Passowrds Do Not Match."; 
        showMForm($strMsg); 
       } 
else{ 

    $fName=$_POST['fName']; 
    $lName=$_POST['lName']; 
    $eMail=$_POST['eMail']; 
    $pass=md5($_POST['pWord1']); 




     /*$SQL="SELECT eMail FROM users WHERE eMail = '".$eMail."'"; 
       $rs = mysql_query($SQL); 
echo $SQL; 
      if($rs && mysql_num_rows($rs)>0){ 
          $strMsg="Email Already Registered"; 
          showForm($strMsg); 
       } 
      else{ 
    */ 
    //Send Content To Database.. 
//  $SQL = "INSERT INTO 'users' (`userID`, `fName`, `lName`, `eMail`, `pass`)  
VALUES (NULL, 
    dbConnect(); 
    $SQL = "INSERT INTO users (`userID`, `fName`, `lName`, `eMail`, `pass`,  
`bgPic`,`bio`) VALUES (NULL,'$fName', '$lName', '$eMail', '$pass', NULL, NULL);"; 
      echo $fName."<br/>"; 
      echo $lName."<br/>"; 
      echo $eMail."<br/>"; 
      echo $pass."<br/>"; 
      // } 
       echo $SQL; 
} 
} 
else 
    showMForm($strMsg); 

} 






    function showMForm($strMsg){ 
     echo"<div id=\"form\">\n"; 
     echo"<h2>".$strMsg."</h2><br/>\n"; 
     echo" <form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" >\n"; 
     echo"     <p>First Name:<br/>\n"; 
     echo"     <input type=\"text\" name=\"fName\" value=\"".$_POST['fName']."\"/></p>\n"; 
     echo"     <p>Last Name:<br/>\n"; 
     echo"     <input type=\"text\" name=\"lName\" value=\"".$_POST['lName']."\"/></p>\n"; 
     echo"     <p>E-mail:<br/>\n"; 
     echo"     <input type=\"text\" name=\"eMail\" value=\"".$_POST['eMail']."\"/></p>\n"; 
     echo"     <p>Passwod:<br/>\n"; 
     echo"     <input type=\"text\" name=\"pWord1\" value=\"\"/></p>\n"; 
     echo"     <p>Re-Enter Passwod:<br/>\n"; 
     echo"     <input type=\"text\" name=\"pWord2\" value=\"\"/></p>\n"; 
     echo"     <p>Regarding:<br/>\n"; 
     echo"      <select name=\"state\">\n"; 
     echo"       <option value=\"Ohio\">Ohio</option>\n"; 
     echo"       <option value=\"Michigan\">Michigan</option>\n"; 
     echo"       <option value=\"Indiana\">Indiana</option>\n"; 
     echo"       <option value=\"Pensylvania\">Pensylvania</option>\n"; 
     echo"      </select>\n"; 
     echo"     <p><input type=\"submit\" value=\"Submit\" class=\"btnSubmit\" name=\"submit\" /></p>\n"; 
     echo" </form>\n"; 
} 

     validate($strMsg); 
?> 
</body> 
</html> 
+3

1.额日格功能已被弃用。 2.不推荐使用mysql函数。 3.你完全容易受到[SQL注入](http://bobby-tables.com)的攻击。 4.你实际上没有做任何查询,因为它们都被注释掉了。 5.您对查询没有错误处理,因此您永远无法检索帮助您诊断问题的错误消息。 – 2012-07-18 03:34:07

+0

除此之外^^^^^^它的一切都好:-) – 2012-07-18 03:36:37

+0

我猜在查询语句末尾是分号是问题,请尝试删除它并看到.. – 2012-07-18 05:23:57

回答

0

看起来你注释掉你SQL查询

例如:

//Send Content To Database.. 
//  $SQL = "INSERT INTO 'users' (`userID`, `fName`, `lName`, `eMail`, `pass`)  
VALUES (NULL, 
    dbConnect(); 
    $SQL = "INSERT INTO users (`userID`, `fName`, `lName`, `eMail`, `pass`,  
`bgPic`,`bio`) VALUES (NULL,'$fName', '$lName', '$eMail', '$pass', NULL, NULL);"; 
      echo $fName."<br/>"; 
      echo $lName."<br/>"; 
      echo $eMail."<br/>"; 
      echo $pass."<br/>"; 
      // } 
0

嘿朋友你还没有使用mysql_query()功能。它在哪里?

mysql_query($SQL); 

和你做。

+0

谢谢。这就对了。 – user1174762 2012-07-18 03:38:56

+0

如果您的问题已解决,请将答案标为已解决,谢谢 – 2012-07-18 03:48:03

0

mysql_query($sql);是你缺少的东西......但同样重要的是,你还缺少在查询之前清理输入的部分。

要做到这一点使用:

$SQL = "INSERT INTO users (`fName`, `lName`, `eMail`, `pass`,) VALUES ('$fName', '$lName', '$eMail', '$pass'); 

在mysql数据库的问题,也许userID是主键:mysql_real_escape_string($value);

0

您在此代码

$SQL = "INSERT INTO users (`userID`, `fName`, `lName`, `eMail`, `pass`,  
`bgPic`,`bio`) VALUES (NULL,'$fName', '$lName', '$eMail', '$pass', NULL, NULL); 

为了有一个错误?

我希望这项工作