2010-08-17 71 views
1

如何将值/变量传递给$ _POST? 我没有获得所有数据到我的PHP函数。所以我只是想明确地通过它们。

谁能告诉我这是怎么完成的?

+0

什么让POST请求到PHP文件? – Douglas 2010-08-17 10:47:15

+0

$ _POST是普通的PHP变量。如果您不熟悉为数组赋值,最好参考手册:http://php.net/types.array – 2010-08-17 10:48:46

+0

@Douglas,一个html表单正在发送POST请求。 – Yustme 2010-08-17 11:33:05

回答

2

查看$_POST中的内容,然后检查HTML表单是否正确。

print '<pre>'; 
print_r($_POST); 
print '</pre>'; 

或者你也可以直接将值分配给$_POST,因为它是(几乎)是正常的数组:

$_POST['test'] = 'hi'; 

但我想这不是你要找的内容。

+0

那正是我需要的。但再次将它解决是问题所在。 – Yustme 2010-08-17 11:22:20

0

$ _POST数组用于检索通过HTTP POST请求发送到PHP页面/脚本的数据。

你问的是如何显式地赋值给$ _POST,而不会自动在请求中赋值?如果是这样,你为什么要这样做?

+0

即时通讯不知道如果我说得对。我需要从POST中获取一些数据。但我没有获取所有数据。所以即时通讯想知道我可以如何显式传递数据到POST事情。 – Yustme 2010-08-17 11:21:33

-1

如果我正在阅读您的问题,您希望将该函数的scope以外的值传递给它的范围,对吧? 在PHP中使用正确的代码范例时,通常这是不必要的,但是您可以使用全局关键字从函数内部访问全局变量。

全球关键字使用:

$test = 1; 

function funca() { 
    global $test,$foo; 
    $test = 2; 
    $foo = 8; 
} 

function funcb() { 
    global $test,$foo; 
    @echo $test."\n"; 
    @echo $foo."\n"; 
} 

funcb(); // prints 1 and gives error 
funca(); 
funcb(); // prints 2 and 8 
+0

$ _POST,$ _GET等是超全局变量,它们不需要被“全局化”。 – dwich 2010-08-17 11:25:25

+0

@dwich其实,我并不建议在超全球系统上使用全局。什么给了你这个想法? 我在说的是,Yustme可能会使用$ _POST,虽然它的工作方式,从来没有这样用过,所以我建议一种方法来做到这一点*不使用任何特殊的变量。 – frozen 2010-08-17 12:43:24

+0

如果我正确地理解了这个问题,那么它就不会在$ _POST数组中包含所有信息,这可能是由错误地编写的HTML表单造成的。这不是关于如何或何时使用全局或变量作用域。 – dwich 2010-08-17 14:10:00