从 php 动态变量设置 cookie
Set a cookie from a php dynamic variable
我有以下动态 php 变量。
responseId: <?php echo $checkAvailability->responseId?><br/>
searchId: <?php echo $checkAvailability->searchId?><br/>
totalFound: <?php echo $checkAvailability->totalFound?><br/>
我怎样才能 post 他们到下一页?我试过下面的代码,但响应是空的。
第一页:
<?php
$cookie_name = "searchID";
$cookie_value = "$checkAvailability->searchId";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
第 2 页:
<?php
echo "Value is: " . $_COOKIE[searchID];
?>
你能告诉我一个安全和工作的方法吗?
- PS:我已经通过在首页代码中移动设置的 cookie 代码来解决最初的问题。
谢谢。
首先,您需要验证您的浏览器的 cookie 是否打开以及什么没有...
其次,如果您要通过 $_COOKIE[$cookie_name] 访问 cookie - 那么您必须确保将 $cookie_name 设置为 'searchID' 值你用它创建了 cookie。
当我运行上面的代码时,它工作得很好......
您还可以执行 print_r($_COOKIE);
之类的操作来查看您的 cookie 到底发生了什么...
但是,在某些情况下,您可能会发现使用 $_SESSION
更合适 --- 请记住,cookie 中的值可能会被篡改...
来自手册:必须在脚本的任何输出之前发送 cookie
http://php.net/manual/en/function.setcookie.php
将 setcookie 代码移至脚本开头。
找到的解决方案:
Use $_SESSION
规则:在您需要 store/retrieve cookie 的每个页面上,将开始会话代码放在页面代码的顶部:
<?php
// Start the session
session_start();
?>
在第 1 页 - 我们存储 cookie 的页面:
<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set session variables
$_SESSION["searchId"] = $checkAvailability->searchId;
echo "Session variables are set.";
?>
</html>
</body>
您要在第 2 页或哪个页面检索并使用 cookies :
<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//in my case i wanted to use the cookies as a php variables
$searchId = $_SESSION["searchId"];
?>
</html>
</body>
http://www.w3schools.com/php/php_sessions.asp
干杯。
我有以下动态 php 变量。
responseId: <?php echo $checkAvailability->responseId?><br/>
searchId: <?php echo $checkAvailability->searchId?><br/>
totalFound: <?php echo $checkAvailability->totalFound?><br/>
我怎样才能 post 他们到下一页?我试过下面的代码,但响应是空的。 第一页:
<?php
$cookie_name = "searchID";
$cookie_value = "$checkAvailability->searchId";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
第 2 页:
<?php
echo "Value is: " . $_COOKIE[searchID];
?>
你能告诉我一个安全和工作的方法吗? - PS:我已经通过在首页代码中移动设置的 cookie 代码来解决最初的问题。 谢谢。
首先,您需要验证您的浏览器的 cookie 是否打开以及什么没有...
其次,如果您要通过 $_COOKIE[$cookie_name] 访问 cookie - 那么您必须确保将 $cookie_name 设置为 'searchID' 值你用它创建了 cookie。
当我运行上面的代码时,它工作得很好......
您还可以执行 print_r($_COOKIE);
之类的操作来查看您的 cookie 到底发生了什么...
但是,在某些情况下,您可能会发现使用 $_SESSION
更合适 --- 请记住,cookie 中的值可能会被篡改...
来自手册:必须在脚本的任何输出之前发送 cookie
http://php.net/manual/en/function.setcookie.php
将 setcookie 代码移至脚本开头。
找到的解决方案:
Use $_SESSION
规则:在您需要 store/retrieve cookie 的每个页面上,将开始会话代码放在页面代码的顶部:
<?php
// Start the session
session_start();
?>
在第 1 页 - 我们存储 cookie 的页面:
<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set session variables
$_SESSION["searchId"] = $checkAvailability->searchId;
echo "Session variables are set.";
?>
</html>
</body>
您要在第 2 页或哪个页面检索并使用 cookies :
<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//in my case i wanted to use the cookies as a php variables
$searchId = $_SESSION["searchId"];
?>
</html>
</body>
http://www.w3schools.com/php/php_sessions.asp
干杯。