Php 错误条件下的CodeIgniter验证问题?
我正在使用表单验证库 示例视图:Php 错误条件下的CodeIgniter验证问题?,php,codeigniter,Php,Codeigniter,我正在使用表单验证库 示例视图: <html> <head> <title>My Form</title> </head> <body> <?php echo validation_errors(); ?> <?php echo form_open('form'); ?> <h5>User
<html>
<head>
<title>My Form</title>
</head>
<body>
<?php echo validation_errors(); ?>
<?php echo form_open('form'); ?>
<h5>Username</h5>
<input type="text" name="username" value="" size="50" />
<h5>Password</h5>
<input type="text" name="password" value="" size="50" />
<h5>Password Confirm</h5>
<input type="text" name="passconf" value="" size="50" />
<h5>Email Address</h5>
<input type="text" name="email" value="" size="50" />
<div><input type="submit" value="Submit" /></div>
</form>
</body>
</html>
我的表格
用户名
密码
密码确认
电子邮件地址
控制器
在这种情况下,当我填写用户名,密码,确认密码和电子邮件留空,提交表单后,它得到一个错误的电子邮件要求。这很好,但在这种情况下,我的用户名、密码、确认密码字段的数据也已丢失,因此在发生任何错误时,请帮助我
它不应该清除其他输入字段…最后,我找到了解决方案: 我们必须在value参数中使用set_value(),如下所示:
<?php echo set_value('username'); ?>
最好的方法是通过Ajax帖子使用它。不需要混淆是否。
size=“50”/>
<input type="text" name="username" value=<?php echo $this->input->post("username");?> size="50" />
用以下代码替换您的表单代码:
<form>
<h5>Username</h5>
<input type = "text" name = "username" value = "<?php if (validation_errors()) { echo set_value('username'); } ?>" size = "50" />
<h5>Password</h5>
<input type = "text" name = "password" value = "<?php if (validation_errors()) { echo set_value('password'); } ?>" size = "50" />
<h5>Password Confirm</h5>
<input type = "text" name = "passconf" value = "<?php if (validation_errors()) { echo set_value('passconf'); } ?>" size = "50" />
<h5>Email Address</h5>
<input type = "text" name = "email" value = "<?php if (validation_errors()) { echo set_value('email'); } ?>" size = "50" />
<div><input type = "submit" value = "Submit" /></div>
</form>
用户名
使用:
我的表格
用户名
您可以使用回显错误来知道哪个字段填充不正确。尽管这可能是一个很好的答案,但是请考虑增加一些解释为什么这是正确的解决方案以及你到底在做什么:
<form>
<h5>Username</h5>
<input type = "text" name = "username" value = "<?php if (validation_errors()) { echo set_value('username'); } ?>" size = "50" />
<h5>Password</h5>
<input type = "text" name = "password" value = "<?php if (validation_errors()) { echo set_value('password'); } ?>" size = "50" />
<h5>Password Confirm</h5>
<input type = "text" name = "passconf" value = "<?php if (validation_errors()) { echo set_value('passconf'); } ?>" size = "50" />
<h5>Email Address</h5>
<input type = "text" name = "email" value = "<?php if (validation_errors()) { echo set_value('email'); } ?>" size = "50" />
<div><input type = "submit" value = "Submit" /></div>
</form>
<html>
<head>
<title>My Form</title>
</head>
<body>
<?php echo validation_errors(); ?>
<?php echo form_open('form'); ?>
<h5>Username</h5>
<input type="text" name="username" value="<?php echo set_value('username');?>" size="50" />
<h5>Password</h5>
<input type="text" name="password" value="<?php echo set_value('password');?>" size="50" />
<h5>Password Confirm</h5>
<input type="text" name="passconf" value="<?php echo set_value('passconf');?>" size="50" />
<h5>Email Address</h5>
<input type="text" name="email" value="<?php echo set_value('email');?>" size="50" />
<div><input type="submit" value="Submit" /></div>
</form>
</body>
</html>