Php 在一页中有两个表单并设置会话
我有两份文件和两份表格: 文件1:Php 在一页中有两个表单并设置会话,php,forms,session,Php,Forms,Session,我有两份文件和两份表格: 文件1: <form name="name1" action="form2.php" method="post"> <input <? $_session['define'] = 'value1' ?> type="submit" ...> </form> <form name="name2" action="form2.php" method="post"> <input <?
<form name="name1" action="form2.php" method="post">
<input <? $_session['define'] = 'value1' ?> type="submit" ...>
</form>
<form name="name2" action="form2.php" method="post">
<input <? $_session['define'] = 'value2' ?> type="submit" ...>
</form>
type=“提交”…>
正如您所见,我有两个表单和两个不同的提交按钮,但当我按下每个表单时,第二个值(最后一个)设置为$_会话['define'],在第二个表单中,我始终有'value2'。您必须将数据发布到PHP:
<form name="name1" action="form2.php" method="post">
<input name='v1' value='1' type="submit" />
</form>
<form name="name2" action="form2.php" method="post">
<input name='v2' value='2' type="submit" />
</form>
在form2.php中:
<?php
session_start();
$_SESSION['value1'] = isset($_POST['v1'])?$_POST['v1']:0;
$_SESSION['value2'] = isset($_POST['v2'])?$_POST['v2']:0;
?>
就我个人而言,我会把它做成一个表单,并使用JQuery/AJAX发布这些值
<form id="selectForm" name="name1" action="form2.php" method="post">
<input id="v1" name='v1' value='1' type="submit" />
<input id="v2" name='v2' value='2' type="submit" />
</form>
<script>
// Requires JQuery
$("#selectForm input[id^='v']").click(function(e){
e.preventDefault();
$.post(form2.php, { $(this).attr("name"): $(this).attr("value") }, function(){ alert("Selection Saved.) });
});
</script>
//需要JQuery
$(“#选择表单输入[id^='v']”)。单击(函数(e){
e、 预防默认值();
$.post(form2.php,{$(this.attr(“name”):$(this.attr(“value”)},function(){alert(“Selection Saved”)});
});
我不明白,应该发生什么?在您的第一个php代码片段中,您将“value1”赋值给会话['define']
,然后您只需在php的第二行中覆盖它。如果您试图设置要设置的值的大小写,您必须检查是否设置了$\u POST变量。但是,您的问题非常不清楚,我不知道首先应该发生什么。您无法在HTML中设置值。在将数据发送到要设置这些值,您需要将值发布到PHP,以便PHP可以将它们输入会话。这可以通过单击提交或通过AJAX完成。