提交表单会导致其他页面没有错误

时间:2012-05-30 04:01:15

标签: php

我想知道如何将index.php中my_name的值发送到result.php。

下面是输入表单后检查错误的php代码。 以及如何向form.php

发送没有错误的表单结果

这里是index.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;
}

?>

这里是result.php

<?php
//prints result form from index.php
?>

2 个答案:

答案 0 :(得分:1)

您可以使用HTTP GET variables

执行此操作
header('Location: result.php?name='.$_POST['my_name']);

在result.php中

你可以看到值

echo $_GET['name'];

答案 1 :(得分:1)

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

请试一试。

在index.php

<?php
  session_start();

  // set post date into session variable
  $_SESSION['my_name'] = $_POST['my_name'];
  $_SESSION['my_number'] = $_POST['my_number'];

?>

并在result.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;
?>