如何在没有表单的情况下获取POST变量和数据?

时间:2013-12-16 21:20:23

标签: php

我想使用类似http://example.com/index.php?key=pebble的内容,然后在“pebble”是关键变量的数据时执行操作。我现在所拥有的代码是

<?php
$key = $_POST['key'];
if($key == "pebble") {
    $file = fopen("index.txt","w");
    echo fwrite($file, "Hello pebble!");
    fclose($file);
}
?>

但这似乎不起作用。我假设这是因为它不是发布而是通过变量。有人可以帮助您如何在不需要HTML表单的情况下发布数据吗?

4 个答案:

答案 0 :(得分:1)

您需要使用GET而不是POST

如果您想使用http://example.com/index.php?key=pebble

你也可以使用:

$key = $_REQUEST['key'];代替$key = $_POST['key'];

如果您希望将表单的方法从$_REQUEST更改为GET,反之亦然,则使用POST可以让您的(处理程序)代码保持不变。

但是,如果没有采取适当的措施来正确清理/逃避用户输入,使用GET可能会带来安全风险,如果您想要为数据库实施安全风险。

一般经验法则:绝不信任用户输入。

答案 1 :(得分:0)

您需要使用$key = $_GET['key'];获取数据,因为您正在使用查询字符串变量发送信息。

答案 2 :(得分:0)

如果您需要的数据是通过GET请求发送的,这意味着它显示在网址中的name=value组合中

http://example.com/index.php?key=pebble

获取name键值的正确方法是使用以下

$key = $_GET['key'];
echo $key; // OUTPUT: pebble

在您的示例中,您使用的是POST而不是GET,而事实上,它是GET

答案 3 :(得分:0)

只需将$_POST更改为$_GET

即可
 $key = $_GET['key'];

这似乎是你想要做的。