我有一张表格:
<form id='register' action='http://mydev/test/register' onsubmit="return validateForm()" method='post' accept-charset='UTF-8'>
<fieldset>
<legend><br/>Create An Account</legend><br/>
<input type='hidden' name='submitted' id='submitted' value='1'/>
<!--<label for='username' >Username*: </label>
<input type='text' name='username' id='username' maxlength="50" /><br/><br/></br/>-->
<label for='email' >Email Address*:</label>
<input type='text' name='email' id='email' maxlength="50" /><br/><br/>
<label for='password'>Password:</label>
<input type="password" name="password" id="password" value="" size="32" /><br><br>
<label for='retype_password'>Re-Enter Password:</label>
<input type="password" name="password-check" id="password-check" value="" size="32" /><br><br>
<label for='cpassword' >‌</label>
<input type="submit" value="Submit" id="submit">
</fieldset>
</form>
我的行动页面不会向他们的电子邮件发送激活链接:
$shopper = new Shopper();
$shopper->set_email($_POST['email']);
$shopper->set_username($_POST['email']);
if($shopper->create($_POST['password']))
{
$message = "<br>User created<br>" . "An activation code has been sent<br>";
$token = $shopper->request_activation();
}
else
{
$message = "Could not create user<br>";
}
我的问题是......如果没有帖子数据,他们会以某种方式结束register.php页面..只需将它们重定向回new_registration.php页面。
我知道我应该使用header("location:../../new_registration.php");
我对如何检查丢失的帖子数据感到有点困惑?
我应该使用empty
吗?
我最终使用了:
if (empty($_POST['email']['password'])) {
header('location:http://myjeromesdev/test/new_registration');
}
else {
$shopper = new Shopper();
$shopper->set_email($_POST['email']);
$shopper->set_username($_POST['email']);
if($shopper->create($_POST['password']))
{
$message = "<br>User created<br>" . "An activation code has been sent<br>";
$token = $shopper->request_activation();
}
else
{
$message = "Could not create user<br>";
}
}
?>
<p>
<?php
echo $message
?></p>
答案 0 :(得分:0)
是的,你可以使用空,但你也应该检查收到的$ _POST数据是否是你正在等待的。
答案 1 :(得分:0)
if(!empty($_POST['email']) && !empty($_POST['password']))
{
$shopper = new Shopper();
$shopper->set_email($_POST['email']);
$shopper->set_username($_POST['email']);
...
}
else
{
//Your redirect
}
答案 2 :(得分:0)
你可以在提交时使用isset和set name(不设置名称也可以)你可以使用你输入的一个名字
请参阅此代码
<input type="submit" name="submit" value="submit"/>
if(isset($_POST['submit'])){
//code is have
}else{
header('URL');
}
if you want if all post is setted u can use AND
isset($_POST['password']) && isset($_POST['email']) and so on
希望这个答案可以帮助你