我使用的是Apache 2.4.3,MySQL 5.5.27,PHP 5.4.7,phpMyAdmin 3.5.2.2。请帮助我,我不能不知道这一点。在下面的代码中,我有$errors[]='All fields required';
这对我不起作用。在将其更改为echo 'All fields required';
之前,它不会显示任何错误。但是这段代码来自视频教程,对他有用。
谁能告诉我它不适合我的原因?
这是我的代码:
<?php
include 'ini.php';
?>
<form action="register.php" method="post">
<p>Username:<br/><input type="text" name="reg_u_name" maxlength="20" ></p>
<p>Password:<br/><input type="password" name="reg_password" maxlength="20" ></p>
<p><input type ="submit" value="Register" ></p>
</form>
<?php
if (isset( $_POST['reg_u_name'], $_POST['reg_password'] )) {
$reg_u_name = $_POST['reg_u_name'];
$reg_password = $_POST['reg_password'];
$errors = array();
if (empty($reg_u_name) || empty($reg_password)) {
$errors[] = 'All fields required';
} else {
if (strlen($reg_u_name) > 50 || strlen($reg_password) > 50) {
$errors[] = 'One or more fields contains too many characters';
}
}
}
?>
如果有人给出负面投票,请说明原因
答案 0 :(得分:1)
在if条件之后尝试输入此代码:
foreach($errors as $error) {
echo "$error<br/>\n";
}
答案 1 :(得分:0)
如果代码在同一页面中,那么表单操作将为空白
<form action="" method="post">
答案 2 :(得分:0)
您正尝试将错误消息“需要所有字段”放入数组中,您需要打印该数组
像这样 print_r($errors);
答案 3 :(得分:0)
if( isset ( $_POST['reg_u_name']) && isset($_POST['reg_password'])) {
echo $reg_u_name = $_POST['reg_u_name'];
echo $reg_password = $_POST['reg_password'];
$errors = array();
if (empty($reg_u_name) || empty($reg_password)) {
$errors[0]= 'All fields required';
}else{
if (strlen($reg_u_name) > 50 || strlen($reg_password) > 50){
$errors[0]= 'One or more fields contains too many characters';
}
}
echo '<pre>';print_r($errors); echo '<pre>';
}
立即工作
答案 4 :(得分:0)
if ( isset( $_POST['reg_u_name']) && isset($_POST['reg_password']) ) {
PLZ尝试使用这个