2014-01-28 27 views
-2
if($_SERVER['REQUEST_METHOD'] != 'POST') 
{ 
/*formularen er ikke blevet postet endnu, vis den. 
bemærke, at action = "" vil medføre, at formularen til at sende til den samme side det er på */ 
echo '<form method="post" action=""> 
<table border="0" > 
<tr><td> Dit navn: </td><td> <input type="text" class="ed" name="bruger_navn" /> 
<tr><td> Din adresse: </td><td> <input type="text" class="ed" name="bruger_adresse" /> 
<tr><td> Din email: </td><td> <input type="email" class="ed" name="bruger_email" /> 
<tr><td> Vælg password: </td><td> <input type="password" class="ed" name="bruger_kode"/> 
<tr><td> Bekræft password: </td><td> <input type="password" class="ed" name="bruger_kode_check"/> 

<br> <tr><td> 

     <div class="check"> 
     <label for="checkbox">Jeg har læst og er acceptere centrets regler</label> 
     <input type="checkbox" class="checkbox" name="check" required /> 

    <input type="submit" value="Send" id="button1" /> 
</form></td><td>'; 


} 
else 
{ 
/* Formularen er blevet postet. Dataen bliver behandlet i tre trin: 
    1. Tjek dataen 
    2. Lad brugeren udfylde de tomme felter, hvis det er nødvendigt 
    3. Gem dataen 
*/ 
$errors = array(); /* erklære arrayet til senere brug */ 

if(isset($_POST['bruger_navn'])) 
{ 
    //Brugernavnet findes ctype_alnum betyder at den skal indholder kun tal og bogstaver "Ingen Mellemrum".   
    if(!ctype_alnum($_POST['bruger_navn'])) 
    { 
     $errors[] = 'Brugernavnet kan kun indeholde bogstaver og tal.'; 
    } 
    if(strlen($_POST['bruger_navn']) > 30) 
    { 
     $errors[] = 'Brugernavnet må ikke være længere end 30 tegn.'; 
    } 
} 
else 
{ 
    $errors[] = 'Du skal udfylde et brugernavn.'; 
} 


if(isset($_POST['bruger_kode'])) 
{ 
    if($_POST['bruger_kode'] != $_POST['bruger_kode_check']) 
    { 
     $errors[] = 'Adgangskoden matcher ikke.'; 
    } 
} 
else 
{ 
    $errors[] = 'Du skal udfylde en adgangskode.'; 
} 

if(!empty($errors)) /*kontrollere, om der er et tomt array, hvis der er fejl, hvis der er, er de i dette array*/ 
{ 
    echo 'Du mangler at udfylde nogle felter.<br /><br />'; 
    echo '<ul>'; 
    foreach($errors as $key => $value) /* går gennem arrayet, så alle fejl bliver vist */ 
    { 
     echo '<li>' . $value . '</li>'; /* Her laves en liste med fejlene */ 
    } 
    echo '</ul>'; 
} 
else 
{ 
    // formularen er nu postet uden fejl, så det bliver gemt 
    // bemærk brug af mysql_real_escape_string, holder alt sikkert! 
    // SHA1 funktionen, hasher adgangskoden 
    $sql = "INSERT INTO 
       bruger(bruger_navn, bruger_adresse, bruger_email, bruger_kode, fk_roller_id) 
      VALUES('" . mysql_real_escape_string($_POST['bruger_navn']) . "', 
        '" . mysql_real_escape_string($_POST['bruger_email']) . "', 
        '" . mysql_real_escape_string($_POST['bruger_adresse']) . "', 

            '" . sha1($_POST['bruger_kode']) . "', 


        NOW(), 
        1)"; 
+0

所以你有什麼問題嗎? – bansi

+1

您正在試圖插入6個項目,並指定只有5列 –

+0

英語將讓你更多的答案 – MyPasswordIsLasercats

回答

1

你在你的查詢中的5場,你插入6個值進去。

INSERT INTO 
      bruger(bruger_navn, bruger_adresse, bruger_email, bruger_kode, fk_roller_id) 
     VALUES('" . mysql_real_escape_string($_POST['bruger_navn']) . "', 
       '" . mysql_real_escape_string($_POST['bruger_adresse']) . "', 
       '" . mysql_real_escape_string($_POST['bruger_email']) . "', 

           '" . sha1($_POST['bruger_kode']) . "', 
       1) 

所以刪除未使用的價值。(據我你有沒有時間字段,所以我從查詢中刪除now()),或者如果你有相關的領域到數據庫中的時間,然後添加到您的查詢。

注:我調整值的順序。

+0

此外,他在給他列 –

+0

的順序ya..true..i更新的答案值交換電子郵件和地址。 – DS9

相關問題