Sql rajout d'une valeurs
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Alors voila j'ai fait un système de ptc ( payé pour cliqué ) sur mon site ,,,
chaque membre gagne 10point par clic mon probléme c'est que n'importe qui peut rafraichir la page pour regagné plusieurs fois les 10point
j'ai ''appris'' a écrire dans ma base de données il y a très peut de temps ( 2jour : $ )
j'aimerai savoir comment faire pour que une fois que le membre a cliqué sur le lien sa l'écrit dans la base de données pour qu'il ne puisse pas répliqué
voila le code de la page que le membre visite pour gagné les point
<?php
unset($login,$pwrd,$id);
session_start();
session_register("login","pwrd","id");
require('config_real_inc.php');
require('config_inc.php');
mysql_connect($hostnm,$usernm,$pwd);
mysql_select_db($dbName);
mysql_query("UPDATE user SET credits=credits+".$ptcajoute1." WHERE id='".$_SESSION['id']."';");
mysql_close();
?>
<?php
print ('Vous venez de gagné ');
print ($ptcajoute1);
print ('point sur votre compte');
include ('rien.php');
?>
<iframe src="<?php print ($lienptc1);?>" name="framec" width="100%" height="800" frameborder="no" id="content"></iframe>
<?php
include ('pub1.php');
include ('rien.php');
?>
( je travaille avec dreamweaver et il y a des probléme quand j'ajoute un seul include se qui éxplique le '' include ('rien.php'); " )
merci d'avance : $
Alors voila j'ai fait un système de ptc ( payé pour cliqué ) sur mon site ,,,
chaque membre gagne 10point par clic mon probléme c'est que n'importe qui peut rafraichir la page pour regagné plusieurs fois les 10point
j'ai ''appris'' a écrire dans ma base de données il y a très peut de temps ( 2jour : $ )
j'aimerai savoir comment faire pour que une fois que le membre a cliqué sur le lien sa l'écrit dans la base de données pour qu'il ne puisse pas répliqué
voila le code de la page que le membre visite pour gagné les point
<?php
unset($login,$pwrd,$id);
session_start();
session_register("login","pwrd","id");
require('config_real_inc.php');
require('config_inc.php');
mysql_connect($hostnm,$usernm,$pwd);
mysql_select_db($dbName);
mysql_query("UPDATE user SET credits=credits+".$ptcajoute1." WHERE id='".$_SESSION['id']."';");
mysql_close();
?>
<?php
print ('Vous venez de gagné ');
print ($ptcajoute1);
print ('point sur votre compte');
include ('rien.php');
?>
<iframe src="<?php print ($lienptc1);?>" name="framec" width="100%" height="800" frameborder="no" id="content"></iframe>
<?php
include ('pub1.php');
include ('rien.php');
?>
( je travaille avec dreamweaver et il y a des probléme quand j'ajoute un seul include se qui éxplique le '' include ('rien.php'); " )
merci d'avance : $
A voir également:
- Sql rajout d'une valeurs
- Logiciel sql - Télécharger - Bases de données
- Excel liste de valeurs - Guide
- Attribuer une valeur à une cellule texte excel ✓ - Forum Excel
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
- Sql lister les tables ✓ - Forum Programmation
7 réponses
Merci beaucoup : ) mais on ma aidé sur mon adresse email : D
<?php
unset($login,$pwrd,$id);
session_start();
session_register("login","pwrd","id");
require('config_real_inc.php');
require('config_inc.php');
mysql_connect($hostnm,$usernm,$pwd);
mysql_select_db($dbName);
// -----------------------------------------------------------------------------
// commencer par relever la valeur de click_done :
$result = mysql_query("SELECT click_done1 FROM user WHERE id='".$_SESSION['id']."';");
$user= mysql_fetch_array($result) ;
// puis effectuer une action ou une autre en fonction de ce que vaut click_done :
$time=$user['click_done1'];
$crok1 = date(time());
$crok2 = date($time + (24 * 60 * 60));
// si la visite date de plus de 24h on augmente les crédits et on enregistre que le click a été fait
if($crok1 >= $crok2) mysql_query("UPDATE user SET credits=credits+".$ptcajoute1.", click_done1='$crok1' WHERE id='".$_SESSION['id']."';");
// sinon on change rien aux crédits
else echo "Vous n'avez pas gagnez de point car vous avez déja visitez cette page !<p></p>"
//--------------------------------------------------------------
?>
<img src="images/compteur.gif" width="50" height="50" />
<?php
print ('La visite de cette page vous fait gagnez ');
print ($ptcajoute1);
print (' point sur votre compte');
include ('rien.php');
?>
<iframe src="<?php print ($lienptc1);?>" name="framec" width="100%" height="800" frameborder="no" id="content"></iframe>
<?php
include ('pub1.php');
include ('rien.php');
?>
Merci quand même : )
<?php
unset($login,$pwrd,$id);
session_start();
session_register("login","pwrd","id");
require('config_real_inc.php');
require('config_inc.php');
mysql_connect($hostnm,$usernm,$pwd);
mysql_select_db($dbName);
// -----------------------------------------------------------------------------
// commencer par relever la valeur de click_done :
$result = mysql_query("SELECT click_done1 FROM user WHERE id='".$_SESSION['id']."';");
$user= mysql_fetch_array($result) ;
// puis effectuer une action ou une autre en fonction de ce que vaut click_done :
$time=$user['click_done1'];
$crok1 = date(time());
$crok2 = date($time + (24 * 60 * 60));
// si la visite date de plus de 24h on augmente les crédits et on enregistre que le click a été fait
if($crok1 >= $crok2) mysql_query("UPDATE user SET credits=credits+".$ptcajoute1.", click_done1='$crok1' WHERE id='".$_SESSION['id']."';");
// sinon on change rien aux crédits
else echo "Vous n'avez pas gagnez de point car vous avez déja visitez cette page !<p></p>"
//--------------------------------------------------------------
?>
<img src="images/compteur.gif" width="50" height="50" />
<?php
print ('La visite de cette page vous fait gagnez ');
print ($ptcajoute1);
print (' point sur votre compte');
include ('rien.php');
?>
<iframe src="<?php print ($lienptc1);?>" name="framec" width="100%" height="800" frameborder="no" id="content"></iframe>
<?php
include ('pub1.php');
include ('rien.php');
?>
Merci quand même : )
Salut rodriguemarly
Ce que je ferais à ta place, c'est que j'ajouterais à la table "user" un champ "click_done", qui prendrait pour valeur 1 ou 0 :
Par défaut "click_done" vaut 0.
Quand un utilisateur clique
* si "click_done" vaut toujours 0 : tu augmentes le nombre de points (comme tu sais le faire), et tu passes "click_done" à 1 (Je pense que tu sauras le faire aussi).
* si "click_done" vaut 1 : tu fais rien, ou bien tu annonces juste à l'utilisateur qu'il faut pas rêver! (Voire même tu proposes pas du tout le lien sur lequel il faut cliquer.)
Ce que je ferais à ta place, c'est que j'ajouterais à la table "user" un champ "click_done", qui prendrait pour valeur 1 ou 0 :
Par défaut "click_done" vaut 0.
Quand un utilisateur clique
* si "click_done" vaut toujours 0 : tu augmentes le nombre de points (comme tu sais le faire), et tu passes "click_done" à 1 (Je pense que tu sauras le faire aussi).
* si "click_done" vaut 1 : tu fais rien, ou bien tu annonces juste à l'utilisateur qu'il faut pas rêver! (Voire même tu proposes pas du tout le lien sur lequel il faut cliquer.)
merci de votre réponse : )
petit probléme je sais pas faire de condition ,,,,
je sais juste ajouté une valeur : $
petit probléme je sais pas faire de condition ,,,,
je sais juste ajouté une valeur : $
Re-salut.
Désolé d'avoir tardé à répondre.
J'espère que tu auras trouvé la solution entre temps.
Dans le doute, je te donne quand même la mienne :
Je ne parlais pas de mettre une condition dans la commande mysql. Je parlais de le faire en php :
// -----------------------------------------------------------------------------
// commencer par relever la valeur de click_done :
$result = mysql_query("SELECT click_done FROM user WHERE id='".$_SESSION['id']."';");
$user= mysql_fetch_array($result) ;
// puis effectuer une action ou une autre en fonction de ce que vaut click_done :
// si click_done=0 on augmente les crédits et on enregistre que le click a été fait
if ( !$user['click_done'] ) mysql_query("UPDATE user SET credits=credits+".$ptcajoute1.", click_done=1 WHERE id='".$_SESSION['id']."';");
// sinon on change rien aux crédits
else echo "t'as déjà cliqué, bonhomme !"
// -----------------------------------------------------------------------------
Tu comprends ?
Désolé d'avoir tardé à répondre.
J'espère que tu auras trouvé la solution entre temps.
Dans le doute, je te donne quand même la mienne :
Je ne parlais pas de mettre une condition dans la commande mysql. Je parlais de le faire en php :
// -----------------------------------------------------------------------------
// commencer par relever la valeur de click_done :
$result = mysql_query("SELECT click_done FROM user WHERE id='".$_SESSION['id']."';");
$user= mysql_fetch_array($result) ;
// puis effectuer une action ou une autre en fonction de ce que vaut click_done :
// si click_done=0 on augmente les crédits et on enregistre que le click a été fait
if ( !$user['click_done'] ) mysql_query("UPDATE user SET credits=credits+".$ptcajoute1.", click_done=1 WHERE id='".$_SESSION['id']."';");
// sinon on change rien aux crédits
else echo "t'as déjà cliqué, bonhomme !"
// -----------------------------------------------------------------------------
Tu comprends ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
: O merci parfait : $
et dernière question comment faire pour que click_done se remé a 0 tout les jour a minuit ou toute les 24h ?
encore merci : )
et dernière question comment faire pour que click_done se remé a 0 tout les jour a minuit ou toute les 24h ?
encore merci : )
Côté php c'est assez simple : tu crées une page qui n'affiche rien du tout, mais qui exécute la requête mysql :
mysql_query("UPDATE user SET click_done=0")
C'est ensuite le serveur qui héberge ton site qui va charger cette page régulièrement. Tous les jours à minuit, par exemple. C'est donc le serveur qu'il faut configurer.
Le problème, c'est que tous les hébergement ne permettent pas ce genre de configurations. En hébergement gratuit, je n'en connais aucun.
J'ai eu besoin de ce genre de fonctions une fois pour un site que je développais. J'ai donc fait prendre à mon client un hébergement payant chez OVH. Ils proposent une interface simple et efficace pour cette opérations. Et de manière générale, je trouve leurs tarifs intéressant et le service de qualité. Par contre, je sais pas trop à partir de quel type d'hébergement ils offrent ce service. Je te laisse chercher toi même : https://www.ovh.com/fr/hebergement-web/
mysql_query("UPDATE user SET click_done=0")
C'est ensuite le serveur qui héberge ton site qui va charger cette page régulièrement. Tous les jours à minuit, par exemple. C'est donc le serveur qu'il faut configurer.
Le problème, c'est que tous les hébergement ne permettent pas ce genre de configurations. En hébergement gratuit, je n'en connais aucun.
J'ai eu besoin de ce genre de fonctions une fois pour un site que je développais. J'ai donc fait prendre à mon client un hébergement payant chez OVH. Ils proposent une interface simple et efficace pour cette opérations. Et de manière générale, je trouve leurs tarifs intéressant et le service de qualité. Par contre, je sais pas trop à partir de quel type d'hébergement ils offrent ce service. Je te laisse chercher toi même : https://www.ovh.com/fr/hebergement-web/
Non, attends !!
J'ai une meilleure idée.
En fait je pense qu'il serait plus simple de définir le champ "click_done" de ta base sql comme contenant des données de type DATA (en tout cas ça te dispenserai d'avoir recours à un hébergement payant) :
Par défaut "click_done" vaut 0000-00-00.
Et quand l'utilisateur clique sur le lien :
* tu les augmente sles crédits si la date contenue dans "click_done" est antérieure à la date du jour.
* tu entres la date du jour dans "click_done".
Pour obtenir la date du jour, de mémoire c'est : $aujourdhui=date('Y-m-d');
(voir https://www.php.net/manual/en/function.date.php
Possible que tu rencontres quelques soucis pour comparer les deux dates. Je sais plus trop...
Si tu galères fais moi signe.
J'ai une meilleure idée.
En fait je pense qu'il serait plus simple de définir le champ "click_done" de ta base sql comme contenant des données de type DATA (en tout cas ça te dispenserai d'avoir recours à un hébergement payant) :
Par défaut "click_done" vaut 0000-00-00.
Et quand l'utilisateur clique sur le lien :
* tu les augmente sles crédits si la date contenue dans "click_done" est antérieure à la date du jour.
* tu entres la date du jour dans "click_done".
Pour obtenir la date du jour, de mémoire c'est : $aujourdhui=date('Y-m-d');
(voir https://www.php.net/manual/en/function.date.php
Possible que tu rencontres quelques soucis pour comparer les deux dates. Je sais plus trop...
Si tu galères fais moi signe.