Как отобразить предупреждение <script>(«Заполнить информацию») </script> При использовании функции header () php - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь создать систему создания учетной записи с помощью php. Моя проблема заключается в том, что после проверки на

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

моя проблема в том, что функция header () отправляет пользователя на регистрацию. php закрывает

echo "alert ('Hello')"; это способ, которым я могу отправить предупреждающее сообщение, чтобы мои пользователи

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

<?php
    if(isset($_POST['signup-submit'])){

        //my database connection    

        require "dbh.inc.php";

        $username=$_POST['uid'];

        $email=$_POST['mail'];

        $password=$_POST['pwd'];

        $passwordRepeat=$_POST['pwd-repeat']

        if(empty($username)||empty($email)||empty($password)||empty($passwordRepeat)){

            header("Location: ../signup.php? Fill out the  information");

            echo "<script>alert('Hello')</script>";

        }
    }
?>

1 Ответ

0 голосов
/ 04 апреля 2020

Если бы вы использовали переменную сеанса (которая сохранялась бы после перезагрузки страницы), вы могли бы использовать простой тест logi c, чтобы определить, следует ли устанавливать эту переменную и проверить, перезагружается ли страница, если она существует, чтобы определить, или не отображать всплывающее окно javascript После отображения предупреждения сотрите переменную.

<?php

    session_start();

    if( $_SERVER['REQUEST_METHOD']=='POST' ){
        if( isset( $_POST['uid'], $_POST['mail'], $_POST['pwd'], $_POST['pwd-repeat'] ) ){

            /* ok */
            require "dbh.inc.php";
            $username=$_POST['uid'];
            $email=$_POST['mail'];
            $password=$_POST['pwd'];
            $passwordRepeat=$_POST['pwd-repeat'];


        }else{
            $_SESSION['error']=true;
            exit( header('Location: ../signup.php?error=true') );
        }
    }
?>
<html>
    <head>
        <title></title>
        <?php
            if( !empty( $_SESSION['error'] ) ){
                echo "
                <script>alert('Please fill out all fields')</script>";

                unset( $_SESSION['error'] );
            }
        ?>
    </head>
    <body>
        <!-- html contents -->
    </body>
</html>
...