如何在函数

时间:2016-06-19 14:15:51

标签: php wordpress

我正在开发一个php项目,它在wordpress中,我用来从一个页面发送数据并在另一个页面中使用这些数据,我使用$ _POST从该页面获取数据。但是当我尝试在函数中获取数据时,或者在块中它变为空时,但是当我在函数的一侧或者块中使用它时,它工作,(工作意味着我从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开发者,我只是从错误中吸取教训

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

只需这一行:

<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;
?>