Проблема с последующими действиями в PHP (предупреждающее сообщение и заголовок) - PullRequest
0 голосов
/ 09 июля 2020

Я выполняю действие регистрации в PHP, и мне нужно разместить предупреждающее сообщение перед перенаправлением пользователя на другую страницу после того, как это действие будет выполнено, но всякий раз, когда я помещаю header(), он перенаправляется только в это место без любые сообщения Как это решить?

if ($conn->query($query1)== TRUE)   {header("Location:signupend.php"); 
                    ;}
                    
                    else  die('Error with the connection' .$conn->error);
                    //Send alert message with the following text during validation
        }       else {echo '<script language="javascript">';
                    echo 'alert("Please repeat your password correctly")';
                    echo '</script>';};
        
    }       else {echo '<script language="javascript">';
                    echo 'alert("Your password must be 4 to 31 characters long")';
                    echo '</script>';};
    
   } else {echo '<script language="javascript">';
                    echo 'alert("Sorry, but this E-mail is already registered")';
                    echo '</script>';};
   
} else {echo '<script language="javascript">';
                    echo 'alert("Please fill all the fields")';
                    echo '</script>';};
?>

1 Ответ

0 голосов
/ 09 июля 2020

Потому что сначала должна быть запущена функция header (то есть перед отрисовкой страницы html), поэтому я не думаю, что вы можете предупреждать непосредственно перед тем, как установить header для перенаправления на другую страницу. Но я думаю, ты справишься. Вместо использования php для перенаправления используйте Javascript

if ($conn->query($query1)== TRUE)   {
    echo '<script>';
    echo 'alert('....');'; // put your message here
    echo 'window.location.replace("'.$_SERVER['REQUEST_URI'].'/signupend.php");'; // redirect to page you want
    echo '</script>';
    die(); // die here so it will stop executing the function below
}

Надеюсь, это поможет

...