我有这个网站,在那里我经常发现自己试图从一个网页传递信息到下一个,什么是最好的方式?会话是最好的选择吗,因为如果我需要传递很多信息怎么办?然后呢?
我想你有几种可能的解决方案:
- 使用cookie存储所有数据;嗯,通常不是个好主意:
- 它们的大小有限
- 它们在网络上来回加载(以及当请求资源时,如CSS/JS/images)
- 它们存储在客户端
- 将一些标识符从一个页面传递到下一个页面(通常使用URL中的参数或表单中的隐藏输入),并使用该标识符在某处获取/存储数据
- 就像在数据库中一样
- 或memcached集群
- 或者直接使用PHP会话,它会为你做这些,基本上:
- 标识符通常会在cookie中传递, 默认情况下,数据将存储在文件中,但您可以将其存储在数据库或memcached集群中,这很容易。
不过请注意:在PHP中,会话标识符通常使用cookie传递——该cookie由浏览器中的所有选项卡共享。
确保您的网站将与多个选项卡一起工作-从一个选项卡的会话中的修改不会破坏在其他选项卡中的导航!
您可以通过以下方式在页面之间传递值:
- 请求参数
- <
- 会话/gh><
- 饼干/gh>
我想你的意思是"在页面之间传递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
祝你好运!: -)
如果您正在使用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
?>
但也要读别人说的话:)
按照用户可访问性的大小排序:
- 会话变量-
$_SESSION['var']
< - 饼干/gh>
-
$_POST['var']
-
$_GET['var']
如果您有大量的数据需要来回移动,那么将这些信息保存到数据库中可能是最有效的。它将为你省去将所有信息加载到cookie/会话等的麻烦。然后当你想要回你的信息时,就必须在另一边去复用。
通过将其存储在数据库中,您可以确保它将持久存在,并且您可以随时返回并检索它。