如何将数据从一个php文件发送到另一个?

时间:2012-06-26 16:21:47

标签: php javascript jquery

我在文件test.php上有一个按钮

<?php
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>
<input type="button" name="btn" value="Download" onclick="alert('<?php echo $url; ?>')">

单击文件时,它会提醒页面的网址。

我有另一页,test2.php。

我希望提示的网址在test2.php

中显示出来

我该如何做到这一点?

3 个答案:

答案 0 :(得分:4)

传递数据的方法有很多种:

你的价值: <?php $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>

表示隐藏输入字段(POST | GET)

<form method="POST" action="page2.php">
  <input type="hidden" name="url" value="<?php echo $url;?>">
  <p><input type="submit" value="Submit"></p>
</form>

将GET <{p>更改为method="POST"method="GET"

A Link(GET)

<a href="page2.php?url=<?php echo urlencode($url);?>">Download</a>

通过会话

<?php 
session_start(); //First line of page1 and page2
$_SESSION['url']=$url;
?>

然后根据您选择的方法,使用全局$_POST$_GET$_SESSION获取值。

甚至是webstorage javascript(HTML5):

<div id="result"></div>

<script type="text/javascript">
if(typeof(Storage)!=="undefined")
{
    if (localStorage.passthis){
    //Already set, perhaps set it here on page1 and and display it here on page2
    }
    else{ //Not set
          localStorage.passthis = window.location.href;
    }
    document.getElementById("result").innerHTML="Passed from page1.php: " + localStorage.passthis;
}else{
    //No web storage
}
</script>

希望它有所帮助,我建议你在提出问题之前先进行一些研究。 php.net是你的朋友。

答案 1 :(得分:1)

您可以通过表格GET或POST发送数据:http://www.w3schools.com/php/php_forms.asp

Example URL: http://yoursite.com/page2.php?frompageone=Hello

echo $_GET['frompageone']; // Echos "Hello"

POST比GET更安全,这只是一个简单的例子。

答案 2 :(得分:1)

根据它是一个按钮的重要程度,您可以创建一个表单,将POST中的$ url发送到test2.php。有许多变通方法,但其中一个是难以捉摸的“隐藏”输入。

test.php上的代码最终会像:

<?php $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>

<form action="test2.php" method="POST">
    <input type="hidden" name="url" value="<?php echo $url ?>" >
    <input type="submit" name="download" value="" onclick="alert('<?php echo $url; ?>')">
</form>

虽然test2.php上的代码必须包含:

<?php $sent_url = $_POST['url']; 
      echo $sent_url;
?>

希望这有帮助!

梅森

P.S。有关其他方法的更多信息,请参阅this previous question