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 :

balise select et recuperation de variable en cas d'erreur [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut balise select et recuperation de variable en cas d'erreur
    Salam ;
    j'ai un formulaire de saisie de données , une fois que l'utilisateur valide le formulaire avec des champs manquants un message d'erreur s'affiche sur la même page en lui indiquant le champs manquant.
    j'ai utilisé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form id="monform" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
    est ce que le contenu de action est le bon?
    mon deuxième problème , je n'arrive pas a récupéré la valeur de la variable $_POST['com'] dans la balise select.
    code utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value="<?php if (isset($_POST['com']))echo stripslashes(htmlentities(trim($_POST['com']))); ?>"
    code de la balise select :
    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
     
    <p>
    <label>Commune :<select name="com">
    	<option >Choisissez...</option>
    	<?php
    		foreach ($datacom as $com) 
    			{
    			// on affiche les informations de l'enregistrement en cours
    			echo '<option value="'.$com['cdc'].'">'.$com['com'].'</option>';
     
    			}
     
    	?>
    		</select>
     
      </p>

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    action="<?php echo $_SERVER['PHP_SELF']; ?>" va faire pointer la formulaire vers le fichier PHP qui le contient à l'origine.

    Pour ce code : stripslashes(htmlentities(trim($_POST['com']))) , je ne vois pas trop ce que tu es en train de faire en fait... Du coup, j'ai du mal à déterminer où se trouve le problème.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Celra :
    stripslashes : pour supprimé les antislashs d'une chaîne.
    htmlentities : Convertit tous les caractères éligibles en entités HTML.
    stripslashes(htmlentities(trim($_POST['com']))) , pour renforcer la sécurité en plus de l'utilisation des requêtes préparées ! je crois que se n'est pas la bonne formule
    mon problème est là:
    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
     
    ....
    <label>Commune :<select name="com">
    			<option value="<?php if (isset($_POST['com']))echo stripslashes(htmlentities(trim($_POST['com']))); ?>">Choisissez...</option>
    		<?php
    		foreach ($datacom as $com) 
    		{
    		// on affiche les informations de l'enregistrement en cours
    		echo '<option value="'.$com['cdc'].'">'.$com['com'].'</option>';
     
    		}
     
    		?>
    		</select>
     
      </p>
    .........
    j'ai un formulaire de saisie de données , une fois que l'utilisateur valide le formulaire avec des champs manquants un message d'erreur s'affiche sur la même page en lui indiquant le champs manquant.
    a cet etape je dois avoir dans les inputs renseignés les valeurs saisies auparavant , et les champs manquants reste vide, pourcela j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="<?php if (isset($_POST['com']))echo stripslashes(htmlentities(trim($_POST['com']))); ?>">Choisissez...</option>
    résultat : j'arrive pas a récupéré la valeur saisie auparavant dans le select.
    la solution javascript marche , mais pour l'instant j'essaye en php.

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 13
    Par défaut
    Bonjour à tous

    Redoran, peut être cela t'aidera-t-il :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $datacom = array(
    	array('cdc'=>'0', 'com'=>'---'),
    	array('cdc'=>'75001', 'com'=>'Paris'),
    	array('cdc'=>'13001', 'com'=>'Marseille'),
    );
    ?>

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <form method="POST">
    	<select name="com">
    		<?php
    			foreach ($datacom as $com)  {
    				// on affiche les informations de l'enregistrement en cours
    				$att = '';
    				if ( !empty($_POST['com']) && $_POST['com']==$com['cdc']) {
    					$att = ' selected="selected"';
    				}
    				echo '<option value="'.$com['cdc'].'" '.$att.'>'.$com['com'].'</option>';
    			}
    		?>
    	</select>
    	<input type="submit" name="" value="Envoyer" />
    </form>

    Bonne journée,

  5. #5
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Re , ca n'a pas marché chez moi :
    je crois qu'il faut ajouter le selected combiné a un if !!!!!

  6. #6
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Re ; après plusieurs tentative je suis arrivé a ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ......
    <label>essai:<select name="Menu">
    	<option >Sélectionnez un item </option>
    	<?php
    	foreach ($datacom as $com) 
    	{
    	// on affiche les informations de l'enregistrement en cours
    	echo '<option selected="selected" value="'.$com['cdc'].'">'.$com['com'].'</option>';
     
    	}
    	?>
    	</select>
    le select m'affiche la dernière valeurs du résultat de la requête qui alimente le select et non la valeur choisie par l'utilisateur !!!!

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

Discussions similaires

  1. Recuperer dans variable selection de champs
    Par battit64 dans le forum QlikView
    Réponses: 2
    Dernier message: 11/02/2013, 11h20
  2. [PHP 5.0] Recuperer de l'info d'une balise Select à choix unique
    Par SGoldstein dans le forum Langage
    Réponses: 4
    Dernier message: 26/01/2012, 20h02
  3. Réponses: 2
    Dernier message: 17/10/2010, 11h10
  4. [MySQL] recuperation de donnée d'une balise select
    Par saritta27 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/01/2010, 20h36
  5. recupere valeur d'une balise select
    Par naourass dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 03/11/2005, 10h18

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