<?=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表之前的确认公司。但是我遇到了这个错误,我不知道为什么,因为它适用于密码和激活密钥,但用户名和电子邮件地址都是空的。
Column 'name' cannot be null
INSERT INTO `membertb` (`name`, `email`, `pass`, `activation`) VALUES (NULL, NULL, 'd41d8cd98f00b204e9800998ecf8427e', '034db1787db6b3d72365507fcb2d1ca0')
成员数据读取如下
$member_data=array
(
'name'=> $p['register_name'],
'email'=> $p['register_email'],
'pass'=> md5($p['register_password']),
'activation' => md5(uniqid(rand(),true))
);
此初始化工作正常,就像我最近解决的问题一样。感谢您提供任何有用的更正..
您的 HTML 表单中的register_name字段被禁用。所以它不会发送到服务器。所以$p['register_name'] 是空的,我想你的"名称"字段不是空的。
尝试在 HTML 表单中使用只读而不是禁用。