PHP中的$ _POST没有返回任何数据

时间:2012-11-24 19:09:54

标签: php post

我写了以下名为fetchdetails.php

的php
<?php
$db ="fb"; 
$con = mysql_connect("host","user","paswd") or die ("hi ".mysql_error());
mysql_select_db($db) or die("helo".mysql_error());

$id = $_POST["id"];
echo $id;
$id = (string)$id;
echo $id."hi";

当我使用www.anyaddress.com/fetchdetails.php?id=1722315调用它时,但echo $ id没有显示任何内容。尽快需要帮助。实际上,我之前在其他一些代码中做了同样的事情并且工作正常。

3 个答案:

答案 0 :(得分:11)

如果想要从URL查询中获取值,例如

中的id部分
  

http://example.com?id=42

您应始终使用 $_GET 超全局数组,如下所示:

$id = $_GET['id'];
echo $id; // 42

另一方面,您应该使用 $_POST 来获取通过HTML表单提交的任何数据。  仅当您希望通过表单提交查询时才使用$_POST["id"];

无论情况如何,您都不应该信任POST / GET传递的任何数据。因此,在将它放入mysql查询之前,应该清理/转义它。

像这样:$id = mysql_real_escape_string($_GET['id']),

注意。每个以mysql_开头的函数都是不安全的,因此您必须了解PDO或MySQLi

答案 1 :(得分:1)

删除此行

$db ="fb"; 

$con = mysql_connect("host","user","paswd") or die ("hi ".mysql_error());

mysql_select_db($db) or die("helo".mysql_error());

并检查它是否有效。如果确实如此,那么在建立连接时就会出现问题。

如果不是,请检查是否发送了 POST GET 请求,并且已发送

答案 2 :(得分:1)

如果值可以来自以下任何一项,您也可以使用$_REQUEST变量 $_GET$_POST$_COOKIE