2012-07-18 8 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. ereg 기능은 더 이상 사용되지 않습니다. 2. mysql 함수는 더 이상 사용되지 않습니다. 3. 당신은 [SQL injection] (http://bobby-tables.com) 공격에 완전히 취약합니다. 4. 모두 주석 처리되었으므로 실제로 쿼리를 수행하지 않습니다. 5. 쿼리에 오류 처리가 없으므로 문제를 진단하는 데 도움이되는 오류 메시지를 검색 할 수 없습니다. –

+0

떨어져 그 ^^^^^^ 그 모든 좋은 :-) –

+0

쿼리 문 끝에 세미 콜론이 문제라고 생각하고, 그것을 제거하고보십시오 .. –

답변

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

+0

문제가 해결되면 대답을 해결 된 것으로 표시합니다. 감사합니다. –

0

mysql_query($sql);은 누락되었지만 중요한 점은 쿼리 전에 입력 내용을 위생적으로 처리하지 못하는 부분이기도합니다.

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

데이터베이스 MySQL을 어쩌면 아이디 문제는 기본 키 :이 코드에

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

에서 오류가 mysql_real_escape_string($value);

0

:

는 사용을 수행하려면?

희망 하시겠습니까?

관련 문제