0

单击提交按钮时,下面的代码应该在表单上方给出错误或确定。但问题是它不会做任何事情。谁能告诉我我在这里做错了什么?

<?php
include 'ini.php';
?>

<?php
if(isset ( $_POST['reg_u_name'],$_POST['reg_email'], $_POST['reg_password'] )) {
$reg_u_name = $_POST['reg_u_name'];
$reg_email = $_POST['reg_email'];
$reg_password = $_POST['reg_password'];

$errors = array();

if (empty($reg_u_name) || empty($reg_email) || empty($reg_password)) {
    $errors[] = 'All fields required';
}else{
    echo 'OK';
}

}
?>

<form action="" method="post">
<p>Username:<br/><input type="text" name="reg_u_name" maxlength="20"  ></p>
<p>Email:<br/><input type="text" name="reg_email" maxlength="20" ></p>
<p>Password:<br/><input type="password" name="reg_password" maxlength="20" ></p>
<p><input type="submit" value="Register"></p>
</form>

ini.php 文件

<?php
session_start();
error_reporting(0);
require 'connect.php';
include 'user.func.php';
?>
4

3 回答 3

1

现在试试。这行得通。

    <?php
//include 'ini.php';
if(isset($_POST['subBtn']))
{
if(isset($_POST['reg_u_name'] ,$_POST['reg_email'], $_POST['reg_password'] ))
 {
$reg_u_name = $_POST['reg_u_name'];
$reg_email = $_POST['reg_email'];
$reg_password = $_POST['reg_password'];

if (empty($reg_u_name) || empty($reg_email) || empty($reg_password)) {
    echo 'All fields required';
}else{
    echo 'OK';
 }
 }
}
?>

<form action="" method="post">
<p>Username:<br/><input type="text" name="reg_u_name" maxlength="20"  ></p>
<p>Email:<br/><input type="text" name="reg_email" maxlength="20" ></p>
<p>Password:<br/><input type="password" name="reg_password" maxlength="20" ></p>
<p><input type="submit" value="Register" name="subBtn"></p>
</form>
于 2013-04-24T07:30:11.610 回答
0

如果您的 post 数组中只有一个值未设置,那么您的 if 条件永远不会满足,这意味着您将不会获得任何您期望的显示。

我建议单独检查以设置您的个人变量并执行ifon $_POST['submit']此外$errors,如果它确实被分配,你永远不会对你的数组做任何事情。^^

以下对我有用:

<?php

if(isset ( $_POST['reg_u_name'],$_POST['reg_email'], $_POST['reg_password'] )) {
$reg_u_name = $_POST['reg_u_name'];
$reg_email = $_POST['reg_email'];
$reg_password = $_POST['reg_password'];

$errors = array();

if (empty($reg_u_name) || empty($reg_email) || empty($reg_password)) {
    echo 'All fields required';
}else{
    echo 'OK';
}

}
?>

<form action="" method="post">
<p>Username:<br/><input type="text" name="reg_u_name" maxlength="20"  ></p>
<p>Email:<br/><input type="text" name="reg_email" maxlength="20" ></p>
<p>Password:<br/><input type="password" name="reg_password" maxlength="20" ></p>
<p><input type="submit" value="Register"></p>
</form>

PHPFiddle

于 2013-04-24T07:26:09.257 回答
0

输入名称属性以输入提交类型,例如

 <input type="submit" name="regist" value="Register">

并更改为此代码

<?php
if(isset($_POST['regist']))
{
  $reg_u_name = $_POST['reg_u_name'];
  $reg_email = $_POST['reg_email'];
  $reg_password = $_POST['reg_password'];

  $errors = array();

  if (empty($reg_u_name) || empty($reg_email) || empty($reg_password)) {
   $errors[] = 'All fields required';
  }else{
    echo 'OK';
  }
}
?>

如果填写了所有表格,它将回显“确定”。

于 2013-04-24T07:34:08.610 回答