我想使用类似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表单的情况下发布数据吗?
答案 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'];
这似乎是你想要做的。