2013-11-25 1 views
0

У меня есть форма:если нет разместить данных перенаправление на страницу регистрации

<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' >&zwnj;</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

Вы можете проверить '$ _SERVER ['REQUEST_METHOD']', чтобы определить, требуется ли перенаправление. – peaceman

ответ

0

Да, вы можете использовать пустой, но и вы должны проверить, если полученные данные $ _POST является то, что вы ждали.

0
if(!empty($_POST['email']) && !empty($_POST['password'])) 
{ 
     $shopper = new Shopper(); 
     $shopper->set_email($_POST['email']); 
     $shopper->set_username($_POST['email']); 
     ... 
} 
else 
{ 
    //Your redirect 
} 
0

и можно использовать IsSet и имя набора на отправить (не указано имя также хорошо) и может использовать одно имя вам ввода

см этот код

<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 

надежду на то, что этот ответ поможет вы

Смежные вопросы