Re: [請益] submit後,亂數值跑掉
※ 引述《foxzgerald (O⊥M)》之銘言:
: ----------------------------------------------------
: 如果要避免重複,應該於產生亂數陣列之前做些判斷..
: ----------------------------------------------------
: if(!isset($_POST['n'])) // 如果表單尚未被 submit
: // 產生亂數陣列
: //顯示表單
: if(isset($_POST['n']))
: // 處理亂數陣列
: -----------------------------------------------------
: 上述的流程可以確保在表單被 submit 之後,不會再次產生新的陣列
: 然而會有一個問題:如果你的亂數陣列不是儲存在 session 變數中
: 發送表單之後,雖不重複產生亂數陣列,但因變數的生命週期已過
: 所以會抓不到亂數陣列。
的確,我遇到這個困難了
: 至少有兩種解決方式,一是儲存在 session 中,另一種是將產生出
: 來的亂數陣列儲存在表當之中
: ( 例:陣列可以用 base64_encode(serialize($rand_array));轉成字串儲存,
: 解碼則逆向操作 unserialize(base64_decode($_POST['rand_array']));
: 當然也可以存到資料庫或cookie中,方式不少端看你要做什麼。
有點複雜
我重新再簡化我的問題好了,
亂數陣列的處理方法實在太複雜了,我聽不太懂
功能:
產生一個亂數
用這個亂數當猜數字的題目
猜的如果比亂數小,印出:太小了
猜的如果比亂數大,印出:太大了
猜的如果等於亂數,印出:right
問題所在:
每按一次submit
亂數就會變一次....
我要的功能是產生一個亂數後
就一直以那個亂數去猜大小
不能每按一次submit後亂數又變更
該怎麼解決?
--------------------------------------
<html>
<head>
<title></title>
</head>
<body>
<CENTER>
<form method="post">
請輸入搜尋的數字:<input type=text name=n>
<input type=submit value=送出>
</form>
</CENTER>
<hr>
<?
$num=rand(1,100);
echo $num;
if (isset($n))
{
if ($n<$num)
{
echo "太小了";
continue;
}
elseif ($n>$num)
{
echo "太大了";
continue;
}
else
{
echo "right";
}
}
?>
</body>
</HTML>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.142.122
推
11/18 00:59, , 1F
11/18 00:59, 1F
→
11/18 01:00, , 2F
11/18 01:00, 2F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章