Comment valider les champs requis dans une page sous forme-processus

Vous construisez la page forme de processus PHP Web par étapes, en commençant par le cadre de base, puis en ajoutant plus de validation et de fonctionnalités complexes que vous allez.

  1. Ouvrez votre éditeur de texte et de créer un nouveau fichier.

  2. Dans ce fichier, placez le code suivant:

    ? lt; php // empêcher l'accès si elles ne sont pas soumis le form.if (! isset ($ _ POST ['submit'])) {die (header ("Location: form.php")) -} session_start () - $ _ SESSION ['formAttempt'] = true-if (isset ($ _ SESSION ['error'])) {unset ($ _ SESSION ['error']) -} $ requis = array ("nom", "email", "password1", "password2") - $ _ SESSION ['error'] = array () - // Vérifiez fieldsforeach requise ($ requis que $ requiredField) {if (isset ($ _ POST [$ requiredField]) || $ _POST [$ requiredField] == "") {$ _SESSION ['error'] [] = $ requiredField. "Est nécessaire." -}} // Dispositionif final (isset ($ _ SESSION ['error']) count ($ _ SESSION ['error'])> 0) {die (header ("Location: form.php")) -} else {unset ($ _ SESSION ['formAttempt']) - die (header ("Location: succès .php ")) -}>?
  3. Enregistrez le fichier sous forme process.php dans votre document root.

  4. Chargez le principal form.php déposer à l'adresse http: //localhost/form.php dans votre navigateur Web.

  5. Cliquez sur Soumettre la requête sans remplir quoi que ce soit sous la forme.

    image0.jpg



Si vous recevez une page avec les champs de texte de couleur rouge, puis la validation javascript est toujours tir. Assurez-vous que vous avez commenté le javascript partir form.php, et assurez-vous que la page a été rechargée récemment dans votre navigateur.

Avant de continuer, regardez ce code, car il sert de base à la validation de votre PHP.

La première chose que fait dans le fichier est de vous assurer qu'il est étant frappé par le bouton Envoyer le formulaire:

// empêcher l'accès si elles ne sont pas soumis le form.if (isset ($ _ POST ['submit'])!) {de la filière (en-tête ("Location: form.php")) -}

Si tel est pas le cas, alors le navigateur est redirigé vers form.php.

Ensuite, la session est démarré et le formAttempt variable est définie sur true. Rappelons que cette variable est utilisée dans le form.php page pour indiquer que l'utilisateur est venu de cette page de processus par rapport rechargement ou en utilisant son bouton Retour.

Ensuite, toutes les erreurs existantes sont désarmés. Il n'y a aucune nécessité pour eux dans la page de processus, et vous avez besoin de revérifier tout nouveau. Le tableau d'erreur est initialisé à nouveau.

if (isset ($ _ SESSION ['error'])) {unset ($ _ SESSION ['error']) -} $ _ SESSION ['error'] = array () -

Ensuite, un tableau est mis en place avec les champs obligatoires. Cela rend l'ajout de champs nécessaires plus tard une tâche facile. Simplement les ajouter à ce tableau:

$ requis = array ("nom", "email", "password1", "password2") -

Le cœur de la validation de base requises sur le terrain est à côté, à l'intérieur d'un pour chaque boucle:

// Vérifiez fieldsforeach requise ($ requis que $ requiredField) {if (! Isset ($ _ POST [$ requiredField]) || $ _POST [$ requiredField] == "") {$ _SESSION ['error'] [] = $ champ requis . " est requis."-}}

Si le champ est pas défini ou est vide, alors un élément d'erreur est ajouté à la $ _SESSION ['Error'] tableau.

Enfin, si le $ _SESSION ['Error'] tableau a des éléments, vous avez besoin de rediriger retour à la forme page- contraire, de les envoyer à la page de succès.

// dispositionif final (count ($ _ SESSION ['error'])> 0) {die (header ("Location: form.php")) -} else {unset ($ _ SESSION ['formAttempt']) - Die (tête ("Location: success.php")) -}

» » » » Comment valider les champs requis dans une page sous forme-processus