Сообщение о проверке PHP появляется в верхней части моей формы пользователя - PullRequest
1 голос
/ 23 января 2012

У меня проблема с одним из моих сценариев проверки формы PHP.

По сути, у меня есть форма, которая, когда пользователь отправляет информацию, проверяет проверку (через PHP) и выводит результат (Успех)., Ошибка1, Ошибка2 и т. Д.) С помощью оператора echo

Однако после того, как пользователь отправляет форму (действие = та же страница, т.е. он отправляет самому себе), сообщение проверки появляется вверху формы или рядом сЭто.Я хочу, чтобы эхо-сообщение появилось под формой.

Вот что сейчас происходит на странице:

Error: Your password is incorrect

Username:

Email:

Password:

Submit Button

Вот как я хочу, чтобы оно выглядело:

Username:

Email:

Password:

Submit Button

Error: Your password is incorrect

Кто-нибудь знает, как это исправить?

Вот код:

<form id="username_check" name="username_check" method="post">
<tr>
<td><b>Username:</b></td>
<td><input name="Username" type="text" class="textfield" id="Username" 
value="<?php echo($_POST['Username']); ?>" 
/>
</td>
</tr>
<tr>
<td><b>Email Address:</b></td>
<td><input name="email_address" type="text" class="textfield" id="email_address" 
value="<?php echo($_POST['email_address']); ?>"
/>
</td>
</tr>
<tr>
<td><b>Password:</b></td>
<td><input name="PASSWORD" type="password" class="textfield" id="PASSWORD" />
</td>
</tr>
<td><input type="submit" name="submit" value="Submit" /></td>
</form>
<?php  
//If form was submitted  
if (array_key_exists('submit',$_POST)){ 
//Do something  
echo "Form validation here.....";
}  
?>

Ответы [ 4 ]

2 голосов
/ 23 января 2012

Это зависит от порядка выполнения кода. Если вы используете IDE, установите точку останова перед проверкой и выполните шаг. В противном случае, я почти уверен, что нам понадобится посмотреть код, чтобы понять, почему это происходит.

Попытка:

<form id="username_check" name="username_check" method="post">
<table>
<tr>
<td><b>Username:</b></td>
<td><input name="Username" type="text" class="textfield" id="Username" 
value="<?php echo($_POST['Username']); ?>" 
/>
</td>
</tr>
<tr>
<td><b>Email Address:</b></td>
<td><input name="email_address" type="text" class="textfield" id="email_address" 
value="<?php echo($_POST['email_address']); ?>"
/>
</td>
</tr>
<tr>
<td><b>Password:</b></td>
<td><input name="PASSWORD" type="password" class="textfield" id="PASSWORD" />
</td>
</tr>
<td><input type="submit" name="submit" value="Submit" /></td>
</table>
</form>
<?php  
//If form was submitted  
if (array_key_exists('submit',$_POST)){ 
//Do something  
echo "Form validation here.....";
}  
?>
0 голосов
/ 23 января 2012

Похоже, вы выводите сообщение об ошибке, а затем повторяете форму.

Сделай наоборот.

0 голосов
/ 23 января 2012

Не отображайте ошибку, сохраните ее в переменной и напечатайте за печатью формы.

Таким образом, вы также можете каждый раз проверять, не произошла ли ошибка во время проверки формы, просто проверить, является ли переменная ошибки emtpy / false

0 голосов
/ 23 января 2012

Если вы звоните

echo $error_message;

перед показом формы, перед формой отображается сообщение.

Если вы хотите получить сообщение об ошибке после формы, просто переместите команду echo после того, как форма распечатана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...