2017-01-21 15 views
0

申し訳ありません。私のコードにはもう一つのマレー語があります。コードだけを見れば理解できます。問題は、エラー入力を入力するとエラーが表示されないということです。エラーがなければ、mysqlには挿入されません。ありがとう...登録フォームのエラーを表示できません。入力もmysqlに挿入できません

<?php 
include ("connection.php"); 

$namaErr = $noicErr = $katalaluanErr = ""; 

if (isset($_POST['btnSubmit'])) { 
    include ("connection.php"); 

    if (empty($_POST[$nama])) { 
     $namaErr = "Anda wajib mengisi nama anda di ruangan ini!"; 
    }else if(strlen($nama) < 3) { 
     $error = true; 
     $namaErr= "Nama hendaklah tidak kurang daripada 3 karakter"; 
    } else if (!preg_match("/^[a-zA-Z ]+$/",$nama)) { 
     $error = true; 
     $namaErr= "Nama mestilah mengandungi huruf dan ruang sahaja"; 
    } 

    //ic 
    if (empty($_POST[$noic])) { 
     $noicErr = "Anda wajib mengisi nombor IC anda di ruangan ini!"; 
    }else if (strlen($noic) != 12) { 
     $error = true; 
     $noicErr = "Nombor IC hendaklah tidak kurang daripada 12 nombor  
     digit"; 
    } else if (!is_numeric($noic)) { 
     $error = true; 
     $noicErr = "Nombor IC mestilah mengandungi nombor sahaja"; 
    } 

    //katalaluan 
    if (empty($_POST[$katalaluan])) { 
     $katalaluanErr = "Anda wajib mengisi kata laluan anda di  
     ruangan ini!"; 
    } else if(strlen($katalaluan) < 8) { 
     $error = true; 
     $katalaluanErr = "Kata laluan hendaklah tidak kurang daripada 8"; 
    } 
} 
if (!$error){ 
    $EncryptPassword = md5($katalaluan); 

    $query="INSERT INTO daftar_pengguna(nama, noic, katalaluan) 
      VALUES('$nama','$noic', '$EncrpytPassword')"; 
    $res = mysql_query($query); 
} 
?> 

以下はフォームです。

<form name="form1" method="post" action="borangdaftar.php"> 

    <table width="544" border="1"> 
    <tr> 
     <th scope="row"><span class="style32">Nama</span></th> 
     <td><input name="nama" type="text" size="30" maxlength="50" value=" 
<?php echo htmlspecialchars($nama); ?>">*<span class="isa_error"><? 
     php echo $nama; ?></span></td> 
</tr> 
<tr> 
    <th width="208" scope="col"><span class="style32">No IC </span> </th> 
    <td width="320"><input name="noic" type="text" size="12"  
     maxlength="50" value="<?php echo htmlspecialchars($noic); ?>">* 
     <span class="isa_error"><?php echo $noic; ?></span> 
    </td> 
</tr> 
<tr> 
    <th scope="row"><span class="style32">Kata Laluan</span></th> 
    <td><input name="katalaluan" type="password" size="30" 
     maxlength="50" value="<?php echo htmlspecialchars($katalaluan); ? 
     >">*<span class="isa_error"><?php echo $katalaluan; ?></span> 
    </td> 
</tr> 
</table> 
<p align="center"> 
    <input name="btnSubmit" type="submit" value="Hantar"> 
    <input name="btnReset" type="reset" Value="reset"> </p> 

</form> 
</th></tr></table> 
+1

同じファイルを2回含むことはなく、includeの代わりにinclude_onceを使用してください。 – shubham715

+0

分かりやすいコードインデントが良い考えです。コードを読むのに役立ちます。もっと重要なのは**あなたのコードをデバッグするのに役立ちます** [コーディング標準を見てください](http://www.php-fig.org/psr/psr-2/ )あなた自身の利益のために。あなたはこのコード を数週間/数ヶ月で修正するように頼まれるかもしれません。そして、あなたは私に最後に感謝します。 – RiggsFolly

+0

私はそれを変更しました。それも同じです。 :( –

答えて

0

私の問題を解決しました.1。私は暗号化された$の上に 'if ....'を削除しました。 2.スパンエラーの横の '$ namaErrなど...'に変更し、変数を '$ nama = $ _POST [' nama ']と宣言します。等々....'。あなたのサポートに感謝します:)私のシステムにもっと多くの機能を追加する時間。希望がうまくいく...

関連する問題