IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Faire une redirection conditionnelle


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut Faire une redirection conditionnelle
    Bonjour,

    Comme je n'ai rien trouvé concernant les redirections conditionnelles je viens poster.
    Sur ma page reservation.php j'ai un formulaire. Quand je clique sur le bouton submit je veux ouvrir la page recap.php si le formulaire est correctement rempli, sinon je reste sur la page reservation.php
    Je pense utiliser header('Location: index.php?page=recap'); mais je ne vois pas comment faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <form name="inscription" method="POST">
    <table border="0" align="center" style="font-size:11px">
    	<tr>
    		<td align="right">Civilité&nbsp;&nbsp;</td><td width="400px">
    			<input type="radio" name="civilite[]" value="mme" <?php if(est_selectionne_civilite("mme")) { echo 'checked'; } else if ($civilite == "mme"){ echo 'checked';} ?> />Mme&nbsp;&nbsp;&nbsp;
    			<input type="radio" name="civilite[]" value="mle" <?php if(est_selectionne_civilite("mle")) { echo 'checked'; } else if ($civilite == "mle"){ echo 'checked';} ?> />Mle&nbsp;&nbsp;&nbsp;
    			<input type="radio" name="civilite[]" value="m" <?php if(est_selectionne_civilite("m")) { echo 'checked'; } else if ($civilite == "m"){ echo 'checked';} ?> />M&nbsp;&nbsp;&nbsp;
     		</td>
    	</tr>
    etc...
    		<td align="right">Mot de passe *&nbsp;&nbsp;</td><td><input type="password" name="pass" value="<?php echo $pass;?>" style="width:100px; border: solid 1px">&nbsp;&nbsp;Pour voir et/ou modifier votre réservation</td>
    	</tr>
    </table>
     
     
    <?php
    if(isset($_POST['valider'])){
    	if ((empty($nom)) or (empty($prenom)) or (empty($adresse)) or (empty($codep)) or (empty($ville)) or (empty($mail)) or (empty($confmail)) or (empty($pass)) or (empty($DateDebut)) or (empty($DateFin))){
    		echo "<span style='color:red'><strong>Toutes les zones obligatoires ne sont pas renseignées !!</strong></span>";
                             //on reste sur la page reservation.php
    	}
    	else {
                 //ici enregistrement de la réservation
    		//ouverture de la page recap.php
    	}
    }
    Merci pour l'aide

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    réponse: tu peux pas. Enfin pas comme ça.

    Ton formulaire ( sans AJAX ni rien ) il pointeras toujours vers la meme page.

    tu as plusieurs solution.


    soit ton formulaire pointe sur recevoir_formulaire.php et ce script valide les données reçues du formulaire, et s'il est valide tu inclues la page de traitement ou sinon tu inclues la page qui réaffiche le formulaire. Bon ça c'est une façon de programmer que je déteste parce qu'on fini par se perdre dans le code... si tu veux t'en convaincre regarde comment est codé phpmyadmin, c'est impossible à lire pour quelqu'un non initié comme moi.

    personnellement j'utilise des objets maison pour representer mes formulaires, il possède une méthode qui me dit si le formulaire reçu est correctement rempli ou pas. ensuite j'aiguille vers le traitement du formulaire ou un réaffichage de celui-ci avec les valeurs valides pré-remplies...

    Quelqu'un d'autre te donnera un autre conseil. Je crois que chacun à sa façon de faire.

    Par exemple tu pourrais commencer ton traitement du formulaire avec gestion du rollback au niveau de la base de donnée, lancer une erreur si tu tombes sur un champs mal rempli, avec validation (COMMIT) en cas de "pas d'exception" et l'affichage du formulaire dans un bloc catch en cas d'exception,

  3. #3
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    excuse moi d'avoir mal lu mais c'est normal qu'il n'y ait pas d'attribut action dans form? je sais que la plus part des navigateur sont capable de deviner mais je crois que c'est plus simple de le mettre (même avec valeur vide...) ça permet de montrer qu'on maitrise ou va le formulaire.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Pour "action" dans le formulaire c'est prévu bien que la page réaffiche à la validation.

    Des petits bouts de code auraient été les bienvenues pour illustrer les exemples.

    merci

Discussions similaires

  1. [AJAX] listes liées : faire une redirection
    Par _nico42_ dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/10/2006, 13h28
  2. Faire une redirection
    Par kevinf dans le forum Langage
    Réponses: 4
    Dernier message: 16/10/2006, 16h41
  3. Comment faire une redirection WEB ?
    Par fredhali2000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/10/2006, 03h03
  4. comment faire une redirection vers une page qui contient des framsets
    Par zana74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/08/2006, 13h03
  5. Réponses: 5
    Dernier message: 28/05/2006, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo