2012-05-30 40 views
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; 
} 

?> 

这里是result.php

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

'result.php'是完全没用的 –

回答

1

你可以用HTTP GET variables

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

in result.php

你可以看到价值

echo $_GET['name']; 
+0

谢谢。有用。但是,如果我有2个字段,该怎么办? (my_name and my_addr) and post to result.php –

+0

您可以添加更多以'&'分隔的参数:header('Location:result.php?name ='。$ _ POST ['my_name']。'&address =' 。$ _ POST [ 'my_address']); –

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; 
?>