Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在一页中有两个表单并设置会话_Php_Forms_Session - Fatal编程技术网

Php 在一页中有两个表单并设置会话

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 <?

我有两份文件和两份表格:

文件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 <? $_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完成。