caviar-ou-oeufs-de-lompes
-
26 févr. 2009 à 22:03
youyou1975
Messages postés1Date d'inscriptionmardi 29 décembre 2009StatutMembreDernière intervention29 décembre 2009
-
29 déc. 2009 à 12:48
Bonjour,
Celà fais plusieurs jours que je cherche et ne comprends pas.
Malgrés toutes mes recherches a ce sujet, j'ai éssayé des trucs mais le problème reste le même.
J'aimerai savoir pourquoi d'aprés ce codage (fait par un autre a l'origine) pourquoi le membre lorsqu'il valide un code rentabiliweb valide, il gagne toujours le cadeau malgrés que le compteur du cadeau n'est pas atteind ?
Voici le code de sécurité de renta:
<?
/**
* Protection micropaiement Rentabiliweb
*/
session_start();
// id du document protégé
$idprotect = "XXXXX";
// PHP5 avec register_long_arrays désactivé?
if (!isset($HTTP_GET_VARS))
{
$HTTP_SESSION_VARS = $_SESSION;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_GET_VARS = $_GET;
}
//construction de la requête
if ($idprotect==$HTTP_GET_VARS[id])
{
$requete = "http://secure.rentabiliweb.com/Micropaiement.php?act=ss&";
$requete .= $HTTP_SERVER_VARS['QUERY_STRING'];
$requete .= "&REMOTE_ADDR=".$HTTP_SERVER_VARS['REMOTE_ADDR'];
$tabrep = @file($requete);
}
else
{
unset($tabrep);
}
if($tabrep[0] == "OUI")
{
$HTTP_SESSION_VARS["RentaSess"] = true;
// Ici le code de votre page protégé
// ou bien une requete dans votre base de données suivis d'une redirection
}
else
{
$HTTP_SESSION_VARS["RentaSess"] = false;
header("Location: http://www.XXXXXXX.XXX/erreur.php");
exit(0);
}
?>
Juste en dessous, la page que j'ai modifié et qui fait gagner le membre a chaque coup ! (Donc le souci que je ne trouve pas) :
<?
/**
* Protection micropaiement Rentabiliweb
*/
if($_GET['fini']==""){
// id du document protégé
$idprotect = "XXXXX";
// PHP5 avec register_long_arrays désactivé?
if (!isset($HTTP_GET_VARS))
{
$HTTP_SESSION_VARS = $_SESSION;
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_GET_VARS = $_GET;
}
//construction de la requête
if ($idprotect==$HTTP_GET_VARS[id])
{
$requete = "http://secure.rentabiliweb.com/Micropaiement.php?act=ss&";
$requete .= $HTTP_SERVER_VARS['QUERY_STRING'];
$requete .= "&REMOTE_ADDR=".$HTTP_SERVER_VARS['REMOTE_ADDR'];
$tabrep = @file($requete);
}
else
{
unset($tabrep);
}
if($tabrep[0] == "OUI")
{
$HTTP_SESSION_VARS["RentaSess"] = true;
// Ici le code de votre page protégé
{
echo'<img border=0 src="" width=1 height=1>';
$DATAS = $HTTP_GET_VARS["DATAS"];
$game = $DATAS;
$querychamp = mysql_query("SELECT * FROM $tablecompteurs WHERE id='$game'",$db);
$champ = mysql_fetch_array($querychamp);
$actuel = $champ['valeur'];
$maximum = $champ['maxi'];
}
}
}
// + 0.10 cents par appel
$querygains = mysql_query("SELECT * FROM membre WHERE id_membre='$id_membre'",$db);
$champgains = mysql_fetch_array($querygains);
$actuelgains = $champgains['gains'];
$gains = $actuelgains+$GainParCode;
$querygainsupdate = "UPDATE membre SET gains = '$gains' WHERE id_membre='$id_membre'";
$querygains_result = mysql_query($querygainsupdate,$db);
// + 0.10 cents par appel FIN
// + 0.10 cents par appel pour parrain
if(isset($parrain))
{
$querygains = mysql_query("SELECT * FROM membre WHERE pseudo='$parrain'",$db);
$champgains = mysql_fetch_array($querygains);
$actuelgains = $champgains['gains'];
$gains = $actuelgains+$GainParCode;
$querygainsupdate = "UPDATE membre SET gains = '$gains' WHERE pseudo='$parrain'";
$querygains_result = mysql_query($querygainsupdate,$db);
}
// + 0.10 cents par appel pour parrain FIN
?>
<?
// SI LE TICKET EST GAGNANT ON REDIRIGE VERS LA PAGE GAGNANT.PHP
// ET ON REMET A ZERO LE COMPTEUR
if($actuel == $maximum)
{
$query3 = "UPDATE $tablecompteurs SET valeur = '1' WHERE id='$game' ";
$mysql_result3 = mysql_query($query3,$db);
$cgagnes = $champ['cgagnes']+1;
$query5 = "UPDATE $tablecompteurs SET cgagnes = '$cgagnes' WHERE id='$game' ";
$mysql_result5 = mysql_query($query5,$db);
$date = date("Y-m-d");
$heure = date("H:i:s");
$querywinner = "INSERT INTO gagnant (id_gagnant, cadeaux, gagnant, date, time, code, statut_gagnant) VALUES ('','$DATAS','$id_membre','$date', '$heure', '$RECALL', '0') ";
$mysql_result6 = mysql_query($querywinner,$db);
$left= $i - $i2 - 1;
echo "Bravo! Vous avez gagné !<br>";
if($left > 0){
echo"Et les $left codes en trop que vous avez entrés ne sont pas utilisés.";
}
}
else
{
$actuel = $actuel+1;
$query2 = "UPDATE $tablecompteurs SET valeur = '$actuel' WHERE id='$game' ";
$mysql_result2 = mysql_query($query2,$db);
$cperdus = $champ['cperdus']+1;
$query9 = "UPDATE $tablecompteurs SET cperdus = '$cperdus' WHERE id='$game' ";
$mysql_result9 = mysql_query($query9,$db);
$date = date("Y-m-d");
$heure = date("H:i:s");
$queryperdant = "INSERT INTO perdant (id, cadeaux, perdant, date, time, code) VALUES ('','$DATAS','$id_membre','$date', '$heure', '$RECALL') ";
$mysql_result7 = mysql_query($queryperdant,$db);
$id = $DATAS;
$querychamp = mysql_query("SELECT * FROM $tablecompteurs WHERE id='$id'",$db);
while( $champ = mysql_fetch_array($querychamp))
$appel = $champ['maxi'] - $champ['valeur'] + 1;
{
echo '<center><br><br><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Désolé ! Vous n\avez pas gagné !<br><br>
Plus que <font color="red"><strong>'. $appel . ' appels</strong></font>, <a href="javascript:window.history.back()"><strong>recommencez vite ICI</strong></a></center><br><br></font><br /><br />';
}
}
// ou bien une requete dans votre base de données suivis d'une redirection
///else
////{
//// $HTTP_SESSION_VARS["RentaSess"] = false;
//// header("Location: http://www.XXXXX.XXX/erreur.php");
//// exit(0);
/////}
?>
Merci pour ceux qui prendront quelques minutes pour me répondre si vous trouvez l'erreur... Moi je ne suis pas codeur mais je commence seulement, et là je ne vois pas.
Je suis resté toute la soirée dans l'attente d'une réponse, mais bon tampis.
J'éspère qu'un programmeur répondra et pourra m'aider sur ce problème, je suis débutant et j'ai du mal a avancer dans mon projet de developpement de ce script.
Quelqu'un pourrai se pencher quelques minutes sur mon problème s'il vous plait?
Je pense que ce n'est pas compliqué mais je ne m'y connais pas suffisament pour trouver tout seul pourquoi a chaque code valide entré, le membre gagne le lot alors que le compteur n'est pas atteind.
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.
29 déc. 2009 à 12:48
contact moi sur gregtatoo@free.fr