Вопрос проверки формы PHP? - PullRequest
0 голосов
/ 25 марта 2010

У меня есть форма, которая проверяет адрес электронной почты, и я хочу иметь возможность разместить echo '<p class="error">Please enter a valid email address!</p>'; в любом месте на веб-странице без необходимости помещать процесс проверки в HTML?

Или я должен включить процесс проверки в форму HTML?

Вот код php.

if (preg_match ('/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/', $_POST['email'])) {
    $email = mysqli_real_escape_string($mysqli, strip_tags($_POST['email']));
} else {
    echo '<p class="error">Please enter a valid email address!</p>';
}

1 Ответ

2 голосов
/ 25 марта 2010

немного отличается

if (preg_match ('/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/', $_POST['email'])) { 
    $email = mysqli_real_escape_string($mysqli, strip_tags($_POST['email'])); 
} else { 
    $error = 'Please enter a valid email address!'; 
} 

Теперь вы можете напечатать вашу ошибку $ в любом месте на вашей странице

Хорошо, сделай так:

if (preg_match ('/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/', $_POST['email'])) { 
    $email = mysqli_real_escape_string($mysqli, strip_tags($_POST['email'])); 
    echo "valid ";
} else { 
    $error = 'Please enter a valid email address!'; 
    echo "invalid ";
} 
echo $error;
exit;

Что бы это сейчас сказал?

Другой пример:

<?php
$error="";
if (preg_match ('/^[\w.-]+@[\w.-]+\.[A-Za-z]{2,6}$/', $_POST['email'])) { 
  $email = mysqli_real_escape_string($mysqli, strip_tags($_POST['email'])); 
} else { 
  $error = 'Please enter a valid email address!'; 
  $email=htmlspecialchars($email);
} 
?>
<html>
<form>
<?php if ($error): ?>
  <p class="error"><?php echo $error?></p>
<?php endif ?>
Enter email: <input type="text" name="email" value="<?php echo $email?>">
<input type="submit">
</form>
</html>

Теперь это работает?

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