проверка регистрационной формы на стороне клиента с помощью JavaScript и серверной части с помощью PHP - PullRequest
2 голосов
/ 24 марта 2011

Я новичок в PHP и в Интернете.У меня есть задача, которая проверяет регистрационную форму на клиенте с помощью JavaScript и сервера на PHP.Я не понимаю, что это значит.

Я сделал регистрационную форму и проверил все поля с помощью javascript

<form name="register" onSubmit="return validateForm()"> 
//...code display form here...
<input type="submit" name="Submit" value="Submit">
</form>

<script language="javascript">
//...validate function here...
function validateForm() {
//...
}
</script>

Я поместил приведенный выше код в register.php.А теперь, как мне сделать проверку на стороне сервера PHP?Мне нужно создать новый файл php и использовать метод post для передачи данных из этого register.php в новые?и после проверки я отправляю данные обратно, чтобы зарегистрироваться с ошибкой, если есть?

Я знаю, как проверять форму в PHP, но я не знаю, как подключить проверенную клиентскую форму javascript к форме сервера проверки php.

Также требуется, чтобы в случае ошибки перезагрузить страницу и отобразить ошибку пользователю, все введенные данные должны быть сохранены.

Это также я не знаю, как это сделать.Не могли бы вы сказать мне, как это сделать, или какой-то очень простой фрагмент кода?Помощь очень ценится.Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 24 марта 2011

Что ж, вначале я хотел бы удалить метод onSubmit из формы и вызвать метод = "POST" или метод = "GET".Затем я бы использовал onBlur для каждого поля формы, которое будет вызывать функцию javascript для проверки этого конкретного поля.Наконец, вы устанавливаете action = 'validate.php' или другое имя файла, которое содержит код проверки PHP.После успеха перенаправьте туда, куда вы хотите пойти.В случае неудачи обновите страницу и перенесите переменные $ _POST или $ _GET, временно установив ее равной переменной $ _SESSION.

0 голосов
/ 24 марта 2011

Обработчик форм «все в одном» будет выглядеть примерно так:

myfile.php:

<?php

$errors = array()
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['name']) && !empty($_POST['name'])) {
       $name = $_POST['name'];
    } else {
       $errors[] = "Please provide your name";
    }
}
?>

<html>

<head>
     <title>Name Form</title>
</head>

<body>
<?php if (count($errors) > 0) { ?>
<ul>
   <li><?php echo implode("</li>\n\t", $errors); ?></li>
</ul>
<?php } else { ?>
<p>Pleased to meet you, <?php echo htmlspecialchars($name) ?></p>
<? } ?>

<form method="POST" action="">
<p>Please enter your name: <input type="text" size="20" name="name" value="<?php echo htmlspecialchars($name) ?>" /></p>

<input type="submit" value="Submit" />

</form>

Конечно, это нарушает всевозможные «лучшие правила» для разработки веб-приложения, но демонстрирует каждый этап представления формы и проверки данных на стороне сервера.

0 голосов
/ 24 марта 2011

Полагаю, вы можете просто ввести данные. Очевидно, это просто псевдокод:

validateForm() {

    if (typeof formData === 'duck')
        // do logic here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...