-3

我已经阅读了关于这个问题的几篇文章,但我似乎无法让它按照我想要的方式工作。基本上,当从某个链接重新加载页面时,我想跳过 if 语句。

这是我的代码的简化版本。我相信使用 isset($post 将是要走的路。

任何帮助将非常感激。

    $num_parent_cat = 1 -> (change this variable on reload)

     if ($num_parent_cat == 1){

   <a href="CLICK THIS LINK?>" </a>
}

else{ GET HERE AFTER RELOADING PAGE FROM LINK}
4

2 回答 2

0

除非您添加一些严重的 Javascripting,否则链接不会发布任何内容。通常这样的页面没有链接,而是有一个表单。如果您的页面中有一个 HTML 表单,您可以添加一个提交按钮(可以设置为链接样式)。表单可以发布数据或在 url 中发送。执行的 PHP 脚本可以检测这些值。

另一种解决方案是在链接的url中添加一个参数:

if (array_key_exists('via', $_GET) && $_GET['via'] == 'linkX')
{
   <a href="yourpage.php?via=linkX">Click me</a>
}
else
{
  echo 'It worked!';
}

但是请注意,任何人都可以将此值添加到 url 以欺骗您的脚本认为该链接已被单击。

于 2013-07-29T17:22:09.380 回答
0

您的代码没有显示任何研究,但是...

if(isset($_POST['something']) && $_POST['something'] === 1){
    echo "All Done";
} else {
?>

<form method="POST">
   <input type="hidden" name="something" value="1">
   <input type="submit" value="click here">
</form>

<?php
}

这是示例,请注意我PHP几个月没有使用过,并且没有经过测试,但应该可以使用

所以基本上这里发生的事情是,isset($_POST['something'])检查是否有一个POST变量集被调用something,然后如果它被设置,它将检查它是否等于1,然后echo "All Done"提供一个表单,当提交时会将一个POST变量发送something到同一个页面一个值1

于 2013-07-29T17:22:19.677 回答