2010-09-22 65 views
0

什麼是錯的這個代碼,因爲它不插入值數據庫在數據庫代碼中插入的問題?

/////////////////////////////code php start//////////////// 

<body> 

<div id="regform"> 
<h2> register form</h2> 
<?php 

if(isset($_POST['submit'])){// Click on complete button 

    $error=array(); 
    if(empty($_POST['uname']) || trim($_POST['uname'])=="") 
    $error[]="خطأ : خانة اسم المستخدم فارغة"; 
    if(empty($_POST['fname']) || trim($_POST['fname'])=="") 
    $error[]="خطأ:خانة الاسم الاول فارغة"; 
    if(empty($_POST['password']) || trim($_POST['password'])=="") 
    $error[]="خطأ : خانة الكلمة السرية فارغة"; 
    if(empty($_POST['password2']) || trim($_POST['password2'])=="") 
    $error[]="خطأ خانة تأكيد الكلمة السرية فارغة"; 
    if(empty($_POST['email'])|| trim($_POST['email'])=="") 
    $error[]="خطأ : خانة البريد الالكتروني فارغة"; 
    if(empty($_POST['email2'])|| trim($_POST['email2'])=="") 
    $error[]="خطأ : خانة تأكيد البريد الالكتروني فارغة"; 
    if(empty($_POST['age'])|| trim($_POST['age'])=="") 
    $error[]="خطأ :خانة العمر فارغة"; 

    if(strlen($_POST['uname'])<4) 
    $error[]="حطأ : يجب ان يتكون اسم المستخدمن اكثر 4 حروف"; 

    if(strlen($_POST['password'])<4 || strlen($_POST['password2'])<4) 
    $error[]="خطأ الكلمة السرية يجب ان تتكون من اكثر من 6 حروف"; 

    if($_POST['password']!=$_POST['password2']) 
    $error[]="خطأ : الكلمات السرية غير متطابقة"; 
    //Validating Emails 

    if(!preg_match("/^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9](.[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])+$/",$_POST['email']) 
    || 
    !preg_match("/^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9](.[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])+$/",$_POST['email2'])) 
    $error[]="خطأ: البريد الالكتروني غير صالح"; 



    if($_POST['email']!=$_POST['email2']) 
    $error[]="خطأ : البريد الالكتروني غير متطابق"; 

    if(!is_numeric($_POST['age'])) 
    $error[]="خطأ : العمر المدخل ليس قيمة رقمية"; 


if(sizeof($error)>0){ 
    echo "<div id=\"error\">"; 
    echo "<ul>";  
foreach($error as $k=>$v){ 
    echo "<li> "; 
    echo $v; 
    echo "</li>"; 
    } 
    echo "</ul>"; 
    echo "</div>"; 

    } 


    else{ 
    include "conf.php"; 
       // Random confirmation code 
       $confirm_code=md5(uniqid(rand())); 
    $username=mysql_real_escape_string($_POST['uname']); 
    $fname=mysql_real_escape_string($_POST['fname']); 
    $password=md5($_POST['password']); 
    $email=mysql_real_escape_string($_POST['email']); 
    $age=$_POST['age']; 
    $gender=$_POST['gender']; 
    $adduser= mysql_query("INSERT INTO USERS VALUES('',$confirm_code,'$username','$fname','$password','$email','$age','$gender')"); 
    // send e-mail to ... 
        $to=$email; 

       // Your subject 
       $subject="Your confirmation link here"; 

        // From 
       $header="from: your name <your email>"; 

        // Your message 
       $message="Your Comfirmation link \r\n"; 
       $message.="Click on this link to activate your account \r\n"; 
       $message.="http://www.yourweb.com/confirmation.php?passkey=$confirm_code"; 
         // send email 
       $sentmail = mail($to,$subject,$message,$header); 
    if(!$adduser or !$sentmail){ 

    echo "<div id=\"succes\">"; 
    echo " register succesfully"; 
    echo "</div>"; 

    } 

    } 

    } 



?> 
//////////////// form start //////////////////////// 
<ul> 
<form method="post" action="index.php"> 
    <li><label>اسم المستخدم :</label> <span><input type="text" name="uname" /></span> </li> 
    <li><label> الاسم الاول: </label> <span><input type="text" name="fname" /></span></li> 
    <li><label> الكلمة السرية: </label> <span><input type="password" name="password" /></span> </li> 
    <li><label> تأكيد الكلمة السرية: </label> <span><input type="password" name="password2" /></span></li> 
    <li><label> البريد الالكتروني: </label> <span><input type="text" name="email" /></span></li> 
    <li><label> تأكيد البريد الالكتروني: </label> <span><input type="text" name="email2" /></span> </li> 
    <li><label> العمر: </label> <span><input type="text" name="age" /></span></li> 
    <li><label> الجنس: </label><span><select name="gender"><option>ذكر</option> <option>انثى</option> </select> </span> </li> 
    <li> <input type="submit" class="submit" value="اكمال" name="submit"/> </li> 
    </form> 
</ul> 

</div> 
</body> 
</html> 
+0

它總是幫助,如果a)您隔離導致問題的代碼塊不要上傳整個腳本。 b)在代碼中加入一些調試(例如,在執行查詢之前顯示SQL,從mysql_query中捕獲響應以查看是否有錯誤,並獲取錯誤消息) – 2010-09-22 09:54:49

+0

在腳本的頂部寫上:'error_reporting(-1) ;' – Frankie 2010-09-22 09:57:56

回答

3

$ CONFIRM_CODE是一個字符串,所以應該在你的INSERT語句中引用

$adduser= mysql_query("INSERT INTO USERS VALUES('','$confirm_code','$username','$fname','$password','$email','$age','$gender')"); 
+0

現在確定它的工作比你好 – magy 2010-09-22 10:16:54