【问题标题】:php variable changes when clicked on html link [closed]单击html链接时php变量发生变化[关闭]
【发布时间】:2024-05-04 17:40:02
【问题描述】:

我正在尝试用 HTML 和 PHP 制作游戏,但我对编码还很陌生。关键是我需要通过单击 HTML 元素来执行 PHP 脚本。这可能吗?

我的代码看起来像这样

$money = 100;

点击:

<a>rob a shop</a>

它必须执行:

function rob_shop(){
$money += 75;
echo "You now have $money $";}

【问题讨论】:

  • Google 术语 AJAX,或考虑制作一个表单。
  • 严格来说,可以通过向该链接添加href 属性来回答该问题,但仍有很多其他缺失的链接(其他类型)。总而言之,这个问题太笼统了,这是由于您对PHP的工作原理缺乏了解(基于请求)。
  • 你的函数不起作用,$money 超出范围
  • @Dagon 问题是“超出范围”。 Stack 什么时候成为 W3School 的合作伙伴?
  • @Fred-ii- 我的瞄准镜中有你!

标签: php html variables hyperlink var


【解决方案1】:

试试这个,是PHP:

<?php
if (isset($_GET['money'])) {
    $money = rob_shop($_GET['money']);
    echo 'You now have: '.$money.'<br>';
} else {
    $money = 100;
    echo 'You now have: '.$money.'<br>';
}
echo '<a href="?money='.$money .'">rob a shop</a>';
function rob_shop($money){
    $money = $money + 75;
    return $money;
}
?>

但最好的方法是使用 ajax 来避免刷新页面。

【讨论】:

    【解决方案2】:

    添加额外的参数来链接和检查 php 和调用函数。

    <a href="?fun">rob money</a>
    

    然后检查链接

    if (isset($_GET['fun']))
    {
          runFun();
    }
    

    【讨论】:

    • 其实这个函数叫做rob_shop() ;)
    • 我知道,但这只是一个想法..
    【解决方案3】:

    您将需要使用 javascript 和 ajax 调用,或者您可以只在 javascript 中进行。

    <a id="shop">rob a shop</a>
    <div id="response"></div>
    
    // include jquery
    <script>
    $( "#shop" ).click(function() {
    var money = money + 75;
        $("#response").html( "YOU NOW HAVE $"+money );
    // or make an ajax call to a php script and return the value
    });
    </script>
    

    【讨论】: