簡體   English   中英

為什么我的確認“警報”對我的代碼不起作用?

[英]Why my confirm “alert” don't work on my code?

這是一個 web 應用程序的頁面,工作很簡單:

我可以看到詢問我是否要確認的“警報”。 根據答案,我轉到其他頁面。

如果我發送了我的“ if ”cicle,它就會顯示“警報”。 這是代碼

<?php
session_start();
include('../Model/gestoreAccessi.php');
include('connect.php');
?>
<script> 
let result = confirm("Sei sicuro di voler procedere?");
</script>
<script>
if(!result)
    result = <?php header('Location: http://www.teamjg.altervista.org/Matteo/navbar.php');?>
else
    <?php
    session_start();
    session_unset();
    session_destroy();
    header('Location: http://www.teamjg.altervista.org/Matteo/index.html');
    ?>
</script>

所以,在我回答你的問題之前; 只是一個注釋。 PHP 和 Js 將在不同的機器上運行(即使您在本地主機上測試它,仍然將它們視為不同的機器)

所有 PHP 代碼都運行,並在后端執行,然后將任何內容發送到您的瀏覽器,然后執行 js 代碼。 PHP 不懂JS語法,只會看<? ?>標簽並執行其中的所有內容。

<?php
session_start();
include('../Model/gestoreAccessi.php');
include('connect.php');
?>
<script> 
let result = confirm("Sei sicuro di voler procedere?");
</script>
<script>
if(!result)
    result = <?php header('Location: http://www.teamjg.altervista.org/Matteo/navbar.php');?>
else
    <?php
    session_start();
    session_unset();
    session_destroy();
    header('Location: http://www.teamjg.altervista.org/Matteo/index.html');
    ?>
</script>

當此代碼由 XAMPP(或您使用的任何引擎)發送時,首先執行 PHP,這將使代碼如下所示:

// Session will be started
// contents of ../Model/gestoreAccessi.php will be copied and run
// contents of connnect.php will be copied and run
<script> 
let result = confirm("Sei sicuro di voler procedere?");
</script>
<script>
if(!result)
    result = //The header is already set
else
    // Location is already set
</script>

所以這是未定義的行為,因為您要發送兩個具有不同位置的 header 標簽,我最好的猜測是它會重定向到http://www.teamjg.altervista.org/Matteo/index.html

如果您想將用戶重定向到其他網站,您可以作為修補程序做的一件事是設置window.location.href 這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM