在一页纸上有两张表格,并设置会话


Have two forms in one page and set 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 <? $_session['define'] = 'value2' ?> type="submit" ...>
</form>

正如你所看到的,我有两个表单和两个不同的提交按钮,但当我按下它们中的每一个时,第二个值(最后一个)设置为$_session['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/AAJAX来POST值。

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