单击链接执行PHP代码

时间:2015-11-17 09:49:34

标签: javascript php html hyperlink

我想通过点击链接

来执行一些PHP代码

HTML:

<a style='text-align: right;cursor:pointer;' href="#" name="reset" class='system list-group-item'>
    <span style="float: left;" class="glyphicon glyphicon-remove"></span>Client reset
</a>

PHP:

if(isset($_GET['reset'])){
    $link=$_GET['reset'];
        if ($link == '1') {
           do something
        }
}

修改

我尝试了很多方法,最好的方法是启动ajax调用的onClick事件。 像这样:

HTML:

<a style='text-align: right;cursor:pointer;' onclick="reset();" name="reset" class='system list-group-item'>
            <span style="float: left;" class="glyphicon glyphicon-remove"></span>Client zur&uuml;cksetzten</a>

JS:

  function reset() {
  $.ajax({
       type: "POST",
       url: 'index.php',
       data:{method : 'resetClient'},
       success:function(html) {
         swal({   title: "Success!",   text: "Client has been reset.",   type: "success",   confirmButtonText: "Ok", confirmButtonColor: "#c9132a" });
       }
  }); }

4 个答案:

答案 0 :(得分:1)

我假设您当前的网址为index.php

<强> HTML

<a style='text-align: right;cursor:pointer;' href="index.php?reset=true" name="reset" class='system list-group-item'>

<强> PHP

<?php
if (isset($_GET['reset'])) {
    myFunction();
  }
function myFunction() {
//do something
}
?>

答案 1 :(得分:1)

您必须在提交表单时传递一些值,以便您可以检查它是提交还是未提交的表单。在我的代码中,我通过了reset = 1。

<?php
if(isset($_GET['reset']))// is to check whether reset is present or not. if it present then the condition is satisfied and executed 
{
$link=$_GET['reset'];
if ($link == '1'){
echo "success";
}
}
?>
<html>
<a style='text-align: right;cursor:pointer;' href="?reset=1" name="reset"  class='system list-group-item'>
    <span style="float: left;" class="glyphicon glyphicon-remove">    </span>Client reset</a>

答案 2 :(得分:1)

试试这样..

HTML:

<a style='text-align: right;cursor:pointer;' href="?reset=1" class='system list-group-item'>
            <span style="float: left;" class="glyphicon glyphicon-remove"></span>Client reset</a>

PHP:

if(isset($_GET['reset'])){
$link=$_GET['reset'];
    if ($link == '1'){
     do something
}

答案 3 :(得分:1)

如果要获取用户浏览器中显示的哈希标记或锚点(#)之后的值:使用“标准”HTTP无法实现此值,因为此值永远不会发送到服务器(它不会在$ _GET [“reset”]或类似的预定义变量中可用。你需要在客户端使用一些JavaScript魔法。

Rajesh kannan的答案是解决这个问题的最好方法。