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 :

bug dans mon code


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut bug dans mon code
    Bonjour,

    j'ai un problème avec ma page en php.

    Enfaîte l'erreur "Pas assez de points !" ne s'affiche pas, et les clients peuvent acheter même avec un solde de 0, il passe simplement en négatif.

    Quelqu'un peut-il me corriger l'erreur ?

    Voici 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
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    <div id="title"><span>La boutique de <?php echo $title_site; ?></span>La boutique de <?php echo $title_site; ?></div>
    <img src="theme/img/hr.png" class="hr"/>
    <?php
     
    if(isset($_SESSION['login']))
    {	
    ?>
    <br />
    <div style="margin:auto;width:604px;height:210px;background:url('theme/img/Bg_Rech.png');">
    <div style="position:absolute;margin-top:53px;margin-left: 113px;width:85px;height:20px;text-align:right;color:#514a3c;font-size:15px;"><?php echo getinfo($_SESSION['login'],"points"); ?></div>
    <form action="pages.php?p=boutique#" method="post" name="formulaire">	
    <input style="position:absolute;margin-top:48px;margin-left: 402px;width:133px;height:29px;color:#514a3c;font-size:15px;background:transparent;border:0;" type="text" name="item" value="Rechercher ..." onfocus="this.value=''"/>
    <input style="position:absolute;border:0;margin-top:49px;margin-left: 568px;width:29px;height:27px;background:transparent;cursor:pointer;" type="submit" name="send" value=""/>
    </form>
    <div style="position:absolute; margin-top:90px; margin-left:1px;height:119px; width:602px;overflow-y:scroll;">
    <a href="pages.php?p=boutique&type=1"><div class="bb"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Dofus</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_dofus.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=2"><div class="bb2"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Familier</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_fam.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=3"><div class="bb"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Coiffe</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_ite.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=4"><div class="bb2"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Cape</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_obv.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=5"><div class="bb"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Anneau</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_obv.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=6"><div class="bb2"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Amulette</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_obv.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=7"><div class="bb"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Botte</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_obv.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=8"><div class="bb2"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Ceinture</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_obv.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=9"><div class="bb"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Bouclier</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_obv.png"> !--></div></a>
    <a href="pages.php?p=boutique&type=10"><div class="bb2"><span style="position:absolute;margin-left: 5px;margin-top: 6px;font-size:14px;color:#514a3c;">Armes</span><!-- <img width="21" height="21" style="float:right;margin-top:5px;margin-right:5px;" src="images/devtool/ico_obv.png"> !--></div></a>
    </div>
     
    </div>
     
    <br /><br />
    <?php
     
    $repListePerso = mysql_query("SELECT * FROM personnages WHERE account = '".$_SESSION['guid']."' ORDER BY level DESC");
    for ($i=0; $donListePerso = mysql_fetch_array($repListePerso); $i++)
    $perso[$i] = $donListePerso;
    $nbrPerso = mysql_num_rows($repListePerso);
    if (isset($_GET['objet']) && is_numeric($_GET['objet']))
    {
    $error = FALSE;
    if(isset($_SESSION['login'])) {
    } else {
    $error = 1;
    }
    if (!$error)
    {
    $rep = mysql_fetch_array(mysql_query("SELECT ID FROM shop_cms WHERE ID='".$_GET['objet']."'"));
    if (!isset($rep[0])) $error = 2;
    }
    if (!$error)
    {
    $item = new Item($rep[0]);
    if ($_SESSION['points'] < $rep['cout']) $error = 3;
    }
    if (!$error)
    {
    if (isset($_POST['persoSelect']))
    {
    $error = 99;
    $result = $item->buy($_POST['persoSelect']);
    }
    }
    if (!$error)
    {
    $rep = mysql_fetch_array(mysql_query("SELECT * FROM shop_cms WHERE ID='".$_GET['objet']."'"));
     
    echo '<div class="cader_blue"><img class="icon_text" src="theme/img/infos.png"> Vous êtes sur le point d\'acheter l\'item suivant pour un coût de <b>'.$rep['cout'].'</b> points <img class="icon_text" src="theme/img/cadeau.png"> :</div>';	
     
     
     
    echo '<br /><br />';
     
    echo '<div style="margin:auto;width:587px;height:260px;background:url(\'theme/img/itemBoutique.png\');">';
     
    echo '<b style="position:absolute;color:#ffffff;font-size:14px;margin-top: 10px; margin-left:10px;">'.$rep['name'].'</b>';
    echo '<b style="float:right;color:#ffffff;font-size:14px;margin-top: 10px; margin-right:10px;">Niv.'.$rep['level'].'</b>';
    echo '<span style="position:absolute;color:#514a3c;font-size:12px;margin-top: 40px; margin-left:5px;">'.$rep['pods'].' pods</span>';
    echo '<b style="position:absolute;color:#ffffff;font-size:14px;margin-top: 42px; margin-left:265px;">'.$rep['cout'].'</b>';
     
    echo '<a style="position:absolute; margin-top:37px; margin-left: 496px; width: 88px; height: 28px;" href="#"></a>';
     
     
    if ($rep['orSwf'] == 'oui'){
    echo '<object style="position:absolute;margin-top:65px; margin-left:10px;" width="115px;" height="102px" type="application/x-shockwave-flash" data="theme/boutique/swf/'.$rep['swf'].'.swf">';
    echo '<param name="movie" value="theme/boutique/swf/'.$rep['swf'].'.swf" />';
    echo '<param name="wmode" value="transparent" />';
    echo '</object>';
    }
    else
    {
    echo '<img style="position:absolute;margin-top: 65px; margin-left: 18px;" src="theme/boutique/'.$rep['png'].'.png">';
    }
     
    echo '<div style="position:absolute;margin-top:65px;margin-left:136px;height:113px;width:440px;overflow-y:scroll;color:#1c8a00;padding:5px;font-size:16px;">
    '.$rep['stats'].'
    </div>';
     
    echo '<div style="position:absolute;color:#514a3c;font-size:14px;margin-top: 191px; margin-left:7px;height:65px; width:575px;">';
    if ($rep['pano'] == 'oui'){
    echo 'Panoplie '.$rep['panoplie'].' (Catégorie : '.$rep['categorie'].')';
    }
    else
    {
    echo 'Catégorie : '.$rep['categorie'].'';
    }
    echo '<br />';
    echo $rep['description'];
    echo '</div>';
     
    echo '</div>';
     
    echo '<br /><br />';
     
     
    ?><div class="cadreText">
    <h1> Confirmer mon achat</h1>
    <img src="theme/img/hr.png" class="hr"/>
    <p class="error-message"><img src="theme/img/error.png" class="devtool"/> Vous devez impérativement avoir votre personnage <b>connecté au jeu</b> avant de valider !</p>
    <img src="theme/img/hr.png" class="hr"/>
    <p class="infos-message"><img src="theme/img/infos.png" class="devtool"/> <b>Aucun remboursement</b> ne pourra avoir lieu en cas de perte si vous ne respectez pas cette indication.</p>
    <img src="theme/img/hr.png" class="hr"/>
    <p class="error-message"><img src="theme/img/error.png" class="devtool"/> Veuillez vérifier maintenant que vous n'avez <b>pas été déconnecté</b> du jeu avant de faire l'achat.</p>
    <img src="theme/img/hr.png" class="hr"/>
    <p>Pour continuer, sélectionnez le personnage <b>connecté</b> sur lequel vous voulez recevoir votre achat :</p>
    <br /><br />
    <?php if ($nbrPerso > 0) { ?>
    <center><form method="POST" action="">
    <select style="width:200px" class="input" name="persoSelect" class="champLong">
    <?php
    for ($i=0; $i < $nbrPerso; $i++)
    {
    ?><option value="<?php echo $perso[$i]['guid']; ?>"><?php echo $perso[$i]['name']; ?></option><?php
    }
    ?>
    </select>
    <input type="hidden" name="obj" value="<?php echo $_GET['objet']; ?>">
    <input type="submit" class="submit" value="Confirmer">
    </form></center></div>
     
    <?php } else echo "<p class='error-message'><img src='theme/img/error.png' class='devtool'/>Aucun personnage sur ce compte</p>";
    }
    if ($error)
    {
    switch ($error)
    {
     
    case 1: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> <b>Erreur :</b> Vous devez être connecté ! <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>'; break;
    case 2: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> <b>Erreur :</b> Objet introuvable ! <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>'; break;
    case 3: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> <b>Erreur :</b> Pas assez de points ! <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>'; break;
    case 6: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> Trop de commandes sont en cours, veuillez réésayer plus tard. <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>';break;
    case 99:
     
    switch ($result)
    {
     
    case 1: echo '<div class="cader_green"><img class="icon_text" src="theme/img/clean.png"> <small> Transaction effectuée avec <b>succés</b>, vous devrez recevoir votre commande dans les quelques minutes qui suivent ...</small></div><br>
    <div class="cader_red"><img class="icon_text" src="theme/img/error.png"> <b>IMPORTANT :</b> Afin de valider totalement votre commande,<br>
    il est impératif de <b>deconnecter</b> / <b>reconnecter</b> votre personnage afin de sauvegarder votre achat après l\'avoir reçus.</div><br>
    <div class="cader_red"><img class="icon_text" src="theme/img/error.png"> Les pertes suites au reboots sont rarements rendus faute de preuves, donc merci de suivre notre conseil. <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a></div>
    ';break;
    case 2: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> <b>Erreur :</b> Vous n\'avez pas assez de points. <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>';break;
    case 3: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> <b>Erreur :</b> Emulateur non connecté. <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>';break;
    case 4: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> <b>Erreur :</b> Connexion à la reception des commandes échouée. <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>';break;
    case 5: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> <b>Erreur :</b> Atribution de personnage échouée. <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>';break;
    case 6: echo '<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> Trop de commandes sont en cours, veuillez réésayer plus tard. <a href="'.$lien_shop.'"><img title="Retour à la boutique" alt="Retour à la boutique" class="icon_text" src="theme/img/back.png"></a>';break;
    }
     
    break;
    }
    }
     
    }
    else
    {
    echo "<p>Aucun objet séléctionné</p>";
    }
     
     
    echo '<br /><br />';
     
    }
    else
    {
    echo'<div class="cader_red"><img class="icon_text" src="theme/img/error.png"> Il faut être connecté pour pouvoir accéder à la boutique !</div>';
    }
    ?>
    merci !

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonjour,

    désolé mais la y'a trop d'info ^^,

    supprime tous le HTML inutile et précise les lignes ou tu test si l'utilisateur a assez de point et ou tu affiche l'erreur car la c'est incompréhensible !!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Il n'y a pas de message d'erreur sur la page (c'est bien le soucis ^^)

    En gros, les gens peuvent acheter des choses, même avec un solde de 0, il passe juste en négatif, hors il est stipulé dans le code, qu'un message d'erreur doit apparaître "Vous n'avez pas assez de points !"

    C'est une page en php pas de html ^^

    Sinon je n'y connais strictement rien :/

    Mais je sais que l'erreur viens d'ici c'est obligé !

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Après avoir vider un peu ton code j'ai vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $rep = mysql_fetch_array(mysql_query("SELECT ID FROM shop_cms WHERE ID='".$_GET['objet']."'"));
    et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ($_SESSION['points'] < $rep['cout'])
    			$error = 3;
    donc tu compare le nombre de point contenu dans ta variable $_SESSION['points'] avec j'imagine le nombre de point que tu récupère avec la requête SQL $rep sauf que dans ta requête tu ne récupère pas la colonne 'cout' donc elle n'existe pas dans ton code.

    Normalement tu devrai avoir une erreur d'apache te disant que la variable $rep['cout'] n'existe pas, regarde dans les logs apache sa t'aidera à trouver les erreurs.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Je suis sur Filezilla, et je peux voir ou ces erreurs ?

    Tu n'aurais pas skype ou Team Viewer pour que ça aille plus vite ?
    Car franchement je ne suis pas très fort en PHP ^^

    Ou alors sais-tu réparer l'erreur ?

    En tout cas merci beaucoup car franchement je ne trouverais jamais seul !

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    il faudrait que tu donne la structure de la table shop_cms, si la colonne cout existe vraiment il te suffit de rajouter cette colonne dans ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $rep = mysql_fetch_array(mysql_query("SELECT ID, cout FROM shop_cms WHERE ID='".$_GET['objet']."'"));
    sinon il faut savoir ou est stocké le nombre de point dans ta base de données et l'ajouter dans la requête SQL.

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

Discussions similaires

  1. [AJAX] bug ajax ou erreur dans mon code?
    Par tapoutapou dans le forum AJAX
    Réponses: 2
    Dernier message: 06/08/2010, 21h19
  2. Bug dans mon code source
    Par thomas969 dans le forum Débuter
    Réponses: 4
    Dernier message: 08/05/2009, 17h37
  3. [Vba-E]Bug dans mon code
    Par antoinelavigne dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 19/06/2006, 14h55
  4. Réponses: 1
    Dernier message: 21/02/2005, 12h40
  5. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35

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