php注册表格不能正常工作

时间:2013-04-25 04:48:05

标签: php webforms registration

我使用的是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';
      }
   }
}
?>

如果有人给出负面投票,请说明原因

5 个答案:

答案 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尝试使用这个