在一個php中,我定義了兩個表單,當第一個表單提交後,產生了第二個表單,提交第二個表單後,就取不到第一個表單的資料了,該怎麼辦?

來源:互聯網
上載者:User
表單 php 提交 傳遞 資料

在一個php中,我定義了兩個表單,當第一個表單提交後,產生了第二個表單,提交第二個表單後,就取不到第一個表單的資料了,該怎麼辦?
//第一個表單
echo "";//第二個表單
var_dump($m);
?>
提交第二次後就得不到$m了,該怎麼做才能將$m傳遞到最後呢?
本人新手,不懂得cookie、session。謝謝了!


回複討論(解決方案)

這個最合理的做法就是用session或cookie儲存前一次的提交,不懂的話就乾脆以此為契機,學吧

這個最合理的做法就是用session或cookie儲存前一次的提交,不懂的話就乾脆以此為契機,學吧
恩,我臨時學了一下,我的做法是兩個表單分別放在兩個php檔案中,然後在第二個php中寫了setcookie("m1",$m,time()+3600);
$m2=$_COOKIE["m1"];
然後我就用m2這個變數當做m的值,但是當我準備產生第三個表單的時候,怎麼取到m?我覺得php跳轉到下一個網頁後就得不到前一個php的值了。如果用xml可以解決這種問題嗎?

不要把事情弄得那麼複雜
你的第二的個表單是第一個表單的處理常式建立的
那麼就把第一個表單的提交以隱藏變數的形式放到第二個表單裡就是了

不要把事情弄得那麼複雜
你的第二的個表單是第一個表單的處理常式建立的
那麼就把第一個表單的提交以隱藏變數的形式放到第二個表單裡就是了
我也有這麼想,但是不會隱藏變數啊,希望有代碼參考一下,謝謝!

不要把事情弄得那麼複雜
你的第二的個表單是第一個表單的處理常式建立的
那麼就把第一個表單的提交以隱藏變數的形式放到第二個表單裡就是了
他這種需求我很久以前遇到過,就是做問卷調查時一道題一頁??回答後才出現下一個問題,最初也是逐個做hidden傳下去的,後來發覺十幾道題就嫌麻煩了,用session反而簡單多了

cookie我也覺得麻煩,如果用cookie就乾脆做“假提交”,一次把題都發過去,用js把後面的題隱藏,逐個顯示,到最後一題才一併提交

session的缺點是有時效性,需要在一定時間有動作才不會丟失值
cookie的缺點是用戶端可以造假

在 間加入 php 代碼
foreach($_POST as $k=>$v) echo "";

怎麼會麻煩呢?使用了 session 的表單頁,無論怎麼設定,“回退”的表現都不盡人意



不要把事情弄得那麼複雜
你的第二的個表單是第一個表單的處理常式建立的
那麼就把第一個表單的提交以隱藏變數的形式放到第二個表單裡就是了
我也有這麼想,但是不會隱藏變數啊,希望有代碼參考一下,謝謝!


不要把事情弄得那麼複雜
你的第二的個表單是第一個表單的處理常式建立的
那麼就把第一個表單的提交以隱藏變數的形式放到第二個表單裡就是了
他這種需求我很久以前遇到過,就是做問卷調查時一道題一頁??回答後才出現下一個問題,最初也是逐個做hidden傳下去的,後來發覺十幾道題就嫌麻煩了,用session反而簡單多了

cookie我也覺得麻煩,如果用cookie就乾脆做“假提交”,一次把題都發過去,用js把後面的題隱藏,逐個顯示,到最後一題才一併提交

session的缺點是有時效性,需要在一定時間有動作才不會丟失值
cookie的缺點是用戶端可以造假
不是吧,我產生的表單是根據上一個表單提交資料才能用的,沒有輸出上限,hidden不行。

一樣的,js也能根據“提交”內容產生控制項,只是你不熟悉而已

實在搞不定就按#6老徐的方法寫,這個思路最簡單

我個人對數組相對熟悉些,所以習慣用session記錄,懶得每次都對前面提交的資料再遍曆一次

你可以這麼的。兩方式
一種方式就是分兩頁面:第一步提交後,到第二步的時候讀取出來。
兩步在一個頁面:先用js隱藏第二步,ajax提交,那麼再第二步也能擷取第一步的值。

不要把事情弄得那麼複雜
你的第二的個表單是第一個表單的處理常式建立的
那麼就把第一個表單的提交以隱藏變數的形式放到第二個表單裡就是了
恩,我覺得這個方法最方便,但是沒有出結果,你看看My Code好嗎?
這是第二個php:
foreach($_POST as $k=>$v)
{
echo "";
}
var_dump($m);
echo "";
?>
這是第三個php:
foreach($_POST as $k=>$v)
{
echo "";
}
$n;
for($i=1;$i<=$m;$i++)
{
$h="n".$i;
$n[]=$_POST["$h"];
}
var_dump($n);
?>
跳轉到第三個php輸出的是null,網址上也僅僅跟著n1、n2、n3...的值,沒有出現m,怎麼回事呢?

一樣的,js也能根據“提交”內容產生控制項,只是你不熟悉而已

實在搞不定就按#6老徐的方法寫,這個思路最簡單

我個人對數組相對熟悉些,所以習慣用session記錄,懶得每次都對前面提交的資料再遍曆一次
謝謝你!但是我用6#上面的代碼還是出不來結果,怎麼回事?

放在

外面有啥用啊?

放在外面有啥用啊?
說的好啊!有一種白寫了一個月php的感覺,並且我還發現My Code裡面get和post都沒匹配上,非常謝謝你!

我要結樓了,這是我第一次在csdn上發帖,問問php相關的問題,沒想到效果很好,雖然嚴重的鄙視了自己的智商,但能學到東西我很感謝,以後我也學習學習cookie還有session,非常感謝xuzuning、snmr_com!
@xuzuning
@snmr_com
撒花啦!O(∩_∩)O

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.