作者piligo (霹靂狗)
看板PHP
標題[請益] 背景驗證如何運用
時間Thu Aug 15 09:15:13 2019
請問我有一個網站需要先開啟指定網址(驗證)才能再開另一個網址流覽內容(商品)
假設有10樣商品就有對應10個網址,但是驗證網址就固定一個網址
我想透過PHP把這個流程變成一次性動作
目前寫出來的模式是每個商品打開前先開驗證網址
變成觸發10個商品連結會額外多10個重複的驗證網頁
有什麼函數是可以把載入驗證網頁這個動作做成背景載入
就是不要把驗證網頁顯示在分頁上
驗證的網頁不需要填任何資料,只要瀏覽器開過就算驗證了
不知有沒有版友看的懂我在表達什麼 @@
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.164.33.60 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1565831715.A.2CA.html
※ 編輯: piligo (218.164.33.60 臺灣), 08/15/2019 09:28:11
1F:→ LMGG: Ajax 驗證,應該有符合你的需求 08/15 09:30
2F:→ piligo: 可是我找到的都是驗證表單 我只是單純要背景載入網頁而已 08/15 09:51
3F:→ piligo: 突然想到可以用iframe切一小塊載入驗證 只是有更簡單更好 08/15 09:55
4F:推 my1938: ajax又不一定只能驗證表單。商品頁的內容先不要寫進去,然 08/15 10:13
5F:→ my1938: 後document ready的時候觸發ajax進行驗證,驗證成功後在 08/15 10:13
6F:→ my1938: 把商品頁的內容回應給ajax顯示出來 08/15 10:13
7F:推 visa9527: 這種還是用 iframe 吧,Referer 都直接送過去 08/15 11:06
8F:→ visa9527: Ajax 瀏覽器不會自動處理 session 只可寫 cookie 08/15 11:07
9F:→ visa9527: 你用透明或視界範圍外的 iframe 就好了 08/15 11:08
10F:→ piligo: 感謝 一行無框的iframe就解決了 08/15 13:22
不過又延伸一個問題 iframe還沒載完產品頁就送出
我嘗試在iframe跟開啟產品頁面中間加了一行
<?php sleep(3); ?> 實際上有等3秒,但是產品還是顯示不出來
※ 編輯: piligo (218.164.33.60 臺灣), 08/15/2019 13:39:58
11F:→ piligo: 發現用Android手機才有這個問題 用電腦不用加Sleep也正常 08/15 13:41
12F:→ piligo: 錯亂了~電腦開無痕跟手機一樣狀況 08/15 13:56
我把iframe視窗解除隱藏後發現,iframe擺在sleep前面,卻是sleep完iframe才載入
疑~PHP不是逐條式執行嗎
※ 編輯: piligo (218.164.33.60 臺灣), 08/15/2019 14:09:25
※ 編輯: piligo (218.164.33.60 臺灣), 08/15/2019 14:10:03
13F:推 my1938: 是逐條執行沒錯啊,但又不是逐條輸出顯示 08/15 15:20
14F:推 yaritai: ob_flush把緩衝輸出 08/17 06:34
15F:推 tsao1211: 驗證完再redirect就好了 08/17 09:23
16F:推 GoldRoger: session 08/17 09:50
17F:→ KKFN: shorturl.at/BEHU8 08/18 12:35
18F:→ KKFN: 前端問題前端解,iframe 有 attribute 可以在 loaded comple 08/18 12:37
19F:→ KKFN: te 的時候觸發事件,所以你會預設 submit 是 disabled,然後 08/18 12:37
20F:→ KKFN: 透過 iframe 的 attribute 去在載入完成的時候觸發事件來把 08/18 12:37
21F:→ KKFN: submit 改為 undisabled 08/18 12:37
22F:→ piligo: BEHU8失效了? 來好好研究一下iframe的attribute 謝謝 08/18 23:01
<script>
function load()
{
if(value == true){
document.getElementById('sbmt').disabled=true;
}else{
document.getElementById('sbmt').disabled=false;
}
}
</script>
<input id="sbmt" name="nid" type="submit" value="test">
<iframe onload="load()" width="0px" height="0px" frameborder="0"
scrolling="no" src="
https://www.pchome.com.tw"></iframe>
這邊怎麼試都不成功,不知該怎麼判斷load的值
※ 編輯: piligo (218.164.45.137 臺灣), 08/19/2019 12:14:30
23F:推 mikejaffson: t大說的就是最簡易的做法 08/23 13:30
24F:→ mikejaffson: 也不用擔心瀏覽器等前端限制問題 08/23 13:30
25F:推 frank910138: 驗證完 傳callback url redirect回來 08/23 18:57