Partage
  • Partager sur Facebook
  • Partager sur Twitter

Extraction dans un IF

Problème d'extractions de données dans un IF

    21 avril 2006 à 17:29:58

    Bonjour à tous,

    Nouveau sur ce forum, je me présente rapidement : Damien, 16 ans, habite en région parisienne.
    Je voudrais tout d'abord remercier M@teo21 pour son formidable tuto, qui, n'y connaissant absolument rien, m'a permi de créer un site dynamique.
    Mais il subsiste un problème que je voudrais vous soumettre, à savoir une extraction de données.
    En effet, les membres se connectent via la page de connexion, jusque là pas de problème. Ils arrivent sur une page où ils choisissent la rubrique qu'ils souhaitent visiter. Pas de souci non plus.
    En cliquant sur l'une des pages, ils peuvent consulter leur solde, qui est en fait un champ "compte" contenu dans une base de données nommée "test".
    Ainsi, si le mot de passe et le login qu'ils ont fourni est faux, un message d'erreur s'affiche sur la page. Sinon, leur solde doit normalement s'afficher (je dis bien, normalement :lol: ...). La page est structrée en IF : IF login+mot de passe faux //message d'erreur. IF login+mot de passe bon //affichage de la page.
    Je vous donne ci-dessous le code de ma page, pourriez-vous m'indiquer comment je dois faire ?

    D'autre part, comment faire pour que, quand le membre, à l'aide d'un formulaire, rajoute une donnée (ce sont des kilomètres) pour le champ "compte", les données qu'il a entrée s'additionnent à celles précédentes (et non pas les effacent) ?

    Merci de votre aide.


    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    session_start() ;
    if(!isset($_SESSION["login"]) || $_SESSION["login"] == "")
    {       
      echo("
      <title>Votre Interface Personnalisée</title>
    <span style='font-family:Trebuchet MS'>
    <img src=http://img299.imageshack.us/img299/3651/logoblanc9hs.jpg><br><br>
    <u><br><b><center><i><font size=20>Votre Interface Personnalisée</font></i></center></b></u>
    <br><center><font color=red><b>Nous sommes au regret de vous annoncer que votre tentative de connexion a échoué.
    <br>En effet, le login ou le mot de passe que vous avez indiqués est inconnu ou ne correspond pas.
    <br>Nous vous prions de bien vouloir réessayer ou de vous inscrire en cliquant ci dessous.
    <br>Merci de votre compréhension</font></b></center>
    <center><br>
    <fieldset>
    <a href=inscription.php>M'inscrire à Avia'Passion Virtual Airlines</a><br>
    <br><a href=connexion.php>Réessayer la connexion</a>
    </fieldset>
      "
    ) ;
    }
    else
    {
      echo("
      <title>Votre Interface Personnalisée</title>
    <span style='font-family:Trebuchet MS'>
    <img src=http://img299.imageshack.us/img299/3651/logoblanc9hs.jpg><br><br>
    <u><br><b><center><i><font size=20>Votre Interface Personnalisée</font></i></center></b></u>
    <br><br><fieldset>
    <center>Vous êtes <font color=blue><b><i>$_SESSION[login]</i></b></font>.
    Vous trouverez le solde de votre compte ci-dessous.
    <gras>//jusque là tout marche bien. C'est donc ci-dessous que je souhaite afficher ce solde//</gras>
    mysql_connect("
    localhost", "root,"") ;
    mysql_select_db("test");

    $reponse = mysql_query(SELECT * FROM pilotes WHERE login=$_SESSION['login']") or die(mysql_error()) ;
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>
    <fieldset>
    <b>Solde de votre compte :</b> <?php echo $donnees[compte]; ?><br />
    </fieldset><br>
    <?php
    }
    mysql_close();
    ?>
    </center>
    </fieldset>
      "
    ) ;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      21 avril 2006 à 17:38:27

      Merci d'utiliser les balises

      <code > et </code >
      Pour que l'on puisse avoir la coloration syntaxique...

      Utilise des guillemets simples, remplace =="" par == NULL, n'utilise pas de parenthèses pour afficher uniquement du texte, utilise des balises css plutot que de html, accueil tes images sur ton serveur plutôt que sur imageshack. Enfin bon voilà quoi, ton code ne ressemble pas vraiment à ce que l'on apprend ici ;)

      Le problème vient de ta requete SQL qui n'est pas entre guillemets:

      $reponse = mysql_query('SELECT * FROM pilotes WHERE login=\'' . $_SESSION['login'] . '\'') or die(mysql_error()) ; ?>

      Voilà!
      • Partager sur Facebook
      • Partager sur Twitter
        21 avril 2006 à 17:47:45

        Bonjour,

        Désolé pour le code, je le saurais pour la prochaine fois ;)

        En ce qui concerne le code, en mettant celui-ci, il me dit qu'il y a une Parse Error.

        Bon, j'ai peut être une solution alternative, je vais l'essayer, je vous tiens au courant.

        Merci Vizigr0u pour ton aide ;)

        Damien
        • Partager sur Facebook
        • Partager sur Twitter
          21 avril 2006 à 18:38:38

          En fait c'est très simple, il manque un " à ton mysql_connect... (et l'autre " dont j'ai parlé dans ta requete, que tu ferme alors qu'il n'est pas ouvert...)

          Avec la coloration syntaxique tu aurais remarqué ca tout de suite...
          • Partager sur Facebook
          • Partager sur Twitter
            21 avril 2006 à 21:46:22

            Bonsoir,

            Eh oui, encore moi...
            Cette fois-ci, j'ai un problème au niveau d'un script de traitement d'un formulaire. Si je le remplis pour voir ce qui se passe, tout semble fonctionner, le message correct s'affiche. Les mots de passe, noms, identifiants, tout est bon.
            Seul souci : j'ai testé 4 fois, les 4 fois, je reçois le mail, mais surprise ! rien n'est inséré dans la base de données... Parfois même (c'est arrivé une ou deux fois en plus), le mail n'est pas envoyé.

            Y'a-t-il une manip spéciale ? Une erreur dans le script ?

            <html>
            <head>
            <title>Rejoignez la compagnie !</title>
            <body>
            <img src="http://img299.imageshack.us/img299/3651/logoblanc9hs.jpg">
            <span style='font-family:"Trebuchet MS"'>
            <br><br><center><i><font size=20>Votre Inscription</font></i></center>
            <br><br><br>
            <?php
            //Identifiants de connexion à la base de données.
            require("config.inc.php");

            //On vérifie que la variable $_POST['inscription'] existe
            if (isset($_POST['inscription']))
            {
                    //Si les variables contenant le pseudo, le mot de passe et l'email existent et contiennent quelque chose.
                    if (isset($_POST['nom'], $_POST['prenom'], $_POST['email'], $_POST['login'], $_POST['password'], $_POST['confirmationp']) && !empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['email']) && !empty($_POST['login']) && !empty($_POST['password']) && !empty($_POST['confirmationp']) )
                    {
                            //Si le pseudo est supérieur à 3 caractères et inférieur à 35 caractères.
                            if (strlen(trim($_POST['login'])) > 3 && strlen(trim($_POST['login'])) < 20)
                            {
                                    //Si le mot de passe est supérieur à 4 caractères.
                                    if (strlen(trim($_POST['password'])) > 3 && strlen(trim($_POST['password'])) < 20)
                                    {
                                            //Mesure de sécurité.
                                                                            $nom = htmlentities(addslashes($_POST['nom']));
                                                                            $prenom = htmlentities(addslashes($_POST['prenom']));
                                            $email = htmlentities(addslashes($_POST['email']));
                                            $login = htmlentities(addslashes($_POST['login']));
                                                                            $password = htmlentities(addslashes($_POST['password']));
                                            $confirmationp = htmlentities(addslashes($_POST['confirmationp']));
                                           
                                           
                                       
                                                                            //Envoi du mail de confirmation.
                                            $message = '
                                            Bonjour '
            .$login.'<br><br>
                                            Vous venez de vous inscrire en tant que Pilote chez Avia\'
            Passion Virtual Airlines, nous vous en remercions.<br> Pour valider votre inscription, nous vous demandons de cliquer sur le lien suivant : <br><a href="http://info77200.free.fr/confirmation.php?pseudo='.$login.'">Cliquez ici</a>
                                                                            <br> Nous vous rappelons que toute demande, suggestion, question, ou toute demande de désinscription doit être formulée à l\'adresse suivante : aviapassioninfo@free.fr.
                                                                            <br> D\'
            autre part, nous vous demandons de ne pas répondre à ce message.
                                                                            <br>Merci de votre inscription, et bon vols parmi nous.
                                                                            <br>---------------------
                                                                            <br>La Direction Avia\'Passion Virtual Airlines
                                            '
            ;
                                           
                                            //Si le mail a été envoyé on peut enregistrer le membre
                                            if (mail($email, 'Confirmation de l\'inscription sur [Avia\'Passion Virtual Airlines]', $message))
                                            {
                                                    //Connexion à mysql.
                                                    mysql_connect($host, $username, $password);
                                                    mysql_select_db($bdd_name);
                                                   
                                                    //On éxécute la requête qui enregistre un nouveau membre.
                                                    mysql_query("INSERT INTO pilotes (id, nom, prenom, login, password, confirmationp, confirmation, email) VALUES ('', '".$nom."', '".$prenom."', '".$login."', '".$password."', 'OK', '0', '".$email."')");
                                                   
                                                    //Déconnection de mysql.
                                                    mysql_close();
                                            }
                                            else
                                            {
                                                    echo '
                                                                                            <fieldset>
                                                                                            <legend><font color=red>Erreur</legend>
                                                                                            Echec lors de l\'
            envoi de l\'E-Mail de confirmation. Veuillez vous réinscrire.
                                                                                            </fieldset>
                                                                                            '
            ;
                                            }
                                    }
                                    else
                                    {
                                            echo '
                                                                            <fieldset>
                                                                            <legend><font color=red>Erreur</legend>
                                                                            Le mot de passe que vous avez indiqué ne respecte pas les conditions imposées.
                                                                            </fieldset>
                                                                            '
            ;
                                    }
                            }
                            else
                            {
                                    echo '
                                                            <fieldset>
                                                            <legend><font color=red>Erreur</legend>
                                                            Le login que vous avez indiqué ne respecte pas les conditions imposées.
                                                            </fieldset>                              
                                                            '
            ;
                            }
                    }
                    else
                    {
                            echo '
                                                            <fieldset>
                                                            <legend><font color=red>Erreur</legend>
                                                            Une information n\'
            a pas été indiquée. Veuillez y remédier.
                                                            </fieldset>
                                                            ';
                    }
            }
            else
            {echo '

            <fieldset>
            <center><b>Votre inscription s\'est bien déroulée.
            <br>Veuillez consulter votre boîte e-mail afin de récuperer le message de confirmation.
            <br>Merci et bons vols.</center></b>
            </fieldset>
            <br>
            <br>
            '
            ;
            }
            ?>



            PS : Il s'agit en réalité du tuto réalisé par dixy sur le Site du Zéro :
            http://www.siteduzero.com/tuto-3-3358-1-un-espace-membres-simple.html#ss_part_3

            Merci de votre aide ;)

            • Partager sur Facebook
            • Partager sur Twitter
              22 avril 2006 à 17:09:55

              Bonjour,

              Désolé pour mon insistance, mais personne n'a de réponse ?
              • Partager sur Facebook
              • Partager sur Twitter

              Extraction dans un IF

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown