randomURL 関数を使用すると Uncaught ReferenceError が発生する理由を理解しようとしています。page1.php はそれを作成し、それを page2.php に渡し、次にそれを page3.php に渡します。選択して onchange イベントを開始しても、何も起こりません。提案や説明をいただければ幸いです。
page1.php
<?php
$mycode = randomURL();
$url = '/page2.php?code='.$mycode;
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';
?>
function randomURL() {
$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
$pass = array();
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i < 15; $i++) {
$n = rand(0, $alphaLength);
$pass[] = $alphabet[$n];
}
return implode($pass);
}
randomURL が実行されると、d4KLzmXt24EeoOB のようなコードが作成され、URL に配置されます。
page3.php コードは次のとおりです。
<?php
$mycode = $_GET['code'];
<select name="bookings" onchange="showbookings(this.value,'.$mycode.')">
<option value="">Select Booking Types To See:</option>
<option value="1">All Booking</option>
<option value="2">Open Bookings</option>
<option value="3">Closed Bookings</option>
</select>
?>
ここで page3.php を実行すると、ページ ソースの結果が表示されます。
<select name="bookings" onchange="showbookings(this.value,d4KLzmXt24EeoOB)">
<option value="">Select Booking Types To See:</option>
<option value="1">All Booking</option>
<option value="2">Open Bookings</option>
<option value="3">Closed Bookings</option>
</select>
Uncaught ReferenceError: d4KLzmXt24EeoOB が定義されていません
function showbookings(str, pass) {
if (str === "") {
document.getElementById("txtBookings").innerHTML = "";
return;
}