Daug kartų svetainių kūrėjams tenka surinkti daug duomenų, kuriuos vartotojas turi įvesti, todėl labai naudinga atskirti duomenis pagal skyrius ar kategorijas skirtinguose ekranuose ar veiksmuose. Būdas, kaip etapais kurti seansus ar ekranus, kiekviena kiekvienos skilties forma siunčia įvestus duomenis į kitą formą, o tai turi išlaikyti vertes vienaip ir perkelti jas iš vieno puslapio į kitą.
Norėdami išlaikyti duomenų patvarumą tarp puslapių, galime naudoti PHP seansus arba laikiną duomenų bazės lentelę, kurioje galime išsaugoti duomenis, kuriuos perduodame iš vieno puslapio į kitą. Ir pabaigoje išsaugome surinktus duomenis ir ištriname laikinus.
Šioje pamokoje mes parodysime kaip sukurti kelių puslapių formą naudojant PHP scenarijų. Taip pat pamatysime, kaip išvengti klaidų tarp formų.
Kiekvienos formos laukų reikšmėms išsaugoti naudosime PHP seansus.
Tada mes sukursime duomenų bazę, pavadintą bendrovė, ir tada pareiškėjų lentelę.
CREATE DATABASE "company" CREATE TABLE IF IF NOT EXISTS "pareiškėjai" ("id" int (10) NOT NULL, "name" varchar (255) NOT NULL, "email" varchar (255) NOT NULL, "address" varchar (50) ) DEFAULT NULL, `phone` varchar (50) DEFAULT NULL,` mobile` varchar (50) DEFAULT NULL, `education` int (11) DEFAULT NULL,` post` int (11) DEFAULT NULL, `experience` int (11) ) Numatytasis NULL, "aprašymo" tekstas) VARIKLIS = InnoDB AUTO_INCREMENT = 1 Numatytasis CHARSET = latin1;Kai turime daug duomenų turinčias formas, vartotojas nenorės užpildyti formos, kurioje yra daugiau nei 10 laukų, todėl gera idėja yra uždengti formą keliuose puslapiuose.
Taip vartotojui gali būti lengviau sekti, pavyzdžiui, mes galime suskirstyti duomenis į atskirus skyrius, atsižvelgdami į informacijos apimtį ar kategorijas, atskirai asmeninę informaciją, informaciją apie klientus, jūsų akademinius ar darbo duomenis, taip pat pagal jūsų skonį ar pageidavimus, tai taip pat daug matome užbaigiant pirkimus prieš mokėjimo duomenis pirkinių krepšelyje, kur atskirti atsiskaitymo, pristatymo ir produkto duomenys.
Vienas iš iššūkių, kylančių dalijant formą keliems puslapiams, yra duomenų perdavimas iš vieno puslapio į kitą, nes galutiniame formos taške mes turime paruošti visus reikiamus duomenis. Mes apsvarstysime du metodus, kaip tai padaryti: sesijos kintamuosius ir paslėptus įvesties laukus.
Todėl seansas yra pusiau nuolatinis, leidžia mums sukurti tam tikrą atkaklumą ir gali būti naudojamas perduoti kintamuosius įvairiuose puslapiuose, į kuriuos lankytojai patenka apsilankę svetainėje.
Tada sukursime pirmąją formą, kurioje bus keli laukai:
Daugialypė PHP formaTaip pat pridėsime stiliaus lapų, kad mūsų forma būtų elegantiškesnė, todėl sukuriame failą stilius.css, pritaikius jis bus toks.1 forma
Vardas: El. Paštas: Adresas: Telefonas: Mobilusis telefonas:
div.container {plotis: 960 taškų; aukštis: 550 pikselių; paraštė: 50 pikselių automatinis; } div.main {plotis: 100%; viršutinė paraštė: 35 taškų; plūdė: kairė; kraštas: 2 pikselių vientisas # 8fc400; paminkštinimas: 0px 50px 20px; šriftų šeima: Arial, Helvetica Neue, Helvetica, sans-serif; } forma {paraštė-viršuje: 20 taškų} .estilotextarea {plotis: 100%; aukštis: 100 taškų; kraštinė: 1 taškas kietas # 999; } h2 {background-color: background: # 8fc400; fonas: -moz-linear-gradient (viršuje, # 8fc400 0%, # 8fc400 100%); fonas: -webkit-linear-gradient (viršuje, # 8fc400 0%, # 8fc400 100%); fonas: linijinis gradientas (iki apačios, # 8fc400 0%, # 8fc400 100%); filtras: progid: DXImageTransform.Microsoft.gradient (startColorstr = '# 8fc400', endColorstr = '# 8fc400', GradientType = 0); paminkštinimas: 32 pikselių; paraštė: 0–50 taškų; text-align: centre;} b {šrifto dydis: 18 taškų; ekranas: blokas; spalva: # 555;} etiketė {spalva: # 464646; šrifto dydis: 14 pikselių; font-weight: bold;} input [type = text], input [type = email] {width: 96%; aukštis: 25 pikselių; paminkštinimas: 5px; viršutinė paraštė: 5 taškų; paraštė-apačia: 15 taškų; } pasirinkite {margin-bottom: 15px; viršutinė paraštė: 5 taškų; plotis: 100%; aukštis: 35 pikselių; šrifto dydis: 12 taškų;} įvestis [tipas = pateikti], įvestis [tipas = atstatymas] {padding: 10 taškų; fonas: linijinis gradientas ( # 058eb5 5%, # 045066 100%); kraštas: 1px solid # 058eb5; spalva: # f7f7f7; žymeklis: rodyklė; plotis: 20%; ribos spindulys: 2 taškų; paraštė-apačia: 15 taškų; šrifto svoris: paryškintas; šrifto dydis: 16 taškų;} įvestis [tipas = pateikti]: užveskite žymeklį, įveskite [tipas = iš naujo]: užveskite pelės žymeklį {fonas: linear-gradient ( # 045066 5%, # 058eb5 100%); } .žinutė {kraštas: 1 taškas vientisas; paraštė: 10px 0px; paminkštinimas: 15px 10px 15px 10px; fono kartojimas: nekartoti; fono padėtis: 10 taškų centre; text-align: centre; spalva: # 4F8A10; plotis: 100%; fono spalva: # DFF2BF; }Pridėjau reikiamą ypatybę prie kiekvieno lauko, šis būtinas atributas yra loginis atributas, nurodantis, ar laukas yra privalomas, ar ne, teisingas ar klaidingas.
Jame nurodoma, kad įvesties laukas negali būti tuščias ir turi būti užpildytas prieš pateikiant formą. Reikalingas atributas veikia su šiais html5 įvesties tipais: tekstu, el. Paštu, slaptažodžiu, žymės langeliais, radiju ir failu.
Užpildydami pirmosios formos duomenis, siunčiame paštu į antrąją formą, vadinamą forma2.php kurio kodas yra toks.
$ vertė) {$ _SESSION ['sesionform1'] [$ key] = $ value; }?> var13 -> PHP Multiple forma2 forma
Išsilavinimo lygis: ---- Pasirinkite ---- Technikos universitetas Kita tinkama pareigybė: * ---- Pasirinkite ---- Serverio administratoriaus programuotojo dizainerio darbo patirtis: * ---- Pasirinkite ---- Nėra
Toliau išsiųsime į formą, kurioje išsaugosime duomenis, šioje pamokoje parodysime anksčiau atliktų seansų duomenis, kad pamatytume, kokius duomenis siunčia kiekviena forma.
$ vertė) {$ _SESSION ['sesionform2'] [$ key] = $ value; } išmetė '1 formos duomenys“; $ sesionform1 = $ _ SESSION ['sesionform1']; išmetė '“; print_r ($ sesionform1); išmetė '“; išmetė '2 formos duomenys“; $ sesionform2 = $ _ SESSION ['sesionform2']; išmetė '“; print_r ($ sesionform2); išmetė '“; ištrauka ($ _ SESSION ['sesionform1']); $ connection = mysql_connect ("localhost", "root", ""); $ db = mysql_select_db ("įmonė", $ ryšys); $ sql = "įterpti į klientus (vardas, el. paštas, adresas, telefonas, mobilusis, išsilavinimas, pareigos, patirtis, aprašymas)"; $ sql. = "vertės ('$ name', '$ email', '$ address', '$ phone', '$ mobile', '$ education', '$ position', '$ experience', ' $ description ') "; $ query = mysql_query ($ sql, $ connection); ?> var13 -> PHP Multiple forma<? if ($ query) {echo 'Baigėte procesą ir išsaugojote duomenis
“; } dar {aidas 'Duomenys nebuvo išsaugoti
“; } unset ($ _ SESSION ['sesionform1']); unset ($ _ SESSION ['sesionform2']); ?> var13 ->
Taigi mes galime pridėti reikiamą formų kiekį ir kiekvienoje formoje išsaugosime seanso duomenis, o tada visus seansus išsaugosime duomenų bazėje, tačiau tai taip pat neleidžia grįžti prie ankstesnės formos, nes žinome žingsnio numerį arba forma Galėsime žinoti, kurioje sesijoje yra tos formos duomenys, ir atkurti duomenis.
Šis būdas sukurti a Kelių puslapių forma leidžia mums geriau organizuoti informaciją, kai reikia surinkti daug duomenų
Kelios formos šiandien yra beveik bet kurios žiniatinklio programos dalis. Didelėse svetainėse, kuriose yra daug duomenų, jos yra pagrindinis būdas gauti informaciją iš programą naudojančių vartotojų. Priklausomai nuo sekos, kurią turime įdiegti kliento pusėje dėl taikomosios logikos, neturėtume viršyti mūsų ne daugiau kaip 10 laukų, bet vartotojas pavargsta ir jo atsisako, scenarijus taip pat turi turėti visą būtiną apsaugą, nes mes naudojant sesijas ir duomenys gali būti perimti.
Teisingas būdas naudoti išvengiant saugumo problemų, duomenų apdorojimas serverio pusėje yra įtrauktas naudojant pHp.
Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką