Web ページでは、ユーザーは入力要素に文字列を入力できます。フォームが送信されると、すべての入力がルールに対して検証されます。検証後、マークされたエラーと入力要素がすでに入力されている入力ページがユーザーに再度表示されます。
データを返送するための検証ページのコードの一部:
$query_string = '?filename='.$timed_file_name . '&name=' . $name . '&text='.$text;
header('Location: http://' . $server_dir . $next_page . $query_string);
アンパサンドをヘッダーで使用できないことは明らかです。なぜなら、jack&jones と入力するとヘッダーが台無しになり、php は jack のみを返すからです。
私は醜い方法でそれを行うことができます:
検証ページ:
$name = html_entity_decode($name);
$name = str_replace("&","aammppeerrssaanndd",$name);
入力ページ:
$name = $_GET['name'];
if (strpos($name,'aappoossttrroopphh') !== false) {
$name = html_entity_decode($name);
$name = str_replace("aappoossttrroopphh","&",$name);
}
これに対する簡単な解決策はありますか?