0

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

下面是输入表单后检查错误的php代码。以及如何将没有错误的表单结果发送到 result.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;
}

?>

这是结果.php

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

2 回答 2

1

你可以用HTTP GET 变量来做

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

在结果.php

你可以看到价值

echo $_GET['name'];
于 2012-05-30T04:05:22.163 回答
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;
?>
于 2012-05-30T04:32:21.370 回答