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 :

Structure d'une page et valider un formulaire


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 : 77
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut Structure d'une page et valider un formulaire
    Bonjour.

    J'ai 3 questions :
    1- Est ce que la structure de ma page "dossier_candidature.php" est correcte.
    Si un candidat a rempli un dossier, lorsqu'il s'identifie j'affiche un formulaire qui contient les données qu'il a saisies pour qu'il puisse les modifier. (pour accéder à cette page il doit donner le nom de la société, son nom et son prénom qui sont controlés dans une table).
    Si le candidat n'a pas rempli de dossier j'affiche le même formulaire mais là il est vide.

    structure de la page "dossier_candidature.php"
    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
    27
    28
    <?php
    require ('connect.php');
    require('fonctionsphp.php');
     
    //ici je fais tous les tests if (isset($POST('xxxxxx')) du formulaire
    $etablist = "";
    if (isset($_POST['etablist'])){
        for ($i = 0, $c = count($_POST['etablist']); $i < $c; $i++) {
            $etablist = "" . $_POST['etablist'][$i] . "";
        }
    }
    ect...
     
    //ici je teste si l'établissement a été renseigné sur une page logging
    if (isset($_REQUEST['id_etablist'])){
    	$id_etablist = $_REQUEST['id_etablist'];
    	$sql = mysql_query("SELECT * FROM etablissement WHERE id_etablist = $id_etablist");
    	if (mysql_num_rows($sql) > 0){
    		$res = mysql_fetch_array($sql);
    		$id_etablist_table = $res['id_etablist'];
    		$etablist = stripslashes(htmlentities(trim($res['type_etablist'])));
                            etc...
             }
    	include 'formulaire_candidature.php';
    }
    else { 
    	include 'formulaire_candidature.php';
    }
    2- Je ne sais pas où placer l'appel des fonctions Modifier_donnes et Enregistrer_donnees.

    3- Comment et où afficher un message informant qu'il y a une erreur de saisie

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 499
    Par défaut
    Pour ma part, je fais toujours deux pages bien distinctes
    1. La page contenant le formulaire
    2. La page verif_formulaire
    Dans la page verif formulaire, lorsqu'il y a une erreur, je redirige vers le formulaire avec ?error=1 par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if ($_POST['nom'] == '' ) {
        header("Location: formulaire.php?error=1");
        exit();
    }
    et dans ton formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    if ( $_GET['error'] == 1 ) {
    ?>
                <div class="erreur">Attention, le champ nom est obligatoire. Veuillez recommencer SVP.</div>
    <?
    }
    ?>

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

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Donc je viens de tester le code et j'ai l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Cannot modify header information - headers already sent by (output started at c:\weblocal\sites\clubeuropeendelasante\index.php:6) in c:\weblocal\sites\clubeuropeendelasante\prix_sante\appels\dossier_candidature.php on line 365
    J'ai bien une page pour le formulaire (formulaire_candidat.php) et une page de controle (dossier_candidat.php).
    Lorsqu'on valide le formulaire, je veux afficher un message d'erreur si un input n'est pas renseigné.

    Merci d'avance.

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Si tu as cette erreur, c'est que des caractères ont déjà été envoyés au client.

    Vérifies bien qu'il n'y a rien d'envoyé avant 'header()' (pas de echo, pas de retour à la ligne avant le premier '<?php', pas de fermeture de balise php, ...)

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

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Avant d'aller plus loin j'aimerai un avis.
    Mes 2 pages (formulaire_candidat.php) et (dossier_candidat.php) doivent servir à la fois à enregistrer un dossier et à pourvoir le modifier.
    Je me demande si je dois faire un fichier pour la saisie et un autre pour les modifications.

    Est ce que ce ne serait pas plus simple pour les traitements?

  6. #6
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par philippef Voir le message
    Avant d'aller plus loin j'aimerai un avis.
    Mes 2 pages (formulaire_candidat.php) et (dossier_candidat.php) doivent servir à la fois à enregistrer un dossier et à pourvoir le modifier.
    Je me demande si je dois faire un fichier pour la saisie et un autre pour les modifications.

    Est ce que ce ne serait pas plus simple pour les traitements?
    Non, je ne pense pas que ce serait beaucoup plus simple pour les traitements. Par contre, ça rendrait la maintenance nettement plus complexe...

    Mais je n'ai pas bien compris la différence entre le formulaire et le dossier. A quoi servent ces deux pages ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/07/2011, 17h09
  2. Ouverture d'une page aprés validation d'un formulaire
    Par civodultrebor37 dans le forum Langage
    Réponses: 11
    Dernier message: 14/12/2006, 13h19
  3. [PEAR][HTML_QuickForm] Comment afficher une page après validation du formulaire ?
    Par jpinfotech dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 27/11/2006, 15h58
  4. Réponses: 18
    Dernier message: 03/03/2006, 18h19

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