я изучаю PHP. Мне интересно решать задачи по средствам PHP, HTML и CSS, поэтому прошу не предлагать решения по средствам JS, AJAX.
Есть 2 файла form.php с обработчиком ошибок и save.php с обработчиком сохранения данных(для примера обработчик save.php создает папку login и сохраняет в нее пароль и почту)
<form action="save.php" method="post">
, то мы сохраняем данные, но не получаем вывод ошибок.<form action="" method="post">
, то получаем вывод ошибок, но при этом данные не передаются на страницу для записи save.phpЗадача у меня стоит такая: 1. Проверить форму на валидность и выводить ошибки на этой же странице 2. Если форма заполнена согласно условиям, то отправлять пользователя на следующую страницу, где ему выведут сообщение "Вы успешно зарегистрировались!"
FORM.PHP
<?php
$data = $_POST;
if (isset($data["button"])){
$errors = array();
if ($data["login"] == "") {
$errors[] = "Вы не указали *Login:";
}
if ($data["password"] == "") {
$errors[] = "Вы не указали *Password:";
}
if (empty($errors)) {
// что то работает
}
else {
echo "*Обязательные поля не заполнены";
}
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Зарегистрировать нового пользователя</title>
</head>
<body>
<form action="" method="post">
*Login:
<label>
<input name="login" value="<?php echo $data["login"];?>"/>
</label> <br>
*Password:
<label>
<input name="password" />
</label><br>
Email:
<label>
<input name="email" value="<?php echo $data["email"];?>" />
</label><br>
<input type="submit" value="ОК" name="button" /><br>
</form>
</body>
SAVE.PHP
<?php
/*СОЗДАЕМ ПАПКУ login ЮЗЕРА*/
$login = $_POST['login'];
mkdir("$login");
/*Записываем "Password" в файл $login/password.txt*/
$password = $_POST['password'];
$folder_user = fopen("$login/password.txt", "w");
fwrite($folder_user, $password);
fclose($folder_user);
/*Записываем "Email" в файл $login/email.txt*/
$email = $_POST['email'];
$folder_user = fopen("$login/email.txt", "w");
fwrite($folder_user, $email);
fclose($folder_user);
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Успешная регистрация</title>
</head>
<body>
Вы успешно зарегистрировались!
</body>
Проще оставить один файл form.php и в нем производить сохранение.
Сначала нужно проверить если страница была запрошена после нажатия кнопки submit тогда произвести проверку на корректность заполнения формы, в случае успеха произвести сохранение, после чего сделать редирект на нужную страницу:
if(isset($_POST['submit']) {
//код проверки
if (empty($errors)) {
// код сохранения
header('Location: адрес страницы');
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть API, которое возвращает информацию в соответствии с передаваемыми заголовками (Reauest Headers)Нужно выполнить запрос: