2012-11-24 104 views
-2

我寫了下面的PHP的任何數據稱爲fetchdetails.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調用它,但回聲的$ id沒有顯示任何東西。在這方面需要幫助。其實我早些時候在其他一些代碼中做了同樣的事情,它工作正常。

+5

這是一個'$ _GET',而不是'$ _POST'。回聲'$ _GET ['id']' –

回答

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_開始的每個函數depredicated是不安全的使用,所以你必須瞭解PDO或MySQLi的

+0

嘿,謝謝你的回覆 – Pooja

+0

@Eritrea:確保有足夠的時間來考慮足夠的意見。 – Ryan

1

刪除此行

$db ="fb"; 

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

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

,並檢查它然後工作。如果確實在建立連接時遇到問題。

如果不檢查你發送POSTGET請求是發送

+2

這將如何影響'echo $ id;'缺少輸出?該部分甚至不使用'$ id'。 – Ryan

+0

沒有閱讀整個評論或他編輯它。認爲它沒有打印任何東西。 – carobnodrvo

1

您還可以使用$_REQUEST變量,如果值可以是下列任何 $_GET$_POST$_COOKIE