我想将注册和登录表单放在同一页面上 它们都以:
开头if (!empty($_POST)) ...
所以,我需要这样的东西:
if (!empty($_POST_01))... // regForm
and
if (!empty($_POST_02))... //loginForm
如果第二种形式繁忙,如何防止执行第一种形式,反之亦然(用户点击两者)
我的想法是在启动流程上创建一个简单的变量,例如$x = 1
和流程$x = 0
的末尾,所以:
if ((!empty($_POST_01)) And $x = 0)...
可能有更好的方法。
答案 0 :(得分:33)
你可以用两种不同的动作制作两种形式
<form action="login.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit" value="Login">
</form>
<br />
<form action="register.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit" value="Register">
</form>
或者这样做
<form action="doStuff.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="hidden" name="action" value="login">
<input type="submit" value="Login">
</form>
<br />
<form action="doStuff.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="hidden" name="action" value="register">
<input type="submit" value="Register">
</form>
然后你的PHP文件将作为一个开关($ _ POST ['action'])...此外,他们不能同时点击两个链接或同时发出请求,每个提交都是一个单独的请求
然后您的PHP将继续使用切换逻辑或使用不同的php文件执行登录过程然后注册过程
答案 1 :(得分:8)
您可以将每个表单转到不同的页面。 (这是更好的)
或者对于某个输入和基础帖子具有不同的值:
switch($_POST['submit']) {
case 'login':
//...
break;
case 'register':
//...
break;
}
答案 2 :(得分:4)
为两个表单提交不同名称的提交按钮,并使用PHP检查哪个按钮已提交数据。
表格一键 - btn1 表格二按钮-btn2
PHP代码:
if($_POST['btn1']){
//Login
}elseif($_POST['btn2']){
//Register
}
答案 3 :(得分:1)
希望这会对你有所帮助。假设登录表单具有:用户名和密码输入。
if(isset($_POST['username']) && trim($_POST['username']) != "" && isset($_POST['password']) && trim($_POST['password']) != ""){
//login
} else {
//register
}
答案 4 :(得分:0)
您可以使用这种最简单的方法。
<form action="validator.php" method="post" id="form1">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit" value="submit" form="form1">
</form>
<br />
<form action="validator.php" method="post" id="form2">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit" value="submit" form="form2">
</form>
答案 5 :(得分:0)
这是带有两个提交按钮的两种形式:
if (isset($_POST['btnPostMe1'])) { //your code 1 }
if (isset($_POST['btnPostMe2'])) { //your code 2 }
这是您的PHP代码:
let stringParams : String = "<AddressValidateRequest USERID=\"252TEST01629\">" +
"<Revision>1</Revision>" + "<Address ID=\"0\">" + "<Address1>SUITE K</Address1>"
+ "<Address2>29851 Aventura</Address2>" +
"</City>"+"<State>CA</State>" + "<Zip5>92688</Zip5>" + "</Zip4>" + "</Address>" +
"</AddressValidateRequest>"
let url = URL(string:"http://production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=")
var xmlRequest = URLRequest(url: url!)
xmlRequest.httpBody = stringParams.data(using: String.Encoding.utf8, allowLossyConversion: true)
xmlRequest.httpMethod = "POST"
xmlRequest.addValue("application/xml", forHTTPHeaderField: "Content-Type")
self.alamoFireManager.request(xmlRequest)
.responseData { (response) in
let stringResponse: String = String(data: response.data!, encoding: String.Encoding.utf8) as String!
debugPrint(stringResponse)
}