@bisswan

Как из php передать ошибки в js?

У меня есть форма с изменением личных данных и я пытаюсь сделать, чтобы при пустых полях не отправлялся запрос в mysql и выдавало ошибку пользователю через alert, но у меня не удается вывести эти ошибки из php в js, помогите ;(
<script>


    function displayNotification() {
      alert("Вы обновили информацию");
      window.location = "/new/";
    }
    function displayNotificationerror() {
      alert("Не полностью заполнены данные, заполните поля:" + error );
      window.location = "/new/";
    }
 </script>
 
<?php

session_start();

$loginuser = $_SESSION['login'];
$mysql = new mysqli('localhost', 'root', '', 'kontakt');

 $fio = filter_var(trim($_POST['fio']),
 FILTER_SANITIZE_STRING);

 $daterozhd = filter_var(trim($_POST['daterozhd']),
 FILTER_SANITIZE_STRING);

 $contactnumber = $_POST['contactnumber'];


         $data = $_POST;
        if (isset($data["button"])){

            $errors = array();
            if ($data["fio"] == "") {
                $errors[] = "Вы не указали ФИО:";

            }
            if ($data["daterozhd"] == "") {
                $errors[] = "Вы не указали Дату рождения:";

            }
            if ($data["contactnumber"] == "") {
                $errors[] = "Вы не указали номер телефона:";
               
            }

            if (empty($errors)) {
                 $result = $mysql->query("SELECT `id` FROM `users` WHERE `login` = '$loginuser'");
                 $row = $result->fetch_assoc();
                 $userid = $row['id'];
                $mysql->query("UPDATE `client` SET `FIO`='$fio',`DateRozhd`='$daterozhd',`Number`='$contactnumber' where `id_client` = '$userid'");
                echo "<script>displayNotification();</script>";
                 $mysql->close();
            }
            else {
                echo "<script>displayNotificationerror();</script>";
            }


        }
?>
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
Ответ написан
Комментировать
сделайте обработку формы на ajax и это решит Вашу проблему. Потому что поменяется формат взаимодействия:
1) форма отправляет на бэкенд сообщение - например, массив данных формы,
2) бэкенд в ответ тоже шлёт сообщение - например, массив, упакованный с помощью json_encode() .
3) обработчик формы решает, что делать с полученным ответом. Например, если в ответе есть непустое поле error , то вызвать displayNotificationerror( response.error ) . Или что-то ещё сделать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы