通过 php session 发送变量到 form via fancybox 3 ajax

Send variable via php session to form via fancybox 3 ajax

我试图通过 php session [FIRST PAGE] 将变量传递给通过 ajax fancybox [SECOND PAGE] 调用的表单,但我只获得数组的最后一个值,并且不是我选择时需要的当前值。

这里是代码:

[第一页]

<?php
session_start();
$africa = array('algeria.png','angola.png', ... );
$africa_length = count($africa);

for($i = 0; $i < $africa_length; $i++){
$replace = str_replace(array(".png", "-"), " ", $africa[$i]);
$return = '<a data-fancybox="ajax" data-src="test.php" data-type="ajax" href="javascript:;">
<div class="international-item">
<div class="flag" style="background:url(img/flags/africa/'.$africa[$i].') no-repeat"></div>
<div class="txt_bold_2 nation">'.$replace.'</div>
</div>
</a>';

echo $return;
$_SESSION['varname'] = $africa[$i];
}
?>

[第二页]

<?php session_start();?>
<form>
...
</form>

<?php
$var_value = $_SESSION['varname'];
echo ($var_value);
?>

我需要将 [FIRST PAGE] 中选定的国家/地区传递到表单 [SECOND PAGE],以便在提交时将其插入数据库。

提前感谢您的帮助。

你必须这样做

for($i = 0; $i < $africa_length; $i++){

$_SESSION['varname'][] = $africa[$i];

}

由于循环运行会话变量每次都会更新

或者您可以直接将数组分配给会话变量

$_SESSION['varname'] = $africa;

如果我没理解错的话,您只需使用 $_GET 将此值传递给下一页即可。只需像这样创建链接:

data-src="test.php?varname='.$africa[$i].'"