Page 1 sur 1

gains suivant ratio

Posté : 27 août 2018, 11:07
par bibou51
Bonjour,
Je possède un site du style autosurf et la peronne qui m'aidais à récement tout arrêté.
Je me met donc doucement au php.
Sur mon autosurf , en plus des crédits que les membres peuvent gagner en surfant j'ai voulu ajouter la possibilité de gagner des euros.
En prenant mon temps j'y suis arrivé, mais par contre je n'arrive pas à ce que les euros gagnés soient aussi en fonction du niveau de statut vip et du ratio correspondant comme pour les crédits.
Est-ce que quelqu'un pourrais m'aider ?
Merci d'avance.

Re: gains suivant ratio

Posté : 27 août 2018, 11:48
par electralite
Salut, tu ne peux pas simplement prendre le nombre d'euros gagnés, le mettre dans une variable par exemple $euro puis tu prend dans ta base de données le grade avec le ratio qui correspond (tu met tout ça avant dans ta bdd), puis tu fais $euro = $euro * $ratio et apresn tu remet $euro dans ta bdd et c'est bon non ?

Re: gains suivant ratio

Posté : 27 août 2018, 11:59
par bibou51
Salut,
Bin en fait j'y connais pas grand chose, je débute et les bases de données c'est pas mon fort.
Sinon, voici une copie de la page que j'ai modifié pour ajouter les euros, si ça peut aider.
J'ai mis en rouge ce que j'ai ajouté pour les euros
<?php
define('include',NULL);
include('core.php');

$idmembre = (isset($_GET['id'])) ? intval($_GET['id']) : 0;


if (!isset($_SESSION['membre']) || !isset($_SESSION['connect'])) { header('Location: /compte/login'); die(); }

$ip = getip();
$timestamp_24h = time() - (24*3600);
$timestamp_12h = time() - (12*3600);
$timestamp_5mn = time() - 300;
$timestamp_1mn = time() - 60;
$timestamp_1h = time() - 3600;

$db->query("DELETE FROM surfip WHERE date < '".$timestamp_24h."' AND time = 5");
$db->query("DELETE FROM surfip WHERE date < '".$timestamp_12h."' AND time = 4");
$db->query("DELETE FROM surfip WHERE date < '".$timestamp_5mn."' AND time = 3");
$db->query("DELETE FROM surfip WHERE date < '".$timestamp_1h."' AND time = 2");
$db->query("DELETE FROM surfip WHERE date < '".$timestamp_1mn."' AND time = 1");

$sqlcounti = $db->prepare('SELECT count(id) as count FROM membres WHERE id = :id');
$sqlcounti->execute(array(':id' => $idmembre));
$counti = $sqlcounti->fetch(PDO::FETCH_OBJ);

if ($counti->count == 0) {
echo '<!DOCTYPE html><html lang="fr"><head>
<meta charset="utf-8"/>
<title>'.$sitenom.' - Surf en cours</title>
<meta name="description" content="Ce membre n\'existe pas" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
</head>
<body>Ce membre n\'existe pas</body></html>';
}
else {

$sqlinfos = $db->prepare('SELECT statut, parrain, last1, last2, niveau, auto, surf FROM membres WHERE id = :id');
$sqlinfos->execute(array(':id' => $idmembre));
$infos = $sqlinfos->fetch(PDO::FETCH_OBJ);

$sqlcount = $db->prepare('SELECT count(id) as count FROM sites WHERE membre != :id AND credits > 0 AND valid = 1 AND pause = 0 AND NOT EXISTS(SELECT id FROM blackmembre WHERE membre = :id AND lien = sites.id) AND NOT EXISTS(SELECT id FROM surfip WHERE ip = "'.$ip.'" AND site = sites.id) LIMIT 1');
$sqlcount->execute(array(':id' => $idmembre));
$count = $sqlcount->fetch(PDO::FETCH_OBJ);

if ($count->count == 0) {
echo '<!DOCTYPE html><html lang="fr"><head>
<meta charset="utf-8"/>
<title>'.$sitenom.' - Surf en cours</title>
<meta name="description" content="Il n\'y a plus de site à visiter" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
</head>
<body>Il n\'y a plus de site à visiter</body></html>';
}
elseif ((time() - $infos->surf) <= 5) {
echo '<!DOCTYPE html><html lang="fr"><head>
<meta charset="utf-8"/>
<title>'.$sitenom.' - Surf en cours</title>
<meta name="description" content="Vous surfez trop vite" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
</head>
<body>Vous surfez trop vite</body></html>';
}
else {

$rand = mt_rand(0,$count->count - 1);

$sqlsite = $db->prepare('SELECT id, url, ip FROM sites WHERE membre != :id AND credits > 0 AND valid = 1 AND pause = 0 AND NOT EXISTS(SELECT id FROM surfip WHERE ip = "'.$ip.'" AND site = sites.id) AND NOT EXISTS(SELECT id FROM blackmembre WHERE membre = :id AND lien = sites.id) LIMIT '.$rand.', 1');
$sqlsite->execute(array(':id' => $idmembre));
$site = $sqlsite->fetch(PDO::FETCH_OBJ);

$surf = time();

$sqlstatut = $db->prepare('SELECT ratio FROM statuts WHERE id = :id');
$sqlstatut->execute(array(':id' => $infos->statut));
$statut = $sqlstatut->fetch(PDO::FETCH_OBJ);

if ($infos->parrain != 0) {
$gainp = $statut->ratio*($config->parrainage/100);
$update = $db->prepare('UPDATE membres SET credits = credits + :gainp, parrainage = parrainage + :gainp WHERE id = :id');
$update->execute(array(':gainp' => $gainp, ':id' => $infos->parrain));
}

$last1 = $site->id;
$last2 = $infos->last1;
$last3 = $infos->last2;

if ($config->super == 1){
$gainsuper = $statut->ratio*(10/100);

$updatesup = $db->prepare('UPDATE super SET credits = credits + :gain WHERE etat = 1');
$updatesup->execute(array(':gain' => $gainsuper));
}
$update = $db->prepare('UPDATE sites SET visites = visites + 1, visitesjour = visitesjour + 1, credits = credits - 1 WHERE id = :id');
$update->execute(array(':id'=>$site->id));
if ($infos->niveau != 15) {
$update4 = $db->prepare('UPDATE membres SET progress = progress + 1 WHERE id = :id');
$update4->execute(array(':id' => $idmembre));
}

if ($infos->auto == 1){
$update2 = $db->prepare('UPDATE membres SET creditsjour = creditsjour + :gain, visitesjour = visitesjour + 1, visites = visites + 1, euros= euros + 0.000011, visitesmois = visitesmois + 1, surf = :surf, last1 = :last1, last2 = :last2, last3 = :last3 WHERE id = :id');
$update2->execute(array(':gain' => $statut->ratio, ':surf' => $surf, ':last1' => $last1, ':last2' => $last2, ':last3' => $last3, ':id' => $idmembre));
$updateauto = $db->prepare('UPDATE sites SET credits = credits + :gain WHERE membre = :membre ORDER BY rand() LIMIT 1');
$updateauto->execute(array(':gain' => $statut->ratio, ':membre' => $idmembre));
}
else {
$update2 = $db->prepare('UPDATE membres SET credits = credits + :gain, creditsjour = creditsjour + :gain, visitesjour = visitesjour + 1, visites = visites + 1, euros= euros + 0.000011, visitesmois = visitesmois + 1, surf = :surf, last1 = :last1, last2 = :last2, last3 = :last3 WHERE id = :id');
$update2->execute(array(':gain' => $statut->ratio, ':surf' => $surf, ':last1' => $last1, ':last2' => $last2, ':last3' => $last3, ':id' => $idmembre));
}

if ($site->ip != 0) {
$insert = $db->prepare('INSERT INTO surfip SET ip = :ip, site = :site, date = :date, time = :time');
$insert->execute(array(':ip' => getip(), ':site' => $site->id, ':date' => time(), ':time' => $site->ip));
}

$sqlinfos2 = $db->prepare('SELECT progress FROM membres WHERE id = :id');
$sqlinfos2->execute(array(':id' => $idmembre));
$infos2 = $sqlinfos2->fetch(PDO::FETCH_OBJ);

$max = 0; $gainniv = 0;
$sqlniv = $db->prepare('SELECT max, gain FROM niveaux WHERE id = :id');
$sqlniv->execute(array(':id' => ($infos->niveau+1)));
$niv = $sqlniv->fetch(PDO::FETCH_OBJ);
$max = $niv->max; $gainniv = $niv->gain;

if ($infos2->progress >= $max && $infos->niveau != 15) {
$upgrade = ($infos->niveau == 14 && $infos->statut == 1) ? ', statut = statut + 1' : '';
$update3 = $db->prepare('UPDATE membres SET niveau = niveau + 1, progress = 0, credits = credits + :credits, creditsjour = creditsjour + :credits'.$upgrade.' WHERE id = :id');
$update3->execute(array(':credits' => $gainniv, ':id' => $idmembre));
}

echo '<!DOCTYPE html><html lang="fr"><head>
<meta charset="utf-8"/>
<title>'.$sitenom.' - Surf en cours</title>
<meta name="description" content="Chargement de la page en cours" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<style type="text/css">
body{margin:0;padding:0;background-color: #1b1919;text-align:center;color:#fff;font-size:14px;font-weight:bold;text-shadow: 0px 1px 0px rgba( 0, 0, 0, 0.7);}
</style>
</head><frameset rows="80,*" frameborder="NO" border="0" framespacing="0">
<frame name="clic" src="/topsurf.php" frameborder="0">
<frame name="clic" src="'.$site->url.'" frameborder=0></frameset><noframes><body bgcolor="#FFFFFF" text="#000000">Veuillez patienter</body></noframes></html>';
}

}

?>

Re: gains suivant ratio

Posté : 27 août 2018, 12:17
par electralite
tu t'est bien compliqué la tache avec toute ces requêtes, tu devrais finir le cours sur le mysql et apprendre quelques fonctions sql en plus avant de continuer, tu verra beaucoup de choses peuvent être faites simplement en sql mais il faut avoir les bonnes fonctions. Fini les cours sur le sql et reviens après si tu n'y arrive toujours pas ;)

Re: gains suivant ratio

Posté : 27 août 2018, 12:23
par bibou51
en fait c'est un script d'un site complet que l'on m'avais donné.
je vais continuer à chercher avant de revenir demander de l'aide

Re: gains suivant ratio

Posté : 08 sept. 2018, 19:17
par bibou51
Bonjour et merci pour votre aide.
J'ai fini par trouver la solution :
euros= euros + 0.000001*('.$statut->ratio.')