为了账号安全,请及时绑定邮箱和手机立即绑定

用户单击链接时如何运行PHP代码?

用户单击链接时如何运行PHP代码?

蓝山帝景 2019-11-28 14:13:33
我想让页面在用户单击链接时运行一些PHP代码,而不重定向它们。这有可能吗<a href=""></a>或使用javascript onclick事件?
查看完整描述

3 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

是的,您需要有一个onclick触发的javascript函数,该函数会对页面进行AJAX加载,然后返回false,这样就不会在浏览器中将其重定向。如果您的项目可以接受,则可以在jQuery中使用以下内容:


<script type="text/javascript" src="jquery.min.js"></script>

<script type="text/javascript">

function doSomething() {

    $.get("somepage.php");

    return false;

}

</script>


<a href="#" onclick="doSomething();">Click Me!</a>

如果需要使用表单值(使用$ .post()方法),也可以进行回发。


查看完整回答
反对 回复 2019-11-28
?
杨魅力

TA贡献1811条经验 获得超6个赞

我知道这篇文章很旧,但是我只想补充我的答案!


您说要注销用户而不直接执行...该方法可以重定向,但会将用户返回到他们所在的页面!这是我的实现:


// every page with logout button

<?php

        // get the full url of current page

        $page = $_SERVER['PHP_SELF'];

        // find position of the last '/'

        $file_name_begin_pos = strripos($page, "/");

        // get substring from position to end 

        $file_name = substr($page, ++$fileNamePos);

    }

?>


// the logout link in your html

<a href="logout.php?redirect_to=<?=$file_name?>">Log Out</a>


// logout.php page

<?php

    session_start();

    $_SESSION = array();

    session_destroy();

    $page = "index.php";

    if(isset($_GET["redirect_to"])){

        $file = $_GET["redirect_to"];

        if ($file == "user.php"){

            // if redirect to is a restricted page, redirect to index

            $file = "index.php";

        }

    }

    header("Location: $file");

?>

然后我们去!


从完整网址获取文件名的代码不是错误的证明。例如,如果查询字符串中包含未转义的“ /”,它将失败。


但是,有很多脚本可以从url获取文件名!




查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 1158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信