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

PHP & Base de données Discussion :

Récupération de variables


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Par défaut Récupération de variables
    Bonjour


    Je débute et voudrais résoudre un problème qui me prend des heures de mal de tête.

    Je récupère deux variables d'un champ select dans mon fichier traitement.php

    Un écho me retourne bien mes variables, mais la requête ne donne pas de résultat.

    Si je définis les deux variables directement dans le fichier traitement.php, la requête donne un résultat

    Le problème semble venir du fait que je récupère les variables d’une liste remplie par des données venant d’une requête dans le formulaire?.


    Pouvez-vous m'aider ?

    Déja merci


    Voici mes deux codes.

    Le formulaire

    Nom : Capture d’écran 2019-05-27 à 14.13.03.png
Affichages : 210
Taille : 99,3 Ko

    le traitement

    Nom : Capture d’écran 2019-05-27 à 14.12.31.png
Affichages : 231
Taille : 97,5 Ko

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Bonjour,
    la prochaine fois, copie-colle le code. Les captures d’écran, c’est pas pratique.

    Tu as une erreur de structure HTML ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<OPTION VALUE='.$nom2.''.$nom2.'</OPTION>';
    Examine le code généré (Ctrl+U) et tu verras quelque chose comme ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <OPTION VALUE=Dusse<br/>Dusse<br/></OPTION>

    Ctrl+U doit être ton premier réflexe quand quelque chose ne va pas. Tu peux également t’aider de l’inspecteur d’éléments DOM de la console F12, pour vérifier comment le navigateur construit l’arbre DOM d’après le code HTML qui lui est donné. En l’occurence, il construit quelque chose comme ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <option value="Dusse<br/">
      Dusse
      <br>
    </option>

    Tu peux aussi vérifier si la requête dans traitement.php renvoie des résultats en examinant la valeur de $resultat->num_rows (voir la doc : num_rows).

    Et sinon :
    • Le "utf8" de MySQL est incomplet, il faut utiliser "utf8mb4" ;
    • Ta requête dans traitement.php est vulnérable aux injections, apprends à utiliser prepare.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Par défaut
    Merci pour la réponse, mais ce que je ne comprends pas, c'est que je récupère bien la valeur avec $nomf=$_POST['nomf'] dans le fichier traitement.php

    Je joins un coller de mon code.

    ajouter2.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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <?
     
     
     
    		$mysqli = new mysqli($serveur, $user, $pass, $base);
     
    /* Vérification de la connexion */
    if (mysqli_connect_errno()) {
        printf("Échec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }
     
    ?>
     
     
    <form method="post" action="traitement.php" >
     
     
    	<select  name="nomf" >
     
     
     
    			<?	
     
    			$requete = "SELECT * FROM membre";	
     
    			$resultat = $mysqli->query($requete) or die ('Erreur '.$requete.' '.$mysqli->error);
     
    		    while($donnees = mysqli_fetch_assoc($resultat)) {
     
     
     
    			$nom2=$donnees['nom']."<br/>" ;
     
     
     
    			echo '<OPTION VALUE='.$nom2.''.$nom2.'</OPTION>';
    			}
     
    			?>
     
    	</select>
     
     
     
     
    <select  name="prenomf" >
     
     
     
    			<?	
     
    			$requete = "SELECT * FROM membre";	
     
    			$resultat = $mysqli->query($requete) or die ('Erreur '.$requete.' '.$mysqli->error);
     
    		    while($donnees = mysqli_fetch_assoc($resultat)) {
     
     
     
    			$prenom2=$donnees['prenom']."<br/>" ;
     
     
     
    			echo '<OPTION VALUE='.$prenom2.''.$prenom2.'</OPTION>';
    			}
     
    			?>
     
    	</select>
     
     
     
     
     
    <input type="submit" value="Ajouté" name="envoyer"/>
     
     
    </form>
    traitement.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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <?
     
     
    $nomf=$_POST['nomf'];
     
    $prenomf=$_POST['prenomf'];
     
     
     
    // connexion à la basse de donnée
     
     
    	$mysqli = new mysqli($serveur, $user, $pass, $base);
     
    /* Vérification de la connexion */
    if (mysqli_connect_errno()) {
        printf("Échec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }
     
    //FIN
     
     
     
    // recherche donnée membre
     
    	echo("<b>Nomf :$nomf </b>");
    echo("<b>Prénomf :$prenomf </b> ");
     
     
     
     
    $resultat = $mysqli->query ("SELECT * FROM membre WHERE nom='$nomf'and prenom='$prenomf'");
     
     
     
     
    	$ligne = $resultat->fetch_assoc();
     
    $prenom2=$ligne["prenom"]; 
    $brevet2=$ligne["brevet"];
    $nom2=$ligne["nom"];
    $mail2=$ligne["mail"];
     
     
     
     
    	  	echo("<b>Nom2 :$nom2 </b> <br>");
    echo("<b>Prénom2 :$prenom2 </b> ");
     
     
    ?>
    Déja merci

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    je récupère bien la valeur avec $nomf=$_POST['nomf'] dans le fichier traitement.php
    En fait non, pas exactement. Essaye echo htmlspecialchars($_POST['nomf']);
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Par défaut
    Voilà ce que je reçois

    Capitte<br/Marc<br/Nomf :Capitte
    Prénomf :Marc
    Nom2 :
    Prénom2 :

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Il n’y a rien qui te choque dans ce résultat ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Par défaut
    Bonjour

    Si le <br/

    Mais comme j'ai dit en début de poste je suis débutant et autodidacte

    Je ne comprends pas d'où vient ce, ”<br/ ”et comment m'en défaire.

    Je te remercie de ta patience.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Par défaut
    Bonsoir Watilin

    Voilà, j'ai trouvé une solution, qui n'est certainement pas propre, mais ça fonctionne

    J'utilise "substr" pour retirer les caractères en trop.

    Par contre, je n'ai toujours pas compris d'où ils viennent.

    Merci pour les tuyaux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nomt = substr($nomf, 0, -5);

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,


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

Discussions similaires

  1. [C#] Récupération des variables system...
    Par smyley dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/08/2005, 11h39
  2. [VC++] Récupération de variables d'environnement
    Par LeonardDev dans le forum MFC
    Réponses: 2
    Dernier message: 02/03/2005, 11h09
  3. [VB.NET] Problem de récupération de variable avec une DLL
    Par ludovic85 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 19/01/2005, 11h37
  4. Récupération de variable
    Par Fred- dans le forum ASP
    Réponses: 13
    Dernier message: 17/06/2004, 20h13
  5. Récupération de variables dynamiques complexes
    Par ludoboy dans le forum ASP
    Réponses: 7
    Dernier message: 24/05/2004, 17h51

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