我正在尝试创建一个具有两个单独表单的动态网页:
- 登录表单
- 登记表
这意味着每个表单都有一个提交按钮,点击一个提交键应该只从一个表单收集数据。我尝试了下面显示的方法,但数据没有提交到mySql数据库。我试过单独运行这些表单,它们确实与mysql数据库一起工作,所以我想应该还有其他问题。下面的代码去掉了细节,但我认为它的要点在里面。提前感谢!
<?php
if(isset($_POST['submit1']))
{
doSomething();
}
?>
<form id="form1" name="form1" action="" method="post">
...
<input type="submit" name="submit1" value="Sign in"/>
</form>
<?php
if(isset($_POST['submit2']))
{
doSomethngElse();
}
?>
<form id="form2" name="form2" action="" method="post">
...
<input type="submit" name="submit2" value="Sign up"/>
</form>
所以我喜欢这个:
使用2个按钮和1个名称:
//========== first form ==========
<form name="form1" action....>
fields
<input type="submit" name="_Submit" value="Login">
</form>
// ========== second form ==========
<form name="form2" action....>
fields
<input type="submit" name="_Submit" value="Sign up">
</form>
// ========== in php file do this ==========
<?php
$submit = $_POST["_Submit"];
if($submit=="Login"){
// get login form data
}else if($submit=="Sign up"){
// get sign up form data
}else{
// submit is empty or undefined value
}
?>
- 我在一页中使用了超过16个表单!这是使用if或switch控制表单按钮的非常简单的方法
尝试首先检查请求后的
<?php
if($_POST)
{
echo "post occurs"; // only for testing to check whether post is occur or not
if(isset($_POST['submit1']))
{
doSomething();
}
else if(isset($_POST['submit2']))
{
doSomethngElse();
}
else
{
echo "no form is posted";
}
}
else
{
echo "Post not happened";
}
?>
<form id="form1" name="form1" action="" method="post">
...
<input type="submit" name="submit1" value="Sign in"/>
</form>
<form id="form2" name="form2" action="" method="post">
...
<input type="submit" name="submit2" value="Sign up"/>
</form>
这并不是直接回答您的问题,我认为需要您的其余代码。。。但是
为什么不只检查像这样的单个表单元素中的值:
<?php
if(isset($_POST['submit1']))
{
if(!empty($_POST['submit1']) && $_POST['submit1']=='SignIn')
{
// Do Some Code... like:
?>
<form id="form1" name="form1" action="" method="post">
...
<input type="submit" name="submit1" value="SignIn"/>
</form>
<?php
}
if(!empty($_POST['submit1']) && $_POST['submit1']=='SignUp')
{
// Do Some Other Code...
?>
<form id="form2" name="form2" action="" method="post">
...
<input type="submit" name="submit1" value="SignUp"/>
</form>
<?php
}
}
?>
就像我说的,你可以检查值是否为空,这样你就可以进行
if(isset($_POST['submit2']) == ""){
//The variable is empty
}
else
{
//The variable is not empty
}
如果我纠正了,你就可以做
if (!(empty($_POST['submit2'])){
//This variable is not empty
}