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 :

Base de données exemple BonsVivants du livre PHP & MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    Bonjour,

    C'est normal, une variable ne peut pas se téléporter d'un fichier a l'autre par magie .

    Soit tu utilise les sessions pour la stocker, par exemple :
    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
     
    // page 1
    if (!$auth){
      $sql="INSERT INTO membres (prenom, code_postal, ville, pays, email, date_inscription) 
      VALUES ('$prenom', '$code_postal', '$ville', '$pays', '$email', '$moment')"; 
      $requete = mysql_query($sql,$id_link) or die("erreur mySQL :" . mysql_error());
      //printf("Le dernier ID inséré dans membres est le id %d\n", mysql_insert_id());
      $_SESSION["idCourant"] = mysql_insert_id();
      echo $clef;
    } else {
      include "inscription_p1.php";
      exit;
    }
     
     
    // page 2
    if (!$auth){
    	$sql="UPDATE membres 
    	SET nom_usage = '$nom_usage', 
    	mot_passe = '$mot_passe', 
    	mot_passebis = '$mot_passebis', 
    	question = '$question', 
    	reponse = '$reponse' 
    	WHERE clef = '{$_SESSION["idCourant"]}'";
    	$requete = mysql_query($sql,$id_link) or die("erreur mySQL :" . mysql_error());
    Soit tu envoies ton id en post avec le reste de ton formulaire, dans ce cas, tu fais pas exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // dans ton formulaire de page 1
    <input type="hidden" name="idCourant" value="$clef" />
     
    // dans ta page 2
    if (!$auth){
    	$sql="UPDATE membres 
    	SET nom_usage = '$nom_usage', 
    	mot_passe = '$mot_passe', 
    	mot_passebis = '$mot_passebis', 
    	question = '$question', 
    	reponse = '$reponse' 
    	WHERE clef = '{$_POST["idCourant"]}'";
    	$requete = mysql_query($sql,$id_link) or die("erreur mySQL :" . mysql_error());
    Voila

  2. #22
    Membre confirmé Avatar de Zhebulon
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 222
    Par défaut
    Merci keaton7 !

    J'ai essayé de tester les 2 manières de récupérer cette fameuse variable... sans succès !
    La première ne faisait aucun message d'erreur, tandis que la seconde, avec la variable de session, me renvoie ceci en erreur : Notice: Undefined variable: _SESSION in C:\Program Files\EasyPHP 3.0\www\BonsVivants\traitement_id.php on line 29
    J'ai bien essayé de chercher à comprendre un peu, mais je n'ai pas trouvé.... Flûte....

  3. #23
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    Oui pardon j'ai omis de te dire qu'il faut utiliser une fonction particulière qui a pour role d'initialiser les sessions :
    Regarde un peu par ici :
    http://fr2.php.net/manual/fr/book.session.php

    Les 2 façons devraient fonctionner en tous cas, si tu es parti sur les sessions oublions l'autre et concentrons nous les sessions .

  4. #24
    Membre confirmé Avatar de Zhebulon
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 222
    Par défaut
    Hello keaton7 !

    Chouette ! Après m'être dûment renseigné sur les sessions, çà fonctionne ! Mais j'ai une question : Pourquoi mets-tu des doubles cotes à chaque idCourant ?
    Merci et à plus tard....

  5. #25
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    Tu parles de ca :
    Session est un tableau. idCourant est une chaine ET une cle d'un tableau associatif. Un tableau est normalement constitue d'indices numériques représentants la position de l'information qui leur correspond. Ces valeurs numériques sont parfois difficiles a manipuler, il existe pour cela la notion de tableau associatif, qui permet d'attribuer une "chaine" a une valeur. Ça permet d'avoir un code plus explicite et plus facile a manipuler dans certains cas.

    Si tu ne parles pas de ca, autant pour moi, il va falloir preciser un peu

  6. #26
    Membre confirmé Avatar de Zhebulon
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 222
    Par défaut
    Non, non, c'est bien de çà que je voulais parler, car dans tous les exemples que j'ai pû lire, les variables étaient passées entre simples cotes.... Ca répond donc à ma question...
    Merci beaucoup en tous cas pour ton aide si précieuse..... J'ai à apprendre !
    @+ tard

  7. #27
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    La difference entre " et ' reside entre autre dans l'interpretation de la chaine qui y est contenu. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $login = "Keaton7";
     
    $chaine = "Votre identifiant est $login";
    // Affichera Votre identifiant est Keaton7
     
    $chaine = "Votre identifiant est {$login}";
    // Affichera Votre identifiant est Keaton7
     
    $chaine = 'Votre identifiant est $login';
    // Affichera Votre identifiant est $login
    L'utilisation des {} permet de separer les variables du reste de la chaine, par exemple dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = "La valeur renvoyee est {$_POST["valeur"]}";
    Les doubles quotes internes aux accolades ne sont pas interpretes comme ouvrantes et fermantes pour la chaine principale. Elles peuvent servir egalement dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $chaine = "Il vous reste {$tempsRestant}s";
    Le s represente l'unite, et sans les accolades, php chercherait la variable $tempsRestants, qui n'existe pas.

    Voila pour le topo.

  8. #28
    Membre confirmé Avatar de Zhebulon
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 222
    Par défaut
    Ahhh ! Intéressant ! parce qu'au niveau des cotes en général, j'ai la fâcheuse tendance à me tromper dedans...

    Grands mercis !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Base de données Access par un formulaire php
    Par PHPDOS dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/03/2009, 14h55
  2. Base de données exemple
    Par hicham106 dans le forum Installation
    Réponses: 1
    Dernier message: 14/11/2008, 11h05
  3. [Conception] connexion de deux bases de données dans une page en php
    Par leclone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/04/2007, 15h59
  4. [ODBC] [DB2] Problème de connexion à une base de données sur un as400 via PHP sous Linux
    Par boo64 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 19/04/2006, 10h51
  5. [oracle 9i]base de donnée exemple?
    Par Melvine dans le forum Oracle
    Réponses: 2
    Dernier message: 08/02/2006, 15h49

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