在会话中存储php变量并调用分页链接
目前我正在通过GET拨打以下电话在会话中存储php变量并调用分页链接,php,mysql,pagination,Php,Mysql,Pagination,目前我正在通过GET拨打以下电话 $RimWidth = $_GET['RimWidth']; $TyreWidth = $_GET['TyreWidth']; $Aspect = $_GET['Aspect']; $TyreDia = $_GET['TyreDia']; $TyreMan = $_GET['TyreMan']; 然而,在我的分页中,在第1页之后,它松开了变量,不起作用。我知道我需要在会话中存储它们。我如何做到这一点,因为我已经看到了一些这样做的方法,但无法让它工作,我如何将
$RimWidth = $_GET['RimWidth'];
$TyreWidth = $_GET['TyreWidth'];
$Aspect = $_GET['Aspect'];
$TyreDia = $_GET['TyreDia'];
$TyreMan = $_GET['TyreMan'];
然而,在我的分页中,在第1页之后,它松开了变量,不起作用。我知道我需要在会话中存储它们。我如何做到这一点,因为我已经看到了一些这样做的方法,但无法让它工作,我如何将它们放在分页链接的末尾,看起来像这样
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> ";
echo”“;
谢谢如果使用会话,您需要在PHP页面顶部显示以下内容:
session_start();
那么,你真的应该为每一个这样做:
$RimWidth = isset($_GET['RimWidth']) ? trim(strip_tags($_GET['RimWidth'])) : null;
$_SESSION['RimWidth'] = $RimWidth;
// and so on
trim()。绝不信任任何POST、GET或会话数据。它们都可能被黑客入侵。如果RimWidth始终返回一个整数,则将(int)
放在前面,如下所示:
(int) $RimWidth = isset($_GET['RimWidth']).............
您不需要将会话变量添加到分页链接的末尾,它们是会话变量,将在下一页或任何其他页上提供
要在另一页上调用它们,请执行以下操作:
echo $_SESSION['RimWidth'];
如果只想重复$\u GET值,可以创建一个函数:
//A function to get and repeat arguments in every link
function repeatvars(){
if(isset($_GET) && empty($_GET) == false){
$variables = "?";
$arraycount = count($_GET) - 1;
$count = 0;
foreach ($_GET as $var => $value){
if(empty($value) == true){
$variables .= $var;
}else{
$variables .= $var."=".$value;
}
if ($count !== $arraycount){
$variables .= "&";
}
$count++;
}
return $variables;
}}
//Example
echo '<a href="nextpage.php'.repeatvars().'">Next Page</a> (Link: nextpage.php'.repeatvars().')';
//在每个链接中获取并重复参数的函数
函数repeatvars(){
if(isset($\u-GET)&&empty($\u-GET)==false){
$variables=“?”;
$arraycount=计数($\u GET)-1;
$count=0;
foreach($\u获取为$var=>$value){
if(空($value)=真){
$variables.=$var;
}否则{
$variables.=$var.“=”$value;
}
如果($count!=$arraycount){
$variables.=“&”;
}
$count++;
}
返回$variables;
}}
//范例
echo'(链接:nextpage.php.repeatvars());
您尝试了什么?这是基本的,有很多你不需要添加到分页链接的末尾,它们是会话变量,将在下一页或任何页面上提供。