从链接运行php脚本

时间:2014-02-05 19:45:46

标签: javascript php jquery url echo

我有一个小的PHP脚本,它获取当前页面的url并回显它。我只希望在用户点击提交按钮时运行。页面上没有其他表单项,我只是认为提交比链接更容易使用。如果链接也有效,我很乐意使用它。我只需要脚本在同一页面上运行而不是链接到外部脚本(因为它必须获取当前页面的URL)。有什么建议?

我可以使用javascript或页面重新加载。

到目前为止我尝试过的一些事情:

1)

<script type="text/javascript">function echoUrl() {
$.get("url.php");
return false;}</script><a href="#" onclick="echoUrl();">Current Page</a>

那个对我不起作用,因为它得到了url.php页面的地址。

2)

<?php if(Input::exists()) { echo: $url; } ?>

这对我没有任何作用,因为提交按钮是唯一的表单项,因此我的exists()函数返回false,因为没有其他输入。

2 个答案:

答案 0 :(得分:1)

这样的东西?

<?php 
    if($_POST["clicked"]){
        printURL();
    } 
?>
<form method="post">
    <input type="submit" name="clicked" value="Click Me!"/>
</form>

答案 1 :(得分:0)

不确定你想要什么,但根据我的理解,你想要这样的东西:

<form action="yourscript.php">
    <input type="submit"/>
</form>

或者,没有表格:

<a href="yourscript.php">click here</a>

编辑: 根据您的评论,您需要AJAX。以下是如何使用AJAX的示例。 AJAX将在同一页面上运行脚本,而无需刷新它。

function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","myphpscript.php",true);
xmlhttp.send();
}

然后只需使用链接调用该函数。此函数将在html元素内显示php脚本的结果。您可以根据需要更改此行为。