Javascript 消息不显示

Javascript 消息不显示,javascript,php,html,Javascript,Php,Html,我的问题是,当密码和用户名正确时,消息不会显示。然后我的页面转到foredeck.php。这部分很好,但为什么我的消息在更改网页之前不显示?如果密码或unsername不正确,则会出现第二条消息。我对第一个问题有疑问: 回声“警报('Connexion Réussite')” 问题是因为头()将立即执行重定向。将标题刷新与以下计时器一起使用: header("refresh:5; url=wherever.php"); 我希望这对你有帮助 问题是因为头()将立即执行重定向。将标题刷新与以下计

我的问题是,当密码和用户名正确时,消息不会显示。然后我的页面转到foredeck.php。这部分很好,但为什么我的消息在更改网页之前不显示?如果密码或unsername不正确,则会出现第二条消息。我对第一个问题有疑问: 回声“警报('Connexion Réussite')”


问题是因为
头()将立即执行重定向。将标题刷新与以下计时器一起使用:

 header("refresh:5; url=wherever.php");

我希望这对你有帮助

问题是因为
头()
将立即执行重定向。将标题刷新与以下计时器一起使用:

 header("refresh:5; url=wherever.php");
我希望这对你有帮助

PHP
标题(位置)
alert()
之前执行,即JS,因此不会显示警报,页面会被重定向。因此,使用
中的
窗口.位置
(重定向JS中的代码),而不是
标题(位置)

PHP
标题(位置)
alert()
之前执行,即JS,因此不会显示警报,页面会被重定向。因此,使用
中的
窗口.位置
(重定向JS中的代码),而不是
标题(位置)


基本上,
Javascript
在浏览器上运行,
PHP
在服务器上运行,因此代码按照您在这里所期望的那样一步一步地工作。在这里,PHP代码在javascript代码之前运行,这就是您在JS代码运行之前会被重定向的原因

您可以通过以下方式解决此问题:

  • 删除标题(
    位置:foredeck.php
  • 并放置
    window.location='foredeck.php'

这将使您的警报首先工作,然后将其重定向到前甲板。

基本上,
Javascript
在浏览器上运行,
PHP
在服务器上运行,因此代码按照您在这里所期望的一步一步地工作。在这里,PHP代码在javascript代码之前运行,这就是您在JS代码运行之前会被重定向的原因

您可以通过以下方式解决此问题:

  • 删除标题(
    位置:foredeck.php
  • 并放置
    window.location='foredeck.php'

这将使您的警报首先工作,然后将其重定向到前甲板。

您在哪里输出了
$msg
?我没有看到类似于echo$msg的东西。而且第一个回显也将被跳过,因为您已经设置了头重定向,使用带有计时器的javascript,然后重定向用户。我将编辑我的代码您在哪里输出了
$msg
?我没有看到类似于echo$msg的东西。而且第一个回显将被跳过,因为您已经设置了头重定向,使用带有计时器的javascript,然后重定向用户code@A.V欢迎……好运:)@A.V欢迎……好运:)
  <?php
      $msg = '';

      if (isset($_POST['login']) && !empty($_POST['username']) 
         && !empty($_POST['password'])) {

         if ($_POST['username'] == 'foredeck' && 
            $_POST['password'] == 'foredeck1') {
            $_SESSION['valid'] = true;
         $_SESSION['timeout'] = time();
         $_SESSION['username'] = 'tutorialspoint';
         echo "<script type='text/javascript'>alert('Connexion Réussite');
window.location.href='foredeck.php';
</script>";



      }else {
         $msg =  "<script type='text/javascript'>alert('Identifiant ou Mot de Passe incorrecte')</script>";
      }
   }
   ?>