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 :

récupérer d'autre valeur de champs dans une session [PHP 5.4]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Par défaut récupérer d'autre valeur de champs dans une session
    bonjour,

    j'ai créé un espace membre, comme ceci:
    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
    if(isset($_POST) && !empty($_POST['identifiant']) && !empty($_POST['pass'])) 
    {
    $identifiant=$_POST["identifiant"];
    $mot_de_passe=$_POST["pass"];
    $mysqli=new mysqli("localhost", "root", "","xxx");
    $requete="SELECT identifiant, mot_de_passe FROM membres WHERE identifiant='$identifiant' AND mot_de_passe='$mot_de_passe'";
    $result=$mysqli->query($requete);
    //if ($result === FALSE) {
      //die ("Mysql Error: " . $mysqli->error);
    //}
    if($mysqli->affected_rows==1)
    {
    session_start ();
    		// on enregistre les paramètres de notre visiteur comme variables de session ($identifiant et $pass) (notez bien que l'on utilise pas le $ pour enregistrer ces variables)
    		$_SESSION['identifiant'] = $_POST['identifiant'];
    		$_SESSION['pass'] = $_POST['pass'];
     
    		// on redirige notre visiteur vers une page de notre section membre
    		header ('location: accueil.php');
     
    }
    else
    {
    echo 'vous devez être membre';
     header ('location:inscription.php');
    }
    }
    cela me dirige vers ma page : accueil.php comme voulu donc tout se passe bien jusque là...
    puis je vais ensuite sur la page: Mon_profil.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
    <?php
    session_start ();
     
    ?><div class="div_identif_Mprofil">
    <?php echo $_SESSION['identifiant'].',';?>
    </div><form  method="POST">
    	<label class="label_inscription_identi"for="ident">Votre identifiant:</label>
    	<?php echo $_SESSION['identifiant'];?><br>
     
    	<label class="label_inscription_nom" for="nom">Votre nom:</label>
     
     
    	<label class="label_inscription_prenom" for="prenom">Votre prénom:</label>
     
     
    	<label class="label_inscription_age" for="age">Votre âge:</label>
     
     
    	<label class="label_inscription_sex" for="sexe">Votre sexe:</label>
    	<input class="input_inscription_sex" id="sexe" type="radio" name="group1" value="feminin">féminin
     
     
    	<label class="label_inscription_email" for="mail">Votre e-mail:</label>
     
     
    	<label class="label_inscription_code_post" for="postale">Code postale:</label>
     
     
    	<label class="label_inscription_ville" for="ville">Ville:</label>
     
     
     
    </form>
    ma question est : comment puis-je faire pour pouvoir faire un echo du champ nom etc.. se trouvant dans ma base de donnée, j'ai bien essayé le SELECT et ensuite l'afficher avec fetch mais je n'y arrive pas il y a toujours des erreurs...

    quelqu'un pourrait-il m'aiguiller s'il vous plait?merci
    mes champs dans ma base : nom, prenom, age, code_postale, sexe, ville......

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    On ne vois pas de requête SQL, comment fais-tu pour essayer de récupérer ces informations.

  3. #3
    Membre confirmé
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Par défaut
    justement, j'ai eu beau mettre dans form_profil.php, une connexion à ma base et puis faire un SELECT et afficher les champs mais cela ne fonctionne pas dès que je met dans ma page Mon_profil.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
    <?php
    session_star()
    ?>
    <form  method="POST">
    	<label for="ident">Votre identifiant:</label>
    	<?php echo $_SESSION['identifiant'];?><br>
     
    	<label  for="nom">Votre nom:</label>
    	<?php //echo $_SESSION['nom'];?><br>	
     
    	<label  for="prenom">Votre prénom:</label>
    	<br>
     
    	<label  for="age">Votre âge:</label>
    	<br>
     
    	<label  for="sexe">Votre sexe:</label>
    	<br>
     
    	<label for="mail">Votre e-mail:</label>
    	<br>
     
    	<label  for="postale">Code postale:</label>
    	<br>
     
    	<label  for="ville">Ville:</label>
     
     
     
    </form>
    <?php echo $_SESSION['identifiant'];?>
    celui-ci fonctionne
    <?php //echo $_SESSION['nom'];?>
    celui-ci ne fonctionne pas

    et je ne comprend pas comment faire

    vu que pour accèder à l'espace membre j'ai fais ceci connection.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
    <?php
    if(isset($_POST) && !empty($_POST['identifiant']) && !empty($_POST['pass'])) 
    {
    $identifiant=$_POST["identifiant"];
    $mot_de_passe=$_POST["pass"];
     
    $mysqli=new mysqli("localhost", "root", "","xxxx");
    $requete="SELECT identifiant, mot_de_passe FROM membres WHERE identifiant='$identifiant' AND mot_de_passe='$mot_de_passe'";
    $result=$mysqli->query($requete);
    //if ($result === FALSE) {
      //die ("Mysql Error: " . $mysqli->error);
    //}
    if($mysqli->affected_rows==1)
    {
    session_start ();
     
    		// on enregistre les paramètres de notre visiteur comme variables de session 
    		$_SESSION['identifiant'] = $_POST['identifiant'];
    		$_SESSION['pass'] = $_POST['pass'];
     
    		// on redirige notre visiteur vers une page de notre section membre
    		header ('location: accueil.php');
     
    }
    else
    {
    echo 'vous devez être membre';
     header ('location:inscription.php');
    }
    }
     
     
     
    ?>
    et la personne à du s'inscrire via ce formulaire inscription.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
    <form class="form_inscription" action="form_inscription.php" method="post">
    	<label class="label_inscription_nom" for="nom">Votre nom*:</label>
    	<input class="input_inscription_nom"type="text" name="nom" id="nom" required="required">	
     
    	<label class="label_inscription_prenom" for="prenom">Votre prénom*:</label>
    	<input class="input_inscription_prenom"type="text" name="prenom"id="prenom"required="required"><br>
     
    	<label class="label_inscription_age" for="age">Votre âge*:</label>
    	<input class="input_inscription_age"type="date" name="age"id="age"required="required">
     
    	<label class="label_inscription_sex" for="sexe">Votre sexe:</label>
    	<input class="input_inscription_sex" id="sexe" type="radio" name="group1" value="feminin">féminin
    	<input class="input_inscription_sex2" id="sexe" type="radio" name="group1"value="masculin">masculin<br>
     
    	<label class="label_inscription_email" for="mail">Votre e-mail*:</label>
    	<input class="input_inscription_email" id="mail" type="email" name="mail"required="required"value="@"><br>
     
    	<label class="label_inscription_code_post" for="postale">Code postale*:</label>
    	<input class="input_inscription_code_post" id="postale" type="text" name="postale"required="required"min="4" max="4">
     
    	<label class="label_inscription_ville" for="ville">Ville*:</label>
    	<input class="input_inscription_ville" id="ville" type="text" name="ville"required="required"><br>
     
    	<label class="label_inscription_identi"for="ident">Votre identifiant*:</label>
    	<input class="input_inscription_identi"type="text" name="identifiant"id="ident"required="required">
     
    	<label class="label_inscription_passe"for="pass">Votre mot de passe*:</label>
    	<input class="input_inscription_passe"type="password" name="pass"id="pass"required="required"><br>
     
    	<input class="input_inscription_submit"type="submit" name="balibalo" value="valider">
    	<?php//sécuriser traitement des infos
    	if(isset($_POST["balibalo"]))
    {
    	//ton traitement ici
    }?>
    <p class="pied_form_inscription">Un e-mail vous sera envoyé avec votre identifiant et votre mot de passe</p>
     
    </form>
    et le code form_inscription.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
    <?php
    $mysqli = new mysqli("localhost", "root", "", "xxxx");
    if (mysqli_connect_errno()) {
        printf("Échec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }
    $nom=$_POST["nom"];
    $prenom=$_POST["prenom"];
    $age=$_POST["age"];
    $sexe=$_POST["group1"];
    $email=$_POST["mail"];
    $code_postale=$_POST["postale"];
    $ville=$_POST["ville"];
    $identifiant=$_POST["identifiant"];
    $mot_de_passe=$_POST["pass"];
    $stmt = $mysqli->prepare("insert into membres (identifiant, mot_de_passe, nom, prenom, age, sexe, email, code_postale, ville) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
    //if ($stmt === FALSE) {
      //  die ("Mysql Error: " . $mysqli->error);
    //}
    //if (!($stmt = $mysqli->prepare("INSERT INTO membres (identifiant, mot_de_passe, nom, prenom, age, sexe, email, code_postale, ville) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"))) {
      //  echo "Echec de la préparation : (" . $mysqli->errno . ") " . $mysqli->error;
    //}
    mysqli_stmt_bind_param($stmt,'sssssssss', $identifiant, $mot_de_passe, $nom, $prenom, $age, $sexe, $email, $code_postale, $ville);
    //if (!mysqli_stmt_bind_param('s', $nom)) {
       //echo "Echec lors du liage des paramètres : (" . $stmt->errno . ") " . $stmt->error;
    //}
    //if (!$stmt->execute()) {
      // echo "Echec lors de l'exécution : (" . $stmt->errno . ") " . $stmt->error;
    //}
     
    if (mysqli_stmt_execute($stmt) != FALSE) {
       echo 'votre inscription à bien été prise en compte';
      header ('location:index.php');
     
    }
     
     
    ?>

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Whoooooooo doucement,

    Ta question de départ est : comment récupérer les champs "nom, prenom, age, code_postale, sexe, ville" de ta table.

    Hors dans ton code je ne vois nulle part un truc du genre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom, prenom, age, code_postale, sexe, ville FROM LeNomDeTaTable ;

    Attention à bien nous écrire ce que tu penses et ne pas penser que tu l'as écrit, c'est différent et on est pas dans ta tête

  5. #5
    Membre confirmé
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Par défaut
    oui pardon

    donc dans le form_profil que je voulais mettre dans le formulaire <form action="form_profil"...):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
     
    $mysqli = new mysqli("localhost", "root", "", "xxx");
    if($result=$mysqli_query($mysqli,"SELECT nom FROM membres")){
    printf("Select returned %d rows.\n", mysqli_num_rows($result));
     
           mysqli_free_result($result);
    }
     
     
    ?>
    voilà ce que j'avais essayé pour le champ "nom" voir si déjà cela fonctionnait, mais rien du tout, donc j'ai effacé l'action="form_profil" et demandé de l'aide....

    mais c'est vrai que j'avais oublié de l'indiqué (je suis bête ;p)

  6. #6
    Membre confirmé
    Femme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2014
    Messages : 176
    Par défaut
    et voilà l'erreur que j'ai que la variable "nom" n'est pas définie, mais je ne vois pas où la déclarer : $nom=$_POST["nom"]

    Nom : Capture.PNG
Affichages : 202
Taille : 19,9 Ko

  7. #7
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bon alors ok, je vais te guider pas à pas.

    On va déjà se mettre d'accord sur le fait qu'a un moment il faudra externaliser ta connexion à la db.
    Ensuite moi je travaille avec PDO, même si tu n'utilises que MySQL, c'est mieux, comme ça tu seras multi db

    voici comment faire pour un test, j'ai pris l'exemple sur la doc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $dbh = new PDO('mysql:host=localhost;dbname=NomDeLaDb', 'root', 'xxxx');
    $sth = $dbh->prepare("SELECT nom FROM membres");
    $sth->execute();
     
    /* Récupération de toutes les lignes d'un jeu de résultats */
    print("Récupération de toutes les lignes d'un jeu de résultats :\n");
    $result = $sth->fetchAll();
    print_r($result);
    ?>

    vois si ça retourne déjà quelque chose.

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

Discussions similaires

  1. [XL-2010] Afficher une autre valeur que #REF! dans une cellule
    Par Sore06 dans le forum Excel
    Réponses: 3
    Dernier message: 30/09/2014, 08h56
  2. Réponses: 5
    Dernier message: 13/06/2014, 14h14
  3. [AC-2007] Récupérer le nom d'un champ dans une requête SQL
    Par othke dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/03/2010, 18h48
  4. recuperer la valeur du champ dans une liste déroulante
    Par zambudio dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/11/2008, 20h26
  5. Valeurs des champs dans une liste
    Par Sly2k dans le forum Access
    Réponses: 21
    Dernier message: 11/08/2006, 14h15

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