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 :

Switch qui n'affiche pas tout


Sujet :

Langage PHP

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Août 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Switch qui n'affiche pas tout
    Bonjour tout le monde,

    J'ai un probleme avec mon script: J'affiche une page avec un texte et en dessous 3 images-liens et quand j'appuie sur une des images normalement il devrait s'afficher autre chose en fonction de la valeur de $_GET .

    Mon code source :

    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
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    if (empty ($action) || empty ($r) || empty ($id))
    {
    echo'<a href="./index.php">Accueil</a> > <a href="./compte.php">Mon compte client</a>'; 
     
    echo'<h3>Bienvenue '.$_SESSION['nomprenom'].'. </h3>';
    echo'<h3>À partir de cet endroit, vous pouvez gérer votre compte, modifier vos adresses, voir vos commandes etc... <br/>
    </h3>';
    echo'<a href="./compte.php?action=compte&r='.$mdp.'&id='.$id.'"><img src="images/compte.png" alt="Afficher ou modifier votre compte client" /></a>';
    echo'<a href="./compte.php?action=question&r='.$mdp.'&id='.$id.'"><img src="images/questionsav.png" alt="Poser des questions et vos demandes de retours" /></a>';
    echo'<a href="./compte.php?action=commande&r='.$mdp.'&id='.$id.'"><img src="images/commande.png" alt="Afficher vos commandes" /></a>';
    }
    	elseif ( !empty($_GET['action']) AND !empty($_GET['r']) AND !empty($_GET['id']))
    {
     
    $id = $_GET['id'];
    $r = mysql_real_escape_string($_GET['r']);
     
    switch($_GET['action'])
    {
    case "compte" :
     
     
           $requete1 = mysql_query('SELECT id_client, civilite, nomprenom, adresse, ville, codepostal, 
    	   email, mdp, telephone, portable, telecopie FROM client WHERE id_client='.$id.' AND mdp='.$r.'');
     
    	   if ($data1 = mysql_fetch_assoc($requete1))
           {
     
           ?><h1>Modifier son profil</h1>
          <form method="post" action="modifprofil.php" enctype="multipart/form-data">    
     
          <fieldset><legend>Identifiants</legend>
          Votre nom d\utilisateur :  <?php echo'<strong>'.stripslashes(htmlspecialchars($data1['nomprenom'])).'</strong>'; ?><br />       
          <label for="password">Nouveau mot de Passe :</label>
          <input type="password" name="password" id="password" /><br />
          <label for="confirm">Confirmer le mot de passe :</label>
          <input type="password" name="confirm" id="confirm"  />
          </fieldset>
     
          <fieldset><legend>Contacts</legend>
          <label for="email">Votre adresse E_Mail :</label>
          <input type="text" name="email" id="email"
          value="<?php echo stripslashes($data1['email']); ?>" /><br />
          </fieldset>
    	  <input type="submit" value="Modifier son profil" />
    	  </form>
     
    	  <form method="post" action="modifprofil.php" enctype="multipart/form-data">
          <fieldset><legend>Adresse de facturation</legend>
          <label for="localisation">Adresse :</label>
          <input type="text" name="adresse" id="adresse"
          value="<?php echo stripslashes($data2['adresse']); ?>" /><br />
     
          <label for="localisation">Code Postal :</label>
          <input type="text" name="code" id="code"
          value="<?php echo stripslashes($data2['codepostal']); ?>" /><br />
    	  <label for="localisation">Ville :</label>
          <input type="text" name="ville" id="ville"
          value="<?php echo stripslashes($data2['ville']); ?>" /><br />
          </fieldset>     
     
    	<fieldset><legend>Adresse de facturation</legend>
          <label for="localisation">Adresse :</label>
          <input type="text" name="adresse" id="adresse"
          value="<?php echo stripslashes($data2['adresse']); ?>" /><br />
     
          <label for="localisation">Code Postal :</label>
          <input type="text" name="code" id="code"
          value="<?php echo stripslashes($data2['codepostal']); ?>" /><br />
    	  <label for="localisation">Ville :</label>
          <input type="text" name="ville" id="ville"
          value="<?php echo stripslashes($data2['ville']); ?>" /><br />
          </fieldset>    
     
          <input type="submit" value="Modifier son profil" name="adresse" />
          </form>
     
          <?php 
    	  }
    	 else 
    {
    	  echo' Vous avez rencontré une erreur. <br/> Veuillez réessayer dans quelques minutes, s\'il vous plait !';
    }
    break;
    case "question" :
     
    					echo "Pour poser des questions ou faire une demande de retour, veuillez remplir le formulaire ci-dessous:"; ?>
    		<form method="post" action="contact.php" enctype="multipart/form-data">
    <label for="sujet"> Sujet : </label>  <br/><input name="sujet" type="text" id="sujet" size="40" maxlength="100" /> <br/><br/>
    <label for="message"> Votre message : <br/></label>  <textarea name="message" type="text" id="message" cols="50" rows="10"/></textarea><br/><br/>
    <input type="submit" value="Envoyer" /></form><?PHP
    		break;
    case "commande" :
    					echo" Vous pouvez-voir ci-dessous toutes les commandes que vous avez passées sur le site, leur statut, le détail du produit etc... : ";
    break;
    }
     
    }
    }
    Quel est le probleme ?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Salut, ton premier tu utilises des variables dans ton 1er if au lieu d'utiliser $_GET.

    En changeant ce point, il y a de fortes chances que cela corrige ton erreur.
    Tout énigme a une solution ! Tout est question de discipline !

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tu utilises $action au lieu de $_GET['action'] sur le premier test.

    edit : mais heu !
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Août 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Je faisais ca aussi mais ca n'a rien changé, y a rien qui s'affiche

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que ton lien contient bien les 3 données ?
    As-tu controlé ce que contenait ton $_GET ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Août 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Alors oui mon lien contient bien les 3 données.

    Je comprends pas ta deuxième question.

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Avec ta variable $_GET avec var_dump() pour être sur de ce qu'elle contient.
    Si tu as bien corrigé ton premier test et que $mdp et $id valent bien quelque chose, ton code fonctionne.

    Au passage, ton elseif ne sert a rien : etant donné que tu mets la condition contraire du if dedans, un else suffit.
    Et ca n'a pas d'interet de mettre ./ devant tes noms de fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Août 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Alors pour le elseif je prends note

    Pour les ./ je les ai mis car sinon ca ne voulait pas marcher.

    Pour le var_dump, chui allé voir la page correspondate sur le manuel et j'ai essayé un truc, apres l'affectation des variables récupéré grace à GET ben j'ai essayé ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ''.var_dump($action, $id, $r).'';
    Mais ca n'a rien affiché.

    Est-ce que c'est bien ce qu'il fallait faire ? j'en suis pas sur.

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu continues à faire la meme erreur : tes variables $action, $id, $r n'existent pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Citation Envoyé par damienmou Voir le message

    Pour le var_dump, chui allé voir la page correspondate sur le manuel et j'ai essayé un truc, apres l'affectation des variables récupéré grace à GET ben j'ai essayé ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ''.var_dump($action, $id, $r).'';
    Mais ca n'a rien affiché.
    Tu entends quoi par affectation, tu veux dire que juste avant tu as fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $action = $_GET['action'];
    ...
    Si oui dans ce cas la ca devrait fonctionner.
    Tout énigme a une solution ! Tout est question de discipline !

  11. #11
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Août 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu continues à faire la meme erreur : tes variables $action, $id, $r n'existent pas.

    Si, avant le var_dump j'ai fais une affectation des variables $_GET.


    Citation Envoyé par Bebel Voir le message
    Tu entends quoi par affectation, tu veux dire que juste avant tu as fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $action = $_GET['action'];
    ...
    Si oui dans ce cas la ca devrait fonctionner.
    Oui j'ai fais ca.

    Alors je vais mettre le code source entiere de la page :
    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
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    <?php
    session_start();
    $titre = "Votre compte client";
    $description = "Votre compte client";
    include("includes/haut.php");
     
     
    ?>
     
    <div id="compte">
     
    <h1> MON COMPTE CLIENT </h1>
    <?PHP
     
    if (empty($_SESSION['nomprenom']) AND !isset($_SESSION['nomprenom']))
    {
    echo' Vous devez être inscrit sur le site pour pouvoir afficher et modifier vos informations personnelles';
    }
     
    elseif (!empty($_SESSION['nomprenom']) AND isset($_SESSION['nomprenom']))
    {
    $mdp = $_SESSION['mdp'];
    $id = $_SESSION['id_client'];
    include("includes/info.php");
    mysql_connect($adresse, $nom, $motdepasse);
    mysql_select_db($database);
     
    	if (empty ($action) || empty ($r) || empty ($id))
    {
    echo'<a href="./index.php">Accueil</a> > <a href="./compte.php">Mon compte client</a>'; 
     
    echo'<h3>Bienvenue '.$_SESSION['nomprenom'].'. </h3>';
    echo'<h3>À partir de cet endroit, vous pouvez gérer votre compte, modifier vos adresses, voir vos commandes etc... <br/>
    </h3>';
    echo'<a href="./compte.php?action=compte&r='.$mdp.'&id='.$id.'"><img src="images/compte.png" alt="Afficher ou modifier votre compte client" /></a>';
    echo'<a href="./compte.php?action=question&r='.$mdp.'&id='.$id.'"><img src="images/questionsav.png" alt="Poser des questions et vos demandes de retours" /></a>';
    echo'<a href="./compte.php?action=commande&r='.$mdp.'&id='.$id.'"><img src="images/commande.png" alt="Afficher vos commandes" /></a>';
    }
    	else 
    {
    $action = $_GET['action'];
    $id = $_GET['id'];
    $r = mysql_real_escape_string($_GET['r']);
    echo ''.var_dump($action, $id, $r).'';
     
     
    switch($action)
    {
    case "compte" :
     
     
           $requete1 = mysql_query('SELECT id_client, civilite, nomprenom, adresse, ville, codepostal, 
    	   email, mdp, telephone, portable, telecopie FROM client WHERE id_client='.$id.' AND mdp='.$r.'');
     
    	   if ($data1 = mysql_fetch_assoc($requete1))
           {
     
           ?><h1>Modifier son profil</h1>
          <form method="post" action="modifprofil.php" enctype="multipart/form-data">    
     
          <fieldset><legend>Identifiants</legend>
          Votre nom d\utilisateur :  <?php echo'<strong>'.stripslashes(htmlspecialchars($data1['nomprenom'])).'</strong>'; ?><br />       
          <label for="password">Nouveau mot de Passe :</label>
          <input type="password" name="password" id="password" /><br />
          <label for="confirm">Confirmer le mot de passe :</label>
          <input type="password" name="confirm" id="confirm"  />
          </fieldset>
     
          <fieldset><legend>Contacts</legend>
          <label for="email">Votre adresse E_Mail :</label>
          <input type="text" name="email" id="email"
          value="<?php echo stripslashes($data1['email']); ?>" /><br />
          </fieldset>
    	  <input type="submit" value="Modifier son profil" />
    	  </form>
     
    	  <form method="post" action="modifprofil.php" enctype="multipart/form-data">
          <fieldset><legend>Adresse de facturation</legend>
          <label for="localisation">Adresse :</label>
          <input type="text" name="adresse" id="adresse"
          value="<?php echo stripslashes($data2['adresse']); ?>" /><br />
     
          <label for="localisation">Code Postal :</label>
          <input type="text" name="code" id="code"
          value="<?php echo stripslashes($data2['codepostal']); ?>" /><br />
    	  <label for="localisation">Ville :</label>
          <input type="text" name="ville" id="ville"
          value="<?php echo stripslashes($data2['ville']); ?>" /><br />
          </fieldset>     
     
    	<fieldset><legend>Adresse de facturation</legend>
          <label for="localisation">Adresse :</label>
          <input type="text" name="adresse" id="adresse"
          value="<?php echo stripslashes($data2['adresse']); ?>" /><br />
     
          <label for="localisation">Code Postal :</label>
          <input type="text" name="code" id="code"
          value="<?php echo stripslashes($data2['codepostal']); ?>" /><br />
    	  <label for="localisation">Ville :</label>
          <input type="text" name="ville" id="ville"
          value="<?php echo stripslashes($data2['ville']); ?>" /><br />
          </fieldset>    
     
          <input type="submit" value="Modifier son profil" name="adresse" />
          </form>
     
          <?php 
    	  }
    	 else 
    {
    	  echo' Vous avez rencontré une erreur. <br/> Veuillez réessayer dans quelques minutes, s\'il vous plait !';
    }
    break;
    case "question" :
     
    					echo "Pour poser des questions ou faire une demande de retour, veuillez remplir le formulaire ci-dessous:"; ?>
    		<form method="post" action="contact.php" enctype="multipart/form-data">
    <label for="sujet"> Sujet : </label>  <br/><input name="sujet" type="text" id="sujet" size="40" maxlength="100" /> <br/><br/>
    <label for="message"> Votre message : <br/></label>  <textarea name="message" type="text" id="message" cols="50" rows="10"/></textarea><br/><br/>
    <input type="submit" value="Envoyer" /></form><?PHP
    		break;
    case "commande" :
    					echo" Vous pouvez-voir ci-dessous toutes les commandes que vous avez passées sur le site, leur statut, le détail du produit etc... : ";
    break;
    }
     
    }
    }
    ?>
    </div>
    <?php include("includes/bas.php"); ?>

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Toujours le meme problème : $action, $r et $id sont définis après ton premier test.

    La question se pose aussi pour $adresse, $nom et $motdepasse.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [WD-MAC 2011] Fichier volumineux qui n'affiche pas toutes les pages
    Par Hardofflas dans le forum Word
    Réponses: 1
    Dernier message: 05/06/2012, 08h00
  2. Script de news qui n'affiche pas toute l'information avec IE
    Par Defrancesco dans le forum Langage
    Réponses: 2
    Dernier message: 18/10/2011, 15h48
  3. [AC-97] Une requête étrange qui n'affiche pas toutes les entrées
    Par ZoliveR dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/11/2010, 11h58
  4. Textbox dans un Etat qui n'affiche pas tout
    Par nianko dans le forum IHM
    Réponses: 5
    Dernier message: 16/11/2010, 18h08
  5. Requete qui n'affiche pas tout
    Par sebinator dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 11/12/2007, 17h52

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