1

我正在寻找一种在使用 cookie 提交后保留表单值的方法(在转到 page2 并返回 page_form 之后)。我真的很努力,但我需要你们帮助。

我试过了,但没有用

<? php
if (isset($_POST['Infos_test']))
{
$expire = 8*3600; 
setcookie("Infos_test", $_POST['from']&|&$_POST['area_html'], time()+$expire);  
}
?>

......

<?php
if (isset($_COOKIE['Infos_test']))
{
$Infos_test = explode("&|&", $_COOKIE['Infos_test']); 
}
?>

......

<input type="text" name="from" style="width:350px"  value="<?php echo $Info_test[0]; ?>"/>

<textarea valign="top" name="area_html" style="width:350px; height:150px; resize:none;" /><?php echo $Info_test[1]; ?></textarea>
4

3 回答 3

0

我更喜欢在 cookie 之前使用 SESSION 变量。这是一个示例代码:

在表单接收页面上:

session_start();
$_SESSION['from'] = $_POST['from'];
$_SESSION['area_html'] = $_POST['area_html'];

然后在您的其他页面上:

<?php session_start(); ?>
<!-- here is your html header etc -->
From: <?php echo $_SESSION['from']; ?><br>
Area HTML: <?php echo $_SESSION['area_html']; ?>

请注意,该session_start();部分必须在任何其他 HTML 输出之前声明。

表单的 HTML 语法应为:

<input type="text" name="from" style="width:350px" value="<?php echo $_SESSION['from']; ?>" />
<textarea valign="top" name="area_html"><?php echo $_SESSION['area_html']; ?></textarea>

请注意 INPUT 标记的类型以及如何将值插入 TEXTAREA 的方式。

于 2013-04-16T09:43:27.323 回答
0

$_SESSION您可以使用变量而不是 cookie在 php 会话中保存表单值。

这里有几个教程可以帮助您做到这一点。

会话_php 1 会话_php 2

于 2013-04-16T09:43:41.133 回答
0

只需复制并粘贴此代码test.php并运行并刷新它.. 你就会明白它是如何工作的。

<?php
if (isset($_POST['sub'])) {

    echo "Values from POST <br />";
    echo "<pre>";
        print_r($_POST);
    echo "</pre>";


    $post_arr = $_POST;

    echo "<pre>";
        print_r($post_arr);
    echo "</pre>";

    echo "<pre>";
        print_r(serialize($post_arr));
    echo "</pre>";

    $expire = 8*3600; 
    setcookie("Cookie_Info", serialize($post_arr), time()+$expire); 




}


if (isset($_COOKIE['Cookie_Info'])) {
    $data = unserialize($_COOKIE['Cookie_Info']);
} else {
    $data = array(
        'from' => '',
        'area_html' => ''
    );
    /* in above array add what ever fields in a form with same field name */

}

echo "This is what we get from cookie";
echo "<pre>";
    print_r($data);
echo "</pre>";

?>

To view Cookie, it need browser refres one time <br />


<form name="test_form" method="post">

<input type="text" name="from" value="<?php echo $data['from']; ?>" /> <br />
<textarea rows="3" name="area_html" ><?php echo $data['area_html']; ?></textarea> <br />
<input type="submit" name="sub" value="Submit" />


</form>
于 2013-04-16T10:12:21.427 回答