-1

私は次の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が、echo $id には何も表示されません。早急に助けが必要です。実際、私は他のコードでこれと同じことを以前に行いましたが、正常に機能していました。

4

3 に答える 3

11

idの部分などの URL クエリから値を取得する場合

http://example.com?id=42

次のように、常に$_GETスーパーグローバル配列を使用する必要があります。

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

一方、$_POSTHTML フォーム経由で送信されたデータを取得するには、 を使用する必要があります。$_POST["id"];フォーム経由で送信されたクエリを取得する場合にのみ使用します

いずれにせよ、POST/GET で渡されたデータを信頼するべきではありません。したがって、mysql クエリに入れる前に、サニタイズ/エスケープする必要があります。

このような: $id = mysql_real_escape_string($_GET['id']),

ノート。mysql_is depredicatedで始まるすべての関数は安全に使用できないため、PDO または MySQLi について学ぶ必要があります。

于 2012-11-24T19:11:22.910 に答える
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リクエストを送信しているか、送信されていますか。

于 2012-11-24T19:14:30.917 に答える
1

値が次のいずれか$_REQUESTから取得できる場合は、変数を 使用することもできます。$_GET$_POST$_COOKIE

于 2012-11-24T19:19:35.693 に答える