Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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 - Fatal编程技术网

Php 具有两个按钮的窗体,需要两种不同的功能

Php 具有两个按钮的窗体,需要两种不同的功能,php,forms,Php,Forms,我这里有一个登录表单,有两个按钮,即登录和注册。它们都在一个窗体下,因此窗体有一个动作,并且它们都在执行相同的功能。我需要他们被链接到我的不同php页面。这是我的密码: <table> <tr> <form name="form1" method="post" action="checklogin.php"> <td> <table> <tr> <td colspan="3"><strong>Memb

我这里有一个登录表单,有两个按钮,即登录和注册。它们都在一个窗体下,因此窗体有一个动作,并且它们都在执行相同的功能。我需要他们被链接到我的不同php页面。这是我的密码:

<table>
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table>
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td">Username</td>
<td>:</td>
<td><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit1" value="Login"><input type="submit" name="Submit2" value="Sign Up""></td>
</tr>
</table>
</td>
</form>
</tr>
</table>

会员登录

如果我点击我的登录按钮,我希望它链接到“checklogin.php”,这与字段上的链接相同。如果我点击注册,它将链接到“signup.php”。

提交到一个地方。担心如何处理服务器上的数据

<?php
    if (isset($_POST['Submit1'])) {
        include('login.php');
    } else if (isset($_POST['Submit2'])) {
        include('signup.php');
    } else {
        # default behaviour
    }

在不更改服务器端代码的情况下,通过在提交之前使用javascript更改表单
操作
属性,可以轻松实现这一点。尝试以下模式:

<input type="submit" onclick="this.form.action = 'another_url';" />

我的建议是不要将任何按钮用作提交按钮。 使用onclick并链接到两个单独的函数-login()和register()

在login()和register()函数中,您可以使用jquery将表单提交到每个函数的不同url

在脚本中,需要定义函数

<script>
function login() {
   //make form post here
}
function register() {
//make form post here
}
</script>

函数登录(){
//在这里寄出表格
}
函数寄存器(){
//在这里寄出表格
}
请阅读以获取有关如何使用Ajax提交表单的更多详细信息


希望这有帮助

此功能可以使用JavaScript实现,这是选项之一。如果使用JavaScript,则无需使用表单标记

<input type="button" name="Submit1" value="Login" onclick="login()">
<input type="button" name="Submit2" value="Sign Up" onclick="signup()">
只需提醒给type=“button”而不是type=“submit”
如果使用JS,您可以对表单进行验证。希望这有帮助。

您可以在JavaScript linktoURL中创建函数。在按钮onClick事件上调用该函数,并将URL作为参数传递给要重定向的函数

function linktoURL(url)
{
    document.form1.action = url;
    document.form1.sumbit();
}



<table>
    <tr>
    <form name="form1" id="form1" method="post" action="checklogin.php">
        <td>
            <table>
                <tr>
                    <td colspan="3"><strong>Member Login </strong></td>
                </tr>
                <tr>
                    <td">Username</td>
                    <td>:</td>
                    <td><input name="myusername" type="text" id="myusername"></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td>:</td>
                    <td><input name="mypassword" type="password" id="mypassword"></td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>
                        <input type="button" name="Submit1" value="Login" onclick="linktoURL('checklogin.php');">
                        <input type="button" name="Submit2" value="Sign Up" onclick="linktoURL('signup.php');"></td>
                </tr>
            </table>
        </td>
    </form>
</tr>
</table>
函数链接地址(url)
{
document.form1.action=url;
document.form1.sumbit();
}
会员登录

将它们发送到同一个操作,并检查单击了哪个按钮,或者使用单独的表单。它们是您唯一不依赖javascript的选项。您的HTML无效,会导致某些浏览器破坏表单,编写真正的HTML。我会避免增加对JavaScript的依赖性,特别是当它可以在服务器端处理得如此简单而不会对访问者造成任何负面影响时。好吧,只是展示另一种方法。已提供服务器端答案。另一个想法是:如果您不能轻松更改服务器端代码怎么办?
function linktoURL(url)
{
    document.form1.action = url;
    document.form1.sumbit();
}



<table>
    <tr>
    <form name="form1" id="form1" method="post" action="checklogin.php">
        <td>
            <table>
                <tr>
                    <td colspan="3"><strong>Member Login </strong></td>
                </tr>
                <tr>
                    <td">Username</td>
                    <td>:</td>
                    <td><input name="myusername" type="text" id="myusername"></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td>:</td>
                    <td><input name="mypassword" type="password" id="mypassword"></td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>
                        <input type="button" name="Submit1" value="Login" onclick="linktoURL('checklogin.php');">
                        <input type="button" name="Submit2" value="Sign Up" onclick="linktoURL('signup.php');"></td>
                </tr>
            </table>
        </td>
    </form>
</tr>
</table>