簡體   English   中英

為什么我不能從HTML按鈕調用PHP腳本?

[英]Why can I not call my PHP script from HTML button?

我正在使用HTML腳本中的按鈕來取消設置cookie,但是目前無法通過單擊按鈕來調用PHP腳本。

HTML腳本

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>WCSST 2</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type='text/css'>
</style>
</head>
<body>

<button style="color: black" <?php if(isset($_COOKIE["name"])) { ?> Disabled <?php } ?> value='Set Cookie'><b>Unset cookie</b></button>

<!-- END PAGE SOURCE -->
</body>
</html>

PHP腳本

<?php

unset($_COOKIE['name']);
unset($_COOKIE['age']);

header("Location: CM.php");
exit(0);
}
?>

如何通過單擊該按鈕對PHP腳本進行調用?

您的html腳本必須具有.php擴展名,因為它具有php腳本。

例如example.php >包含您的html腳本。

您打電話來使用include語句取消設置文件

<body>

    <button style="color: black" <?php 
       if(isset($_COOKIE["name"])) 
        { 
          include 'unset.php'; 
        } 
        ?> value='Set Cookie'>
   <b>Unset cookie</b></button>

<!-- END PAGE SOURCE -->
</body>

或者您可以使用JAVASCRIPT onclick函數

您需要做的是使按鈕調用javascript函數,該函數將調用Ajax,該Ajax將執行您的PHP代碼。

您的HTML文件:

<button onclick='my_func();'>Click me</button>

您的JavaScript(包括jQuery,使生活更輕松)

function my_func()
{
    $.ajax({
      type: 'post',
      url: 'unset.php',
      data: {},
      dataType: 'json',
      success : function (data) {},
      error: function() {}
    });
}

您應該使用一種形式來調用PHP腳本。 您可以這樣做:

<form action="unset.php" method="post">
<input type="submit" value="Unset cookie">
</form>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>WCSST 2</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type='text/css'>
</style>
</head>
<body>
        <?php if(isset($_COOKIE["name"])) { ?>
        <button style="color: black" onclick="window.location.href='unset.php'"><b>Unset cookie</b></button>
        <?php }else{ ?>
        <button style="color: black" onclick="window.location.href='set.php'"><b>Set cookie</b></button>
        <?php } ?>
</body>
</html>

unset.php腳本

<?php

unset($_COOKIE['name']);
unset($_COOKIE['age']);

header("Location: CM.php");
exit(0);
}
?>

set.php腳本

<?php
// set your cookie
?>

是的,首先您不能將php腳本代碼編寫到.html文件中,因此要創建.php文件,並在整個代碼上方寫上該代碼。 還有一件事是未設置的cookie,您必須使用通常的表單方法發送發布請求,或者您也可以使用ajax調用例如

 <form name="abc" id="abc" method="post"> <input type="submit" name="unset" value="Unset Cookies"> </form> <?php if($_POST) { unset($_COOKIE['name']); unset($_COOKIE['age']); header("Location: CM.php"); exit(0); } ?> 

暫無
暫無

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

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