繁体   English   中英

如何在函数中使用另一个页面的$ _post数据

[英]How to use $_post data from another page in a function

我正在一个WordPress项目中使用php项目,我从一个页面发送数据,而在另一页面中使用该数据,我正在使用$ _POST从该页面获取数据。 但是,当我尝试在函数中或if块中获取数据时,它变为空,但是当我在函数或if块之外使用数据时,它起作用了(工作意味着我从echo的那个页面中获得了想要的输出)。 我该如何在功能中发挥作用?

我发送数据的第一个文件

<form action="http://localhost/w/download.php" target="_blank" method="post">
<input type="hidden" name="cate" value="'.$categories[0]->name.'" /><br />
<input type="hidden" name="url" value="'.get_permalink().'" /><br />
<div align="center">
<input type="image" alt="Download" height="99" src="https://www.google.co.in/logos/doodles/2016/fathers-day-2016-us-5562299671642112-hp.jpg" width="184" />
</div>
</form>

我用来获取数据并对我有用的第二个文件

<?php
if(isset($_POST["downloadfile"])) {
$urls=$_POST['url'];
echo $urls;// Does not show the out put and
//doing something 
}
?>
<form method="POST">
  <input type="submit" value="DOWNLOAD FILE" name="downloadfile"/>
</form>

但是当我尝试在if块之外回显$ _POST数据时,我得到了想要的值,例如:

第二档

<?php
$urls=$_POST['url'];
echo $urls; // shows me the link
if(isset($_POST["downloadfile"])) {
//doing something 
}
?>
<form method="POST">
  <input type="submit" value="DOWNLOAD FILE" name="downloadfile"/>
</form>

它显示变量$ urls为空。 但是,当我在if块和echo的外面使用它时,它向我显示输出,这就是我想要的。 谁能告诉我如何在函数中使用此函数,或者是否在第二个文件中进行阻止,或者我做错了什么方法,所以请告诉我正确的方法。

最重要的是,如果有人想对此问题投下反对票,请这样做,但是请在下面发表评论。为什么这样做,我不是像您这样的天才php开发人员,我只是从错误中学习

使用if(isset($_POST["url"])) {代替if(isset($_POST["downloadfile"])) {

提交形式不应该是第一种吗?

只需把这一行:

<input type="submit" value="DOWNLOAD FILE" name="downloadfile"/>

在下面

 <input type="image" alt="Download" height="99" src="https://www.google.co.in/logos/doodles/2016/fathers-day-2016-us-5562299671642112-hp.jpg" width="184" />

一个文件应发送所有数据,而另一个文件应获取(POST)数据。

 <?php
 if(isset($_POST["downloadfile"])) {
 $urls=$_POST['url'];
 //doing something 
 }
 ?>

在第二个文件的顶部



编辑

好的,我做了一些测试。.我认为您缺少php标签。

第一个档案

<form action="http://localhost/w/download.php" target="_blank" method="post">
<input type="hidden" name="cate" value="' <?php $categories[0]->name ?>'" /><br />
<input type="hidden" name="url" value="'<?php get_permalink() ?>'" /><br />
<div align="center">
    <input type="image" alt="Download" height="99" src="https://www.google.co.in/logos/doodles/2016/fathers-day-2016-us-5562299671642112-hp.jpg" width="184" />
    <input type="submit" value="DOWNLOAD FILE" name="downloadfile"/>
</div>

download.php

<?php
if(isset($_POST["downloadfile"])) {
    $urls=$_POST['url'];
}
echo $urls;
?>

当我在自己的服务器上运行此命令时,出现错误,但是我认为这是因为我没有定义get_permalink()。

编辑2

这是第一个文件

<form action="http://localhost/w/download.php" target="_blank" method="post">
<input type="hidden" name="cate" value="<?php $categories[0]->name ?>" /><br />
<input type="hidden" name="url" value="<?php get_permalink() ?>" /><br />
<div align="center">
        <input type="image" value="submit" name="downloadfile" alt="Download" height="99" width="184" src="https://www.google.co.in/logos/doodles/2016/fathers-day-2016-us-5562299671642112-hp.jpg" />
</div>

这是第二个

<?php
if(isset($_POST['downloadfile_x'])) { //Name of the image, and x coordinate
   $urls=$_POST['url'];
}
echo $urls;
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM