我遇到了这个令人讨厌的问题,我无法找到答案。基本上我的php页面上有多个表单。我需要根据访问者使用的表单传递$ _SESSION值。
例如,如果他使用一个表单,我需要这些值
session_start();
$_SESSION['socnetwork'] = '1';
$_SESSION['cost'] = '15';
$_SESSION['soccount'] = '100';
如果他在该页面上使用其他表单,我需要在submit =“somepage.php”上传递不同的值,例如
session_start();
$_SESSION['socnetwork'] = '2';
$_SESSION['cost'] = '55';
$_SESSION['soccount'] = '700';
你会如何推荐我接近这个?变量需要安全!我无法通过URL传递它们,尽管这样会很方便。
答案 0 :(得分:0)
你可以在会话中存储数组,所以制作像$_SESSION['custom_pages']
这样的东西,其中每个键是页面(或id)和值的名称 - 是'socnetwork','cost',...的数组。
session_start();
$_SESSION['form1'] = ['socnetwork'> = '1',
'cost' => '15',
'soccount' => '100];
....
....
$_SESSION['form2'] = ['socnetwork'> = '2',
'cost' => '55',
'soccount' => '700];
答案 1 :(得分:0)
在客户端,您可以使用if
语句(在这种情况下您需要JavaScript)并使用POST request将所需信息发送到PHP服务器端。
在服务器端,您可以创建一个处理代码,该代码会将所需的值设置为$_SESSION
变量。
或者,如果值是固定的,您可以不发送值,而是从客户端向服务器端发送一些整数或字符串代码(可以使用纯HTML完成),然后使用if
服务器端的语句(在您的情况下为PHP)。在这种情况下,也可以使用PHP将数字插入HTML表单:
<input type='hidden' name="category" value=" <?php echo $some_code; ?> " />
答案 2 :(得分:0)
提交按钮会将其名称添加到$_POST
按钮,因此,如果您为按钮命名,则会知道访问者使用了哪个按钮。
E.g
<form action="somepage.php">
<input type="submit" name="form1" value="Submit!">
</form>
<form action="somepage.php">
<input type="submit" name="form2" value="Submit other form!">
</form>
<?php var_dump($_POST); ?>
会给出
array(1){[&#34; form1&#34;] =&gt;字符串(7)&#34;提交!&#34; }
array(1){[&#34; form2&#34;] =&gt; string(18)&#34;提交其他表格!&#34; }
从那时起,检查某个密钥是否存在就成了问题。