[英]Variable from function not being passed to php
我在將一個變量從我的javascript函數傳遞到我的php頁面時遇到了一些麻煩。 open_boosters從我希望傳遞給site3.php的數組中返回一個隨機變量。 我知道PHP代碼首先被執行但是如何在沒有用戶點擊任何內容的情況下傳遞這些變量?
> Main.html
<p id="generatenumbers"></p>
<script>
var open_boosters = function()
{
var i, j;
var array=[];
for(i=0; i < 13; i++)
{
(array[i] = Math.floor(Math.random()*14)+16);
for(j=0;j<i;j++)
{
while(array[i]==array[j])
{
(array[i]= Math.floor(Math.random()*14)+16);
}
}
return array[i];
}
}
window.addEventListener('DOMContentLoaded', function ()
{
var randnumb = open_boosters();
document.getElementById("generatenumbers").innerHTML=open_boosters();
document.getElementById("randImg").src = "site3.php?rndNum"+randnumb;
}, false);
</script>
site3.php
<?php
$mysqli=mysqli_connect('localhost','root','','draftdb');
if (!$mysqli)
die("Can't connect to MySQL: ".mysqli_connect_error());
$stmt = $mysqli->prepare("SELECT display.PICTURE_ID
FROM cards
INNER JOIN display ON cards.DISPLAY_ID = display.DISPLAY_ID
WHERE display.DISPLAY_ID=? AND cards.CARD_TYPE ='rare'" );
$displayid = isset($_GET['randnumb'])? $_GET['randnumb'] : false;
//echo "Number: ".$displayid." ";
$stmt->bind_param("i", $displayid);
$stmt->execute();
$stmt->bind_result($image);
$stmt->fetch();
//header("Content-Type: image/jpeg");
echo $image;
?>
我可以通過評論中建議的更改來完成以下工作:
open_boosters()
成為一個函數 =
添加到URL getElementById
set函數使用相同的randnumb
變量 <p id="generatenumbers"></p>
<img src="" id="randImg" />
<script>
function open_boosters()
{
var i, j;
var array=[];
for(i=0; i < 13; i++)
{
(array[i] = Math.floor(Math.random()*14)+16);
for(j=0;j<i;j++)
{
while(array[i]==array[j])
{
(array[i]= Math.floor(Math.random()*14)+16);
}
}
return array[i];
}
}
window.addEventListener('DOMContentLoaded', function ()
{
var randnumb = open_boosters();
document.getElementById("generatenumbers").innerHTML=randnumb;
document.getElementById("randImg").src = "site3.php?rndNum="+randnumb;
}, false);
</script>
然后隨機數可以作為$_GET['rndNum']
(而不是$_GET['randnumb']
)在site3.php腳本中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.