提交表单的结果是没有错误到另一个页面


Submitting form results that there is no error to another page

我想知道如何在索引中发送值表单my_name.php下面的结果.php。

下面是用于在输入表单后检查错误的 PHP 代码。以及如何发送没有错误的表单结果.php

这是索引.php

<?php 
if ($_POST["_submit_check"]) {
    if ($form_errors = validate_form()) {
    show_form($form_errors);
    } else {
process_form();
}
} else {
show_form();
}
function process_form() {
//if doesnt makes error
//i want to send result "my_name" to result.php
header('Location: result.php');
}
function show_form($errors = '') {
    if ($errors) {
    print implode('</li><li><br>', $errors);
    print '</li></ul>';
}
print<<<_HTML_
<form method="POST" action="$_SERVER[PHP_SELF]">
Your name: <input type="text" name="my_name">$errors[0];
<br/>
<input type="submit" value="Submit">
<input type="hidden" name="_submit_check" value="1">
</form>
_HTML_;
}
function validate_form() {
    $errors = array();
    if (strlen($_POST['my_name']) < 3) {
    $errors[] = "Your name must be at least 3 letters long.";
    }
    return $errors;
}
?>

这是结果.php

<?php
//prints result form from index.php
?>
你可以

用HTTP GET变量来做到这一点

header('Location: result.php?name='.$_POST['my_name']);

结果.php

你可以看到值

echo $_GET['name'];

PHP 会话变量保存页面之间的信息。

请尝试此。

在索引处.php

<?php
  session_start();
  // set post date into session variable
  $_SESSION['my_name'] = $_POST['my_name'];
  $_SESSION['my_number'] = $_POST['my_number'];
?>

结果呢.php

<?php
  session_start();
  // get date from session variable
  $my_name = $_SESSION['my_name'];
  $my_number= $_SESSION['my_number'];
  echo $my_name;
  echo $my_number;
?>