PHP GET变量在同一文档中

时间:2011-07-18 19:10:03

标签: php javascript

如何使用相同的文件将变量从javascript传递给php

在此示例页面中保持刷新,我无法看到结果

只有在我分开脚本时它才有效...但我需要它在某种程度上像ajax ..

<SCRIPT language="JavaScript"> 
var carname="Volvo";
location.href="http://localhost/put.php?Result=" + carname; 
</SCRIPT>

这是脚本的第二部分(它们都在同一个文件中)

<?php 
Id = $_GET[Result]; 
echo $dbId;
?>

7 个答案:

答案 0 :(得分:1)

所以你可以在PHP脚本中做这样的事情:

if (!isset($_GET['Result']))
{
    // include the javascript portion with the redirect
}

我和其他人在一起 - 我没有看到页面加载中的值,然后立即重定向到同一页面。

答案 1 :(得分:1)

您要做的事情无法完成。您的脚本实时在客户端上运行,但php将在请求期间在服务器上运行。您需要发出AJAX请求。

首先,您需要将Firefox与firebug和Web开发人员工具栏一起使用。 Firebug提供了ajax流量的绝佳视图,Web开发人员工具栏可帮助您查看页面中发生的情况。

使用jQuery发出ajax请求将值“发送”到另一个php文件。不要害怕分离文件,事实上它是鼓励和考虑好的编程。如果你发现你向php脚本发送了很多信息,你会想要使用JSON而不是url的一部分。

答案 2 :(得分:1)

正如Brian所说,你应该把它放在条件语句中..你的PHP也很糟糕。请尝试以下

<?php if(isset($_GET["Result"])) : ?>

 // do work with set variable
 <?php $dbID = $_GET["Result"];
  echo($dbID); ?>

 <?php else : ?>
 // "Result" not set
 <SCRIPT language="JavaScript"> 
 var carname="Volvo";
 location.href="http://localhost/put.php?Result=" + carname; 
 </SCRIPT>
 <? endif; ?>

我认为如果您正在尝试学习Ajax方法,这是一个很好的练习,在现实世界中,我建议使用像jQuery这样的框架。当然,了解其工作原理将有助于您最终构建更好的应用程序。

答案 3 :(得分:0)

您的问题很难理解(至少对我来说。)我的猜测是您希望使用AJAX将数据发送到服务器并在不离开页面的情况下接收响应。

实现这一目标的最简单方法可能是使用jQuery等库。 (见jQuery.ajax()

答案 4 :(得分:0)

伙计,您应该遵循客户端 - 服务器模式。因此,客户端页面可以使用某些ajax向服务器页面发出请求。这将响应客户端,您可以使用您想要的数据。

答案 5 :(得分:0)

当然它会保持刷新:))因为一旦浏览器获得js代码,它将加载您指定的页面,这将向您的浏览器发送相同的页面...您明白了。这就像写作(;;){}

答案 6 :(得分:-1)

PHP仅在服务器上运行,而javascript仅在客户端上运行。当您的客户端运行javascript时,不能再对该请求执行PHP。