为什么我不能从HTML按钮调用我的PHP脚本?

时间:2014-12-16 06:47:15

标签: php html cookies

我正在使用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脚本?

5 个答案:

答案 0 :(得分:1)

你的html脚本必须有.php扩展名,因为它有php脚本。

例如example.php - &gt;包含你的html脚本。

您使用包含声明

调用取消设置文件
<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 点击功能

答案 1 :(得分:1)

你需要做的是让按钮调用一个javascript函数,该函数将调用一个执行PHP代码的Ajax。

您的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() {}
    });
}

答案 2 :(得分:1)

您应该使用表单来调用PHP脚本。你可以这样做:

<form action="unset.php" method="post">
<input type="submit" value="Unset cookie">
</form>

答案 3 :(得分:1)

<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
?>

答案 4 :(得分:1)

是的,首先你不能将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);
}
?>