亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript 雙彈出模式與 PHP

Javascript 雙彈出模式與 PHP

PHP
大話西游666 2023-07-08 16:33:19
再會,我正在嘗試使用 javascript 在我的熱點登錄頁面上彈出兩個模式頁面:例如如果客戶端設備 IP + MAC 地址存在,并且客戶端單擊 CONNECT 按鈕,則應出現登錄模式頁面。如果客戶端設備 IP + MAC 地址不存在,并且客戶端單擊“連接”按鈕,則錯誤模式頁面應顯示為(請從熱點連接)我試過這個:<?php$mac=$_POST['mac'];$ip=$_POST['ip']; ?>  <button onclick="connect()" type="button" class="btn btn-info">CONNECT</button>  <script type="text/javascript">       function connect()    {  $('#login').modal(); }         </script>上面的代碼顯示單擊“連接”按鈕時的登錄模式,但我希望當客戶端單擊“連接”按鈕時不存在 ip 和 mac 地址時,應該彈出錯誤模式而不是登錄模式。
查看完整描述

1 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

您必須將 PHP 中的值回顯到 Javascript。但請注意,您需要首先驗證這些值。


像這樣的東西應該有效:


<?php

// get values from $_POST or default to empty string

$mac = $_POST['mac'] ?? '';

$ip  = $_POST['ip'] ?? '';

?>


<button onclick="connect()" type="button" class="btn btn-info">CONNECT</button>


<script type="text/javascript">


function connect() {

    // pass values as string to javascript variables

    var mac = "<?php echo $mac; ?>";

    var ip = "<?php echo $ip; ?>";


    // mac and ip adresses provided

    if (mac && ip) {

        $("#login").modal();

    }


    // mac or ip adresses missing

    else {

        $("#error").modal();

    }

}


</script>

有幾點需要注意:


這是不安全的,因為 POST 傳遞的值可能會被篡改。根據經驗,不要相信客戶提供的任何內容。


<?php echo ... ?>將“打印”文檔中的值。如果您在瀏覽器中檢查代碼,您將看到類似以下內容的內容:


var mac = "mac-address-passed-as-POST";

var ip = "123.456.78.90";

您可以echo使用簡寫語法來簡化語句:


var mac = "<?= $mac ?>";

var ip = "<?= $ip?>";

為了更好地驗證變量中獲得的值$_POST,您可以在 PHP 部分添加正則表達式檢查。就像是:


<?php


// default values

$mac = '';

$ip = '';


// validate mac address

if (isset($_POST['mac']) && preg_match('/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/', $_POST['mac'])) {

    $mac = $_POST['mac'];

}


// validate ip address

if (isset($_POST['ip']) && preg_match('/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/', $_POST['ip'])) {

    $ip = $_POST['ip'];

}


?>


查看完整回答
反對 回復 2023-07-08
  • 1 回答
  • 0 關注
  • 139 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號