0

私はこのケースを、それ自体に送信する単純なPHPページに変えました。私の問題は、私がトラック大会の結果を提出しているということです、そして、女の子の名前の1つはエコーです...素敵な名前です。

私が提出している問題のテキストは次のとおりです。棒高跳び-レイチェルサイモンズ、トウ、8-6; Echo Wilson、Cit、8-0; モリー・ランドール、トウ、7-0;

したがって、セミコロン、空白、エコーが続きます...

送信後、次のように表示されます。/results/test.phpへのPOSTはサポートされていません

最終的な目標は、それを他の情報と一緒にデータベースに保存し、それを見つけるための検索ページを用意して、画面に結果全体を印刷することです。私はすべてのデータベースのものを取り除いて、この1つのエラーに落とし込みました。つまり、意図的に彼女の名前のつづりを間違える可能性がありますが、これを回避する方法が必要ですよね?

これがテストPHPファイルです。

<html>
<head>
<title>title</title>
</head>
<body>
<?php
echo "<h3>Edit meet info below</h3>";
echo "<form action=\"test.php\" method=\"post\" id=\"submitForm\">";
echo "Full Results:<br/><textarea NAME=\"results\" id=\"results\" rows=\"20\" cols=\"80\" MAXLENGTH=\"8191\"></textarea><br/><br/>";
echo "<input type=\"submit\" name=\"submitMeet\" value=\"Submit\">";
echo "</form>";
?>
</body>
</html>
4

2 に答える 2

4

mod_securityリクエストをスキャンし、リスクのように見えるリクエストを拒否する、不完全なセキュリティシステム(おそらく?)があるようです。

彼らがそれを無効にすることができるかどうかあなたはあなたのウェブホストか何かに尋ねなければならないでしょう。テキストの任意の組み合わせに基づいてPOSTリクエストを任意に拒否するPHP関数はありません。(少なくとも、この場合はそうではありません)

于 2010-05-11T03:47:04.177 に答える
0

エコーに彼女の名前を変更してもらう必要があります...名前...名前。

真剣に、webdestroya が提案したことを調べてください。それが失敗した場合、POST リクエストで名前を区切るために使用する区切り文字を変更し、受信後にその区切り文字をセミコロンに戻すという手っ取り早い解決策があると思います。したがって、次のようなものを POST します。

Pole vault - Rachel Simons, Tow, 8-6||Echo Wilson, Cit, 8-0||Molly Randall, Tow, 7-0||

次に、これを行います:

$data = str_replace('||', ';', $the_data_you_posted);

結果を入力するときにデリミタを手動で入力したくない場合は、小さな JavaScript を記述して、送信時にセミコロンを自動的に変換できます。

于 2010-05-11T03:58:22.130 に答える