ホームページ >バックエンド開発 >PHPチュートリアル >PHP POST アップロード、アップロードされた文字列を読み取ることができません

PHP POST アップロード、アップロードされた文字列を読み取ることができません

WBOY
WBOYオリジナル
2016-06-23 14:02:47945ブラウズ

WebClient クラス http://1.liuruitao.sinaapp.com/test.php?name={0} を使用してローカル C# で記述され、この URL を通じてアップロードされた Web ページ

if($_SERVER['REQUEST_METHOD']= ="POST")
{
// $s=json_encode($_post)

$s=$_GET["name"];
echo "hello world!!"
echo $_POST["name"];
$conn=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
if(!$conn)
die("接続失敗".mysql_error());
mysq l_select_db('app_liuruitao',$conn); ;
$sql = "$db 値に挿入 ('3344556677',$s,3,'4',5,'6','7','8','9')"; $sql, $conn);// SQL ステートメントを使用してデータを挿入します
mysql_close();// MySQL 接続を閉じます
echo "insert success";
}
アップロードされた名前の文字列を正しく取得できず、データベースに挿入できません、助けてください

ディスカッションに返信 (解決策)
echo $_POST["name"]; 試してみてください

値を取得することは不可能ですか?値を挿入しますか?

値を取得または挿入できませんか? 値を取得したように感じますが、それがデータベースに挿入できないようです。

echo $_POST["name"]; が print_r に変更されました。 ($_REQUEST); 試してみません。コードは他人のサーバーにあります。

http://1.liuruitao.sinaapp.com/test.php? {0}

明らかに、名前は $_GET 配列から取得する必要があります

$s =$_GET["name"];

$sql = "$db 値に挿入 ('3344556677',$s,3,' 4',5,'6','7','8','9 ')";
問題はここにあると思います
一般に、テーブルを作成するとき、唯一の主キーとしてフィールドがあり、主キーに繰り返しの値を割り当てることはできません。そうしないと、一意ではなくなります。
主キーが自動インクリメントの場合、デフォルトのフィールドリストが間違っている可能性があります



http://1.liuruitao.sinaapp.com/ test.php?name={0}
明らかに、名前は $_GET 配列から取得する必要があります

$s=$_GET["name"]


$sql = "$db 値に挿入します ('3344556677', $s,3,'4',5,'6','7','8','9')";
問題はここにあると思います
一般 テーブルを作成するときに、... [ /quote クライアントが送信するとき、POST を使用して送信しますか? それとも GET を使用しますか?
http://1.liuruitao.sinaapp.com/test.php?name={0}
明らかに、name は次のようにする必要があります。 $_GET 配列から取得
$s=$_GET["name"];

$sql = "$db 値に挿入 ('3344556677',$s,3,'4',5,'6' ,'7','8','9')";

問題はここにあると思います
一般にテーブルを作成するとき、...
クライアントは送信に POST を使用しますか、それとも GET を使用して送信しますか?受信する

URLに記述する URLに記述する場合は$_GETを使用する
$_POST POSTメソッドで渡されるデータのみを取得する(ファイルのアップロードを除く)

URLに記述する場合は$_GETを使用する

$_POST 取得のみを行うPOST メソッドで渡されたデータ (ファイルのアップロードを除く)

Get への変更も機能しません。毎回値を変更してから挿入すると、重複した主キーがありません。 s=$_GET["name"];
echo $s;

$s=$_GET["name"];

exit(); ;
このような出力はありますか?
いいえ、プログラムはこのページをリクエストするときにのみジャンプして読み取ります

$sql = "$db 値に挿入 ('3344556677', $s,3,'4',5,'6','7','8','9')"; value がない場合、実際に実行される SQL コマンドは
テーブル名の値に挿入されます ('3344556677',,3,'4',5,'6','7','8','9')
明らかに間違っています
この状況が存在するかどうかは、
mysql_query($sql,$conn) または die(mysql_error()) を通じて知ることができます
さらに、
$sql = "$db 値に挿入 ('3344556677',$) s,3,'4 ',5,'6','7','8','9')";

$sql = "$db 値に挿入 ('3344556677', '$s',3,'4' ,5,'6','7','8','9')";
事故を避けるために


$s=$_GET["name"];

echo $s;

exit();
このような出力はありますか?
データベースに保存されている sizeof($s) は 1 です

$sql = "$db 値に挿入します ('3344556677',$s) ,3,'4',5,'6','7 ','8','9')";

$s に値がない場合、実行される実際の SQL コマンドは

テーブル名の値に挿入されます ( '3344556677',,3,'4',5,'6', '7','8','9')
明らかに間違っています
パスしても構いません
mysql_quer...
さて、私はあなたが言及した 2 つの質問について、sizeof($s) を使用して結果をデータベースに保存します。結果は 1 です。ここから、問題が何であるかがわかります

送信された文字列はローカル サーバーで正しく取得できます。でも新浪には置けません…どうやら彼らのプラットフォームにすべきらしいです いくつかルールがあります…

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。