如何在网站的网页上传递信息

时间:2011-04-23 17:32:56

标签: php session

我有这个网站,我经常发现自己试图将信息从一个网页传递到下一个网页,最好的方法是什么?会话几乎是最好的选择,因为如果我需要传递大量信息呢?什么?

6 个答案:

答案 0 :(得分:5)

我想有几种可能的解决方案:

  • 使用Cookie存储所有数据;好吧,一般不是一个好主意:
    • 他们的人数有限
    • 他们在每个页面加载(以及在请求资源,例如CSS / JS /图像时)来回网络
    • 它们存储在客户端
  • 将一个标识符从一个页面传递到下一个(使用URL中的参数,或通常是表单中的隐藏输入),并使用该标识符在某处获取/存储数据
    • 就像在数据库中一样
    • 或memcached群集
  • 或者只是使用PHP会话,这对你来说非常重要:
    • 标识符通常会在cookie中传递,
    • 默认情况下,数据将存储在文件中 - 但您可以非常轻松地将其存储在数据库或memcached群集中。


但请注意:PHP中的会话标识符通常使用cookie传递 - cookie由浏览器中的所有选项卡共享。

确保您的网站可以使用多个标签 - 一个标签中的会话修改不会打破其他标签中的导航!

答案 1 :(得分:2)

您可以通过以下方式在页面之间传递值:

  • request params
  • 会话
  • 饼干

例如,请阅读this链接。

答案 2 :(得分:2)

我假设你的意思是“在页面之间传递PHP变量的最佳方式是什么”。在这种情况下,会话是正确的答案。会话可以处理 php.ini 中内存限制之外的任何数据量。

您必须在要使用共享变量的所有PHP页面的顶部运行session_start();

您可以像数组一样管理会话变量:

<?php
    // Start/resume the session
    session_start();

    // Create a variable
    $myvariable = "Hello, world!";

    // Set the value of that variable to session
    $_SESSION["myvariable"] = $myvariable;

    // You can also set data directly to the session
    $_SESSION["anothervariable"] = "Bye, world!";
?>

现在,您可以从以下任意页面访问该数据:

<?php
    // Start/resume the session
    session_start();

    // Now you can fetch data from the same session variable
    echo $_SESSION["myvariable"]; // Hello, world!
    echo $_SESSION["anothervariable"]; // Bye, world!
?>

Tizag有一个关于使用PHP会话的创建教程:
http://www.tizag.com/phpT/phpsessions.php

祝你好运! : - )

答案 3 :(得分:2)

如果您使用的是php,并且只是将数据从一个页面传递到另一个页面,您就可以这样做 page1.php中

<a href="page2.php?somevalue=whatever&morevalue=somethingelse">Go to page 2</a>

使page2.php

<?
   echo $_GET["somevalue"]; //it will print out whatever
   echo "<br />".$_GET["morevalue"]; // it will print out somethingelse
?>

但也读了别人说的话:)。

答案 4 :(得分:1)

按用户可访问性(最少到最大)的顺序:

  • 会话变量 - $_SESSION['var']
  • 缓存
  • $_POST['var']
  • $_GET['var']

答案 5 :(得分:1)

如果您需要来回移动大量数据,将该信息保存到数据库可能是最有效的。它可以省去你必须将所有信息加载到cookie / session / etc中的麻烦。当你想要你的信息时,不得不在另一边进行解复用。

通过将其存储在数据库中,您可以确保它会持续存在,并且您可以随时返回并检索它。