Daudzas reizes vietņu izstrādātājiem ir jāapkopo liels datu apjoms, kas lietotājam jāievada, tāpēc ir ļoti noderīgi datus atdalīt pa sadaļām vai kategorijām dažādos ekrānos vai darbībās. Veids, kā pakāpeniski izveidot sesijas vai ekrānus, katra veidlapa katrā sadaļā nosūtīs ievadītos datus uz nākamo veidlapu, un vērtības vienā veidā jāsaglabā un var tikt pārsūtītas no vienas lapas uz citu.
Lai saglabātu datu noturību starp lapām, mēs varam izmantot PHP sesijas vai pagaidu datu bāzes tabulu, kurā mēs varam saglabāt datus, ko mēs nododam no vienas lapas uz otru. Un beigās mēs saglabājam savāktos datus un izdzēšam pagaidu datus.
Šajā apmācībā mēs parādīsim kā izveidot vairāku lapu veidlapu, izmantojot PHP skriptu. Mēs arī redzēsim, kā izvairīties no kļūdām starp veidlapām.
Mēs izmantosim PHP sesijas, lai saglabātu katras veidlapas lauku vērtības.
Tālāk mēs izveidosim datubāzi, ko sauc par uzņēmumu, un pēc tam iesniedzēju tabulu.
IZVEIDOT DATU BĀZI "uzņēmums" IZVEIDOT TABULU, JA NEPASTĀV "pretendenti" ("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) ) DEFAULT NULL, `description` text) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = latin1;Ja mums ir veidlapas, kurās ir daudz datu, lietotājs nevēlas aizpildīt veidlapu, kurā ir vairāk nekā 10 lauki, tāpēc ieteicams to aizpildīt vairākās lapās.
Tādējādi lietotājam var būt vieglāk sekot, piemēram, mēs varam sadalīt datus atsevišķās sadaļās, pamatojoties uz informācijas apjomu vai kategorijām, atsevišķi personisko informāciju, klientu informāciju, jūsu akadēmiskos vai darba datus, kā arī jūsu gaumi vai preferences, mēs to daudz redzam arī pirkumu pabeigšanā pirms maksājumu datiem iepirkumu grozā, kur norēķinu dati, piegādes dati un produktu dati ir atdalīti.
Viens no izaicinājumiem, kas rodas, sadalot veidlapu vairākās lapās, ir datu pārsūtīšana no vienas lapas uz otru, jo veidlapas beigu punktā mums ir gatavi apstrādei visi nepieciešamie dati. Mēs apsvērsim divas metodes, kā to izdarīt: sesijas mainīgos un slēptos ievades laukus.
Tāpēc sesijai ir daļēji pastāvīgs raksturs, tā ļauj mums radīt zināmu neatlaidību, un to var izmantot, lai mainīgos mainītu dažādās lapās, kurās apmeklētāji nokļūst vietnes apmeklējuma laikā.
Pēc tam mēs izveidosim pirmo veidlapu, kurā būs daži lauki:
Vairāku formu PHPMēs pievienosim arī stila lapas, lai mūsu veidlapai piešķirtu elegantāku dizainu, tāpēc mēs izveidojam failu stili.css, pēc piemērošanas tas būs šāds.1. veidlapa
Vārds: E -pasts: Adrese: Tālrunis: Mobilais tālrunis:
div.container {platums: 960px; augstums: 550 pikseļi; mala: 50 pikseļi automātiski; } div.main {platums: 100%; augšējā mala: 35 pikseļi; pludiņš: pa kreisi; robeža: 2 pikseļi cieta # 8fc400; polsterējums: 0px 50px 20px; fontu saime: Arial, Helvetica Neue, Helvetica, sans-serif; } veidlapa {margin-top: 20px} .estilotextarea {platums: 100%; augstums: 100px; robeža: 1px cieta # 999; } h2 {background-color: background: # 8fc400; fons: -moz-linear-gradient (top, # 8fc400 0%, # 8fc400 100%); fons: -webkit-linear-gradient (top, # 8fc400 0%, # 8fc400 100%); fons: lineārs gradients (uz leju, # 8fc400 0%, # 8fc400 100%); filtrs: progid: DXImageTransform.Microsoft.gradient (startColorstr = '# 8fc400', endColorstr = '# 8fc400', GradientType = 0); polsterējums: 32 pikseļi; mala: 0-50 pikseļi; text-align: center;} b {font-size: 18px; displejs: bloks; krāsa: # 555;} etiķete {krāsa: # 464646; fonta lielums: 14 pikseļi; font-weight: bold;} ievade [type = text], input [type = email] {width: 96%; augstums: 25 pikseļi; polsterējums: 5 pikseļi; augšējā mala: 5 pikseļi; apakšējā mala: 15 pikseļi; } izvēlieties {margin-bottom: 15px; augšējā mala: 5 pikseļi; platums: 100%; augstums: 35 pikseļi; font-size: 12px;} ievade [tips = iesniegt], ievade [tips = atiestatīt] {polsterējums: 10 pikseļi; fons: lineārs gradients ( # 058eb5 5%, # 045066 100%); apmale: 1px cieta # 058eb5; krāsa: # f7f7f7; kursors: rādītājs; platums: 20%; robežas rādiuss: 2 pikseļi; apakšējā mala: 15 pikseļi; fonta svars: treknraksts; font-size: 16px;} input [type = iesniegt]: virzīt kursoru, ievadīt [type = reset]: novietot kursoru {background: linear-gradient ( # 045066 5%, # 058eb5 100%); } .ziņojums {robeža: 1px cieta; mala: 10 pikseļi 0 pikseļi; polsterējums: 15px 10px 15px 10px; fona atkārtošana: neatkārtot; fona pozīcija: 10 pikseļi centrā; text-align: center; krāsa: # 4F8A10; platums: 100%; fona krāsa: # DFF2BF; }Katram laukam esmu pievienojis nepieciešamo rekvizītu, šis obligātais atribūts ir Būla atribūts, kas norāda, vai lauks ir obligāts vai nē, patiess vai nepatiess.
Ja tas ir norādīts, tas norāda, ka ievades lauks nedrīkst būt tukšs un tas ir jāaizpilda pirms veidlapas iesniegšanas. Nepieciešamais atribūts darbojas ar šādiem html5 ievades veidiem: teksts, e -pasts, parole, izvēles rūtiņas, radio un fails.
Aizpildot pirmās veidlapas datus, mēs nosūtām pa pastu uz otro veidlapu, ko sauc veidlapa2.php kura kods ir šāds.
$ vērtība) {$ _SESSION ['sesionform1'] [$ key] = $ vērtība; }?> var13 -> PHP Vairākas formas2. veidlapa
Izglītības līmenis: ---- Izvēlieties ---- Tehniskā universitāte Cits piemērojamais amats: * ---- Atlasiet ---- Servera administrators Programmētāja dizainera darba pieredze: * ---- Atlasiet ---- Nav
Tālāk mēs nosūtīsim uz veidlapu, kurā mēs saglabāsim datus; šajā apmācībā mēs parādīsim iepriekšējo sesiju datus, lai redzētu, kādus datus katra veidlapa nosūtīja.
$ vērtība) {$ _SESSION ['sesionform2'] [$ key] = $ vērtība; } izmest ārā 'Form1 dati'; $ sesionform1 = $ _ SESSION ['sesionform1']; izmest ārā ''; print_r ($ sesionform1); izmest ārā ''; izmest ārā 'Form2 dati'; $ sesionform2 = $ _ SESSION ['sesionform2']; izmest ārā ''; print_r ($ sesionform2); izmest ārā ''; izraksts ($ _ SESSION ['sesionform1']); $ savienojums = mysql_connect ("localhost", "root", ""); $ db = mysql_select_db ("uzņēmums", $ savienojums); $ sql = "ievietojiet klientos (vārds, e -pasts, adrese, tālrunis, mobilā ierīce, izglītība, amats, pieredze, apraksts)"; $ sql. = "vērtības ('$ name', '$ email', '$ address', '$ phone', '$ mobile', '$ education', '$ position', '$ experience', ' $ description ') "; $ query = mysql_query ($ sql, $ savienojums); ?> var13 -> PHP Vairākas formas<? if ($ query) {echo 'Jūs esat pabeidzis procesu un saglabājis datus
'; } cits {atbalss ”Dati nav saglabāti
'; } unset ($ _ SESSION ['sesionform1']); unset ($ _ SESSION ['sesionform2']); ?> var13 ->
Tātad mēs varam pievienot nepieciešamo veidlapu daudzumu, un katrā veidlapā mēs saglabāsim datus sesijā un pēc tam visas sesijas saglabāsim datu bāzē, taču tas arī neļauj atgriezties pie iepriekšējās veidlapas, jo ir zināms soļa numurs vai veidlapa Mēs varēsim uzzināt, kura sesija satur šīs veidlapas datus, un atjaunot datus.
Šis veids, kā izveidot a Vairāku lapu veidlapa ļauj mums labāk sakārtot informāciju, kad mums ir jāapkopo daudz datu
Vairākas veidlapas mūsdienās ir daļa no praktiski jebkuras tīmekļa lietojumprogrammas. Lielās vietnēs ar lielu datu apjomu tās ir galvenā metode informācijas saņemšanai no lietotājiem, kuri izmanto lietojumprogrammu. Atkarībā no secības, kas mums jāievieš lietojumprogrammas loģikā klienta pusē, mums nevajadzētu pārsniegt mūs ar ne vairāk kā 10 laukiem, bet lietotājs nogurst un no tā atsakās, skriptā ir jāiekļauj arī visa nepieciešamā drošība, jo mēs esam izmantojot sesijas, un datus var pārtvert.
Pareiza metode izmantošanai izvairīšanās no drošības problēmām ir datu apstrādes iekapsulēšana servera pusē, izmantojot pHp.
Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu