酷!學園

技術討論區 => 程式討論版 => PHP程式設計討論區 => 主題作者是: edwardleung 於 2007-10-17 10:57

主題: php + html ( form : radio / checkbox ) 問題一問
作者: edwardleung2007-10-17 10:57
您們好,

請問有否方法可以保留或保存用戶端已選擇的選項 ( 如 radio / checkbox 等 )...
因需要他們每個問題都要回應問題, 如當返回問題網頁時, 原來已選用之功能仍存在!

有否例子可供參考?

謝謝協助!

Edward.
主題: php + html ( form : radio / checkbox ) 問題一問
作者: micmic32007-10-17 11:15
如果是用 window.history.back(); 應該會記住之前選的選項
主題: php + html ( form : radio / checkbox ) 問題一問
作者: Yamaka2007-10-17 11:24
用 cookie 或 session 記錄..
主題: php + html ( form : radio / checkbox ) 問題一問
作者: edwardleung2007-10-17 11:30
您好,

請問有否例子可供參考呢 ?

Edward.
主題: php + html ( form : radio / checkbox ) 問題一問
作者: Yamaka2007-10-17 11:37
手上沒現成的例子,

不過如果你會用 cookie or session 應該就知道怎麼做吧  :roll:
主題: php + html ( form : radio / checkbox ) 問題一問
作者: joeyhsy2007-10-17 12:33
方法1.前端用javascripts檢查強制輸入(當user關閉javascripts時無效)
方法2.後端把整個$_POST再送回來(方便用於欄位太多的時候)
主題: php + html ( form : radio / checkbox ) 問題一問
作者: edwardleung2007-10-17 14:02
您好,

關於方法2, 請問意思為何 ?

Edward.
主題: if else
作者: hikohan2007-10-17 14:33
<input type="radio" name=foo value="2" <?=($_POST['foo']?"checked":"")?>>

每當使用者select/check與changed時,網頁送回使用者的填單內容,ajax可以,或者,form posted。

完成填單前,如果,需要前往另外的確認或登入頁,auth完畢又回到填單,貼心自動填回之前填過的,post var或根據session資料填寫。
主題: php + html ( form : radio / checkbox ) 問題一問
作者: edwardleung2007-10-17 16:20
引用

<input type="radio" name=foo value="2" <?=($_POST['foo']?"checked":"")?>>


請問以上例子當有多個 radio 選項時, 系統如何分辨那個 foo 的變數內容 ( 1 或 2 ) 才有被選用呢 ?
主題: php + html ( form : radio / checkbox ) 問題一問
作者: Darkhero2007-10-17 16:35
引述: "edwardleung"
引用

<input type="radio" name=foo value="2" <?=($_POST['foo']?"checked":"")?>>


請問以上例子當有多個 radio 選項時, 系統如何分辨那個 foo 的變數內容 ( 1 或 2 ) 才有被選用呢 ?


你必須自己想辦法試著舉一反三阿!!!

不同的變數當然是用不同的變數名稱。
主題: php + html ( form : radio / checkbox ) 問題一問
作者: edwardleung2007-10-17 17:50
<input type="radio" name=foo value="1" <?=($_POST['foo']?"checked":"")?>>
<input type="radio" name=foo value="2" <?=($_POST['foo']?"checked":"")?>>

請問這樣情況下可以怎樣做呢 ?

同一變數名稱, 但變數內容不同...
主題: session or POSTED
作者: hikohan2007-10-17 18:04
如果每次form物件的更動,或者在某個動作紀錄整個form.bla.bla

<?=var_dump($_SESSION['foo']?>

看似平凡的一個sess,倒出來可能是上百k的名稱與資料結合的陣列。

傳回form的uri,甚是

writeform.php?ka=aa&kb=bb&kc=cc&kd=dd&ke=ee........

darkhero說了關鍵,得用腦想。
主題: php + html ( form : radio / checkbox ) 問題一問
作者: joeyhsy2007-10-17 22:30
下面搭配session, 很偷懶的做法, 您試試:
代碼: [選擇]
<?//a.php
session_start();
if(session_is_registered("var_session"))
{
$_POST=$_SESSION[var_session];
}
?>
<form action="b.php" method="post">
<input type="text" name="var1" value="<?= $_POST[var1]?>">
<input type="text" name="var2" value="<?= $_POST[var2]?>">
<input type="radio" name="foo" <?if ($_POST[foo]=="1") {echo "checked";}?> value="1">
<input type="radio" name="foo" <?if ($_POST[foo]=="2") {echo "checked";}?> value="2">
<input type="submit" value="go">
</form>

代碼: [選擇]
<?//b.php
session_start();
session_register("var_session");
if($_POST)
{
$_SESSION[var_session]=$_POST;
echo "<a href='a.php'>return</a>";
}
?>
主題: Re: php + html ( form : radio / checkbox ) 問題一問
作者: bballlover2017-06-03 01:16
感謝  用這招真的可以

原本是用 checked = <?php 判斷式 >
發現一直不行   覺得他可能預設前面只能有一個checked

改用 <?php 判斷式 { echo 'checked'; } ?>  搞定   困擾我好久~謝謝大大~