【发布时间】:2015-11-21 03:09:19
【问题描述】:
我正在学习 php 函数,但我无法根据用户更改为选择来为会话数组中的键分配新值。 (我有点菜鸟..)。
选择输入是foreach 循环的一部分(foreach($_SESSION['results'] as $players){。$players[0] 是玩家 ID 号。
这里是选择输入:
<select name='place" . $players[0] ."' onchange='placechange(". $players[0] .", this)'>
<option value='5'>5th</option>
<option value='4'>4th</option>
<option value='3'>3rd</option>
<option value='2'>2nd</option>
<option value='1'>1st</option>
</select>
和功能
function placechange($id, $pla){
for ($x = 0; $x < count($_SESSION['results']); $x++){
if ($_SESSION['results'][$x][0] == $id){
$_SESSION['results'][$x]['place'] = $pla;
}
}
}
如果第 4 名玩家赢得比赛,并且与该名称对应的选择框更改为“1st”,则所需的输出为:
$_SESSION['results'][3]['place'] => 1; 但没有任何改变。
我不确定,但我认为我将 php 函数与 js 函数混淆了?使用用户计算机上的更改来更改存储在服务器上的数组值......嗯......我想这并不真正有效......
那么如何使用 onchange(或类似的)来更改 php 会话数组值?
【问题讨论】:
-
您将 JS 和 PHP 混合在一起,如果您想在浏览器中监控 onchange 事件并设置会话变量,您需要使用 Javascript 监控事件并将其发送到服务器AJAX。
-
我认为可能是这样。这项工作即将完成,现在只需调整一些东西,我将不得不去学习AJAX来完成它......哦,我迟早要学习它......谢谢提示。如果您将其发布为答案,我会给您打勾@Dontfeedthecode。
标签: php function select this onchange