2012-02-09 10 views
0
<?=form_open('forums/register');?> 
      <table> 
       <tr> 
        <td><label for="register_name">Username : </label></td> 
        <td><input type="text" name="register_name" disabled="disabled" value="<?=$_POST['username']?>"/></td>      
       </tr> 
       <tr> 
        <td><label for="register_email">Email:</label></td> 
        <td><input type="text" name="register_email" disabled="disabled" value="<?=$_POST['email']?>"/></td>     
       </tr>     
       <tr> 
        <td><label for="register_password">Password:</label></td> 
        <td><input type="password" name="register_password" disabled="disabled" value="<?=$_POST['password']?>"/></td>     
       </tr>    
       <tr> 
        <td></td> 
        <td><input type="submit" value="Register" onclick="return true;"/></td> 
       </tr> 
       <tr> 
        <td></td> 
        <td><input type="submit" value="Edit" onclick="window.location.replace('forums/index.php');return true;"></td>      
       </tr> 
      </table> 
     <?=form_close()?> 

これは私の確認会社で、ユーザー情報がmysqlテーブルに保存される前です。しかし、私はパスワードとアクティベーションキーで動作するが、ユーザー名と電子メールアドレスはすべてnullであるため、なぜこのエラーが出るのか分かりません。データベースへの挿入がエラーコード1048で失敗する

$member_data=array 
     (
      'name'=> $p['register_name'], 
      'email'=> $p['register_email'], 
      'pass'=> md5($p['register_password']), 
      'activation' => md5(uniqid(rand(),true)) 
     ); 

この初期化は、このことについて私の最新の解決の問題のように正常に動作し、次のように

Column 'name' cannot be null 

INSERT INTO `membertb` (`name`, `email`, `pass`, `activation`) VALUES (NULL, NULL, 'd41d8cd98f00b204e9800998ecf8427e', '034db1787db6b3d72365507fcb2d1ca0') 

とメンバーのデータが読み込まれます。 ありがとうございました..

答えて

0

あなたのHTMLフォームでは、あなたのregister_nameフィールドは無効になっています。したがって、サーバーには送信されません。だから$ p ['register_name']はnullで、あなたの 'name'フィールドはNULLではないと思います。

HTMLフォームで無効にする代わりに読み取り専用を使用してみてください。

関連する問題