English version
German version
Spanish version
French version
Italian version
Portuguese / Brazilian version
Dutch version
Greek version
Russian version
Japanese version
Korean version
Simplified Chinese version
Traditional Chinese version
Hindi version
Czech version
Slovak version
Bulgarian version
 

Предотвратяване подаването повтаря формата Използване на PHP сесии

Уеб дизайн RSS Feed





Ние всички наблюдавани тези съобщения на някои сайтове предупреждение да не натиснете бутон повече от веднъж или отрицателни последици, както и разплащателните сметки два пъти, може да доведе. Понякога може да предизвика тези проблеми, като натиснете на гърба или опресняване бутони. В тази статия ще обясня една методология, която позволява даден сайт може да гарантира, всяка форма се представя само веднъж, като по този начин доказват, че тези предупреждения са ненужни и, в зависимост от естеството на проблеми, причинени на стойност ремонт веднага. Нека започнем, като се погледнем в процес, който се учи: подаване на формуляра. Като педантичен колкото може да изглежда, че ще бъде полезно да се подробно всяка една от стъпките в този процес: Гост исканията на страница от сървъра, който има формата it.Server извлича форма и изпраща user.User влиза данни за формата и представя server.Server процеси данните от формуляра и връща резултат страницата. Сценарият Сега е необходимо да се анализира е, когато потребителят отново предизвиква предишния процес формулярът за участие. Това, което трябва да се намери или да създаде нещо, което се промени по време на процеса формулярът за участие, която не зависи от конкретните форма да бъдат представени и които ние можем да кажем промяна. Това беше едно изречение, което напълно натоварени детайли нашето решение, така че нека да го съборят. Намерете или създават нещо, което промени по време на процеса формулярът за участие, се не зависят от специфичната форма да бъдат представени, andwe може да каже changed.Since елемента, които промени не зависи от формата представяне (например няма значение дали това е формата Регистрация на информационни бюлетини, клиентски формуляр за регистрация, плащане форма и т.н.), елементът не е нещо, което вече съществува и затова трябва да бъде създаден, така че нека се създаде форма променлива с submissionId и си мислете, че има три свойства, посочени по-горе. Така Дотук добре - или поне така изглежда! Третият "собственост" е, че "ние можем да кажем [то] е променена", а "промяна" не е собственост на една променлива, така че трябва да гледам на това по-тясно. За да се каже промени нещо, ние трябва да има точка, отговорът на въпроса "променя от какво?" Това е мястото, където една променлива сесия ще влезе в игра. Ако дефинирате променлива сесия, да речем nextValidSubmission $ _SESSION ['] и го третират като отправна точка, ние ще имаме всички инструменти, необходими за защита на нашите посетители. Идеята е да се запази сесия променлива актуализиран с последните submissionId изпратени и промяна на submissionId всеки път е изпрати на потребителя. След това, ако те се опитват да изпратите отново данните, те ще се представи един стар submissionId който не съвпада с nextValidSubmission и ние няма да знаем да се възстанови процеса на тези данни. Нека да погледнем на това в Условия за процесите: Гост исканията на страница от сървъра, който има формата it.Server извлича форма, генерира нови submissionId която се вгражда във формуляра, актуализации nextValidSubmission, и изпраща user.User влиза данни за формата и представя server.Server процеси данните от формуляра, промени nextValidSubmission и връща резултат страницата. Сега, ако посетителят някак resends на данните, те ще се изпращат стари submissionId, които няма да отговарят на новите nextValidSubmission. Така че, сега можете да кажете сбогом на разчита на JavaScript да се премахне / изключите бутоните, глупави съобщения предупреждение и разстроен клиенти чрез предотвратяване на формата отново submission.Webmaster на Сценарий Референтен - В * НОВО * PHP Референтен & Инструкция сайт за не-програмисти Виж тук за по-подробна информация, пример използва PHP и един алтернативен метод, който не изисква

Член Източник: Messaggiamo.Com

Translation by Google Translator





Related:

» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker


уебмастъра Вземи Html кодекс
Добави тази статия на вашия сайт сега!

уебмастъра Подайте членове
Не е необходима регистрация! Попълнете формата и статията ви е в Messaggiamo.Com директория!

Add to Google RSS Feed See our mobile site See our desktop site Follow us on Twitter!

Подайте членове на Messaggiamo.Com директория

Категории


Авторско право 2006-2011 Messaggiamo.Com - Карта на сайта - Privacy - уебмастъра представят вашите статии за Messaggiamo.Com директория [0.01]
Hosting by webhosting24.com
Dedicated servers sponsored by server24.eu