次のようにクエリ文字列を使用して、もう一つの方法は、もあります:
<?php
if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != null) {
$qs = htmlentities($_SERVER['QUERY_STRING']);
list(,$ans) = explode("=",$qs);
if ($ans) {
echo "Your answer is $ans. ";
}
exit("Thank you");
}
?>
あなたは、以下のJavaScriptを含むHTML続く、ウェブページの上部にPHPコードを入れることができます:
<script>
var ans = false;
if(ans = confirm("Are you sure?")) {
this.location += "?answer=" + ans;
}
else
{
document.write("Action cancelled since you seem unsure");
}
</script>
Ajaxは確かにエレガントですが、変数を含むクエリ文字列を動的に生成することも可能です。必要に応じて次のように、あなたは、stream_context_create()を利用することにより、フォームをハードコーディングせずに他のページへのクエリ文字列を投稿できる:希望のURLで
<?php
error_reporting(E_ALL);
if (isset($_SERVER['QUERY_STRING']) && ($_SERVER['QUERY_STRING'] != NULL))
{
$url = 'http://www.example.com/some_page.php';
$qs = htmlentities($_SERVER['QUERY_STRING']);
list($key,$value) = explode("=",$qs);
$arr = array($key => $value);
$options = array(
'http'=>array(
'method'=>"POST",
'header'=>
"Accept-language: en\r\n".
"Content-type: application/x-www-form-urlencoded\r\n",
'content'=>http_build_query($arr)
));
$context = stream_context_create($options);
$fp=fopen($url,'rb',false,$context);
fpassthru($fp);
fclose($fp);
exit;
}
?>
あなただけのスクリプトを追加する必要があり、その
<?php
var_dump($_POST['answer']);
[JavaScript変数をPHPに渡す方法](http:// stackoverflow)の可能な複製。com/questions/1917576/how-to-pass-javascript-variables-to-php) – 4castle