Video: Statistical Programming with R by Connor Harris 2024
U bouwt de PHP-webformulierprocespagina in fasen, beginnend met het basisraamwerk en vervolgens het toevoegen van complexere validatie en functies terwijl u werkt.
-
Open uw teksteditor en maak een nieuw bestand.
-
Plaats in dat bestand de volgende code:
0) {die (header ("Location: form. Php"));} else {unset ($ _ SESSION ['formAttempt']); die (header ("Locatie: succes. php"));}? >
-
Sla het bestand op als form-proces. php in de hoofdmap van uw document.
-
Laad het hoofdformulier. php-bestand op // localhost / formulier. php in uw webbrowser.
-
Klik op Query verzenden zonder iets in het formulier in te vullen.
Als u een pagina ontvangt waarvan de tekstvelden rood gekleurd zijn, wordt de JavaScript-validatie nog steeds geactiveerd. Zorg ervoor dat u de JavaScript-opmerkingen hebt opgemerkt via het formulier. php, en zorg ervoor dat de pagina recent is herladen in uw browser.
Kijk voordat je verder gaat naar deze code, want deze dient als basis voor je PHP-validatie.
Het eerste dat in het bestand wordt gedaan, is ervoor zorgen dat het wordt aangeroepen via de knop Verzenden:
// toegang voorkomen als ze het formulier niet hebben verzonden. if (! isset ($ _ POST ['submit'])) {die (header ("Location: form. php"));}
Als dat niet het geval is, wordt de browser teruggeleid naar het formulier. php.
Vervolgens wordt de sessie gestart en wordt de variabele formAttempt ingesteld op true. Bedenk dat deze variabele binnen het formulier wordt gebruikt. php-pagina om aan te geven dat de gebruiker afkomstig is van deze procespagina versus opnieuw te laden of zijn of haar knop Terug te gebruiken.
Vervolgens worden alle bestaande fouten uitgeschakeld. U hoeft ze niet op de procespagina te vinden en u moet alles opnieuw controleren. De foutarray wordt opnieuw geïnitialiseerd.
if (isset ($ _ SESSION ['error'])) {unset ($ _ SESSION ['error']);} $ _SESSION ['error'] = array ();
Vervolgens wordt een array ingesteld met de vereiste velden. Dit maakt het toevoegen van vereiste velden later een gemakkelijke taak. Voeg ze gewoon toe aan deze array:
$ required = array ("name", "email", "password1", "password2");
Het hart van de standaard vereiste veldvalidatie is de volgende, binnen een foreach-lus:
// Vink de vereiste velden aan voor elke ($ vereist als $ requiredField) {if (! Isset ($ _ POST [$ requiredField]) || $ _POST [$ requiredField] == ") {$ _SESSION ['error'] [] = $ requiredField." is vereist. ";}}
Als het veld niet is ingesteld of leeg is, wordt een foutelement toegevoegd aan de array $ _SESSION ['error'].
Ten slotte, als de fout $ _SESSION [' '] array heeft elementen, je moet terug doorverwijzen naar de formulierpagina, anders stuur je ze naar de succespagina.
// laatste dispositie if (count ($ _ SESSION ['error'])> 0) {die (header ("Location: form. Php"));} else {unset ($ _ SESSION ['formAttempt']); die (header ("Locatie: succes. php"));}