Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

Bug mineur : Vote comptabilisé


marllow

Question

[bug vote]Version des files : 2012Domaine (Base de données, Core, etc.) : SiteVotre niveau (débutant, intermédiaire, avancé) : intermédiaireDescription du problème : Bonjour alors voilà j'ai un tout petit soucis mineur ça n'empêche rien au fonctionnement du système de vote comptabilisé mais ça dérange visuellement j'ai ce message qui arrive quand j'accède a ma page de vote :

( ! ) Notice: Undefined index: action in C:\wamp\www\pages\Vote.php on line 33Call Stack#	Time	Memory	Function	Location1	0.0009	36166888	{main}( )	..\index.php:02	0.9996	36520608	include( 'C:\wamp\www\pages\Vote.php' )	..\index.php:190

Voici ma page de vote :

<?php if($key_secu != "Kotus&MonsterSontGeniaux:97528643@B$") { exit(); } ?>                Votez pour nous !                <?php        $credit = '30';        $credit_2 = '30';        if (is_connecter()) {            $login = $_SESSION['pseudo'];            $fetcher = bdd('account')->query("SELECT last_vote,last_vote1 FROM account WHERE login='$login'")->fetch();            $last1 = $fetcher['last_vote'];            $last2 = $fetcher['last_vote1'];            $next_vote = $last1 + 5450;            $next_vote2 = $last2 + 5450;            $time1 = time();            if ($next_vote <= $time1 OR $last1 == "0" OR $last1 == "") {                $topmetin = "TRUE";            } else {                $topmetin = "FALSE";            }            if ($next_vote2 <= $time1 OR $last2 == "0" OR $last2 == "") {                $topsitemt2 = "TRUE";            } else {                $topsitemt2 = "FALSE";            }La ligne apparement buggé =            if ($_GET['p'] == "Vote" && $_GET['action'] != "ok") 			{                $v = bdd('website')->query('SELECT lien_vote, lien_vote2 FROM config LIMIT 1')->fetch();                if ($topmetin == "TRUE") 				{                    ?>                                            


                <?php 				} 				else 				{                                         $debut = $fetcher['last_vote'] + 5450; // Calcule temps où le joueur à voté + 1h30 en s                    $dif = $debut - $time1; //Différence de temps entre l'heure actuel $debut                    $heures = floor($dif / 3600);                    $reste = $dif % 3600;                    $minutes = floor($reste / 60);                    echo 'Vous pourrez de nouveau voter dans ';                 if ($heures == 0) 				 {                        echo $minutes . ' minutes.

';                 } 				 else 				 {                        echo $heures . ' heure et ' . $minutes . ' minutes.

';                 }				}						if ($topsitemt2 == "TRUE") 				{                    ?>                                            


                <?php 				} 				else 				{                                         $debut = $fetcher['last_vote1'] + 5450; // Calcule temps où le joueur à voté + 1h30 en s                    $dif = $debut - $time1; //Différence de temps entre l'heure actuel $debut                    $heures = floor($dif / 3600);                    $reste = $dif % 3600;                    $minutes = floor($reste / 60);                    echo 'Vous pourrez de nouveau voter dans ';                 if ($heures == 0) 				 {                        echo $minutes . ' minutes.

';                 } 				 else 				 {                        echo $heures . ' heure et ' . $minutes . ' minutes.

';                 }				}            } 				else {                if ($_GET['site'] == "topmetin" && $topmetin == "TRUE") {                    $i = 1;                    bdd('account')->exec("update account set last_vote=('" . time() . "'), cash=(cash+" . $credit . "), total_vote=(total_vote+" . $i . ") where login=('" . $_SESSION['pseudo'] . "')");                    echo 'Votre compte sera crédité de '.$credit.' Marques de redemption lorsque vous aurez fini le vote';                    echo'';                } 				elseif ($_GET['site'] == "topsitemt2" && $topsitemt2 == "TRUE") {                    $i = 1;                    bdd('account')->exec("update account set last_vote1=('" . time() . "'), cash=(cash+" . $credit_2 . "), total_vote=(total_vote+" . $i . ") where login=('" . $_SESSION['pseudo'] . "')");                    echo 'Merci d\'avoir voté pour nous. Vous venez d\'être crédité de '.$credit_2.' Marque de redemption.';                    echo'';                } else {                    echo'Vous allez être redirigé.';                    echo'';                }            }        } else {            echo 'Vous devez être connecté.';            echo'';        }        ?>    

Comment reproduire le problème : Petite erreur dans un rectange orangeRecherches et tests effectué : Aucun (petit soucis mineur)Résultat des recherches et tests : AucunMessage d'erreur, capture d'écran :En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 3
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

3 réponses à cette question

Messages recommandés

  • 0

Bonjour,

 

C'est l’algorithme qui est incorrect.

 

Quand l'user clique sur un des boutons de vote, l'url prend 2 paramètres : action qui est égal à "ok" et site qui est égal au nom du site de vote.

Hors pour choisir quelle action effectuer (soit afficher les boutons, soit récompenses) le script vérifie le paramètre action. S'il est différent de ok on affiche les boutons sinon on crédite le compte. Le problème est que quand l'utilisateur arrive sur la page normalement, ce paramètre n'existe pas d'où l'erreur retournée.

 

Remplace la ligne 33 par ceci :

 

if ($_GET['p'] == "Vote" && empty($_GET['action'])) 

 

A la place de vérifier sa valeur, je vérifie qu'elle n'existe pas ce qui revient au même vu que sa valeur n'a aucune importance.

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

Bonjour,

 

Le sujet contient la balise [glow=#800000][Résolu][/glow] ou reste sans réponse depuis deux semaines ou plus, de ce fait il a été déplacé dans la section "Résolu ou sans réponse".

 

Cordialement.

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.