begin process at 2012 05 30 19:40:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

Autre

 > 

Intégrer/modifer des points à un jeu à partir d'une BDD mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Intégrer/modifer des points à un jeu à partir d'une BDD mysql

lundi 11 janvier 2010 à 18:00:35 | Intégrer/modifer des points à un jeu à partir d'une BDD mysql

FXPHANTOM


Bonjour,
Je vous expose mon problème : j'ai créé un petit jeu simple : le but est de trouver un numéro mystère .
Je souhaites qu'à chaque fois que l'utilisateur appui sur le bouton de validation , -1 soit soustrait de son crédit et lorsque que le crédit soit à zero il le redirige vers une pages pour recharger son crédit . Ensuite donné un temps à l'utilisateur par exemple 24h pour trouver le nombre mystère et que lorsque le temps est écouler , il ne puisse plus rentrer de nombre et qu'il soit noté le pseudo du gagnant .

Donc J'ai créé une base de donnée en md5 (voir la requete sql ci dessous)

CREATE TABLE IF NOT EXISTS `utilisateurs` (
`id_user` int(10) unsigned NOT NULL AUTO_INCREMENT,
`login` varchar(50) NOT NULL DEFAULT '',
`pass` varchar(50) NOT NULL DEFAULT '',
`nom` varchar(50) NOT NULL DEFAULT '',
`prenom` varchar(50) NOT NULL DEFAULT '',
`daten` varchar(50) NOT NULL DEFAULT '',
`adresse1` varchar(50) NOT NULL DEFAULT '',
`adresse2` varchar(50) NOT NULL DEFAULT '',
`codepostal` int(10) NOT NULL,
`ville` varchar(50) NOT NULL DEFAULT '',
`pays` varchar(50) NOT NULL DEFAULT '',
`tel1` varchar(50) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
`privilege` varchar(50) NOT NULL DEFAULT '',
`credit` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id_user`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

et voici le code du jeu développé jusqu'à maintenant avec quelques indications pour aider à la compréhension :

<?php session_start(); ?>
<?php require_once('auth/connexion.php'); ?>
//jeu
<?php
if (!isset($_POST['reponse']) AND !isset($_POST['counter']))
{
$rand = rand(0,1000);
$cnt = $_SESSION['credit'];
echo 'Tentez votre chance !!! <br/>
Vous aves 100 coups pour trouver le nombre mystère compris entre 0 et 1000 <br/>';
}
else if (isset($_POST['reponse']) AND empty($_POST['reponse']))
{
$rand = $_POST['random'];
$cnt = $_SESSION['credit'];
echo 'N\'ouliez pas de mettre une reponse!!!<br/>';
}
else
{
$rand = $_POST['random'];
$cnt = $_SESSION['credit'];
$number = $_POST['reponse'];
if (preg_match('![0-9]!', $number))
{
$cnt--;

if ($number < $rand)
echo 'le nombre est superieur! <br/>';
else if ($number > $rand)
echo 'le nombre est inferieur! <br/>';
else if ($number == $rand)
{
echo 'vous avez gagné !!!<br/>';
echo '<a href="index-5.php">rejouer?</a> - <a href="#" onclick="window.close()">fermer la fenetre</a>';
exit ();
}
}
else
{
echo 'Votre réponse ne doit contenir que des chiffres !!!<br/>';
}
}

if ($cnt > 0)
{
echo
'Vous avez encore ' . $cnt . ' coups à jouer
<form action="index-5.php" method="post" name="lol">
<input type="text" name="reponse" />
<input type="hidden" name="counter" value="'. $cnt .'" />
<input type="hidden" name="random" value="'. $rand .'" />
<input type="submit" value="envoi" />
</form>';

$sql = mysql_query("SELECT credit FROM utilisateurs WHERE id_user='$id_user'");
$result = mysql_fetch_array($sql) or die(mysql_error());
$cnt = $result[0];

// Calcul des points
$pointfin = $cnt-1;

// Operation
mysql_query("UPDATE utilisateurs SET credit = $pointfin WHERE id_user='$id_user'") or die ('Erreur : '.mysql_error());

// Rappel le nombre de points
echo'<br/>Vous avez '. $pointfin .' points';

echo '<script language="javascript">document.lol.reponse.focus();</script>';
echo '<a href="#" onclick="window.close()">fermer la fenetre</a>';
}
else
{
echo 'Vous avez perdu ! Le nombre secret etait ' . $rand . ' !<br/>';
echo '<a href="index-5.php">rejouer?</a> - <a href="#" onclick="window.close()">fermer la fenetre</a>';
}
?>

quand aprés identification du membre et redirection du membre à la page du jeu, j'ai les soucis suivant :

1- lorsque l'on joue au jeu : il passe de 200 points à 199 points mais ne descend pas en dessous et 199 n'est pas inscrit dans la base de donnée .

2- sur ma page j'ai les deux erreurs suivantes :

Notice: Undefined variable: id_user in C:\Program Files\EasyPHP5.3.0\www\site01\jeu.php on line 52

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP5.3.0\www\site01\jeu.php on line 53
Erreur de syntaxe pr&#65533;s de '' &#65533; la ligne 1

En vous remerciant par avance pour votre aide .
lundi 11 janvier 2010 à 19:29:46 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

Tonio_35

Réponse acceptée !

Il permet de gagner de l argent ton jeu ? Parce que si oui, j'y joue toute suite... C'est quoi l'adresse ?

Je te met sur la piste : Clique droit > Code source de la page...

Pour tes questions
1 - En sql, tu as le droit de faire UPDATE utilisateurs SET macoloneint = macoloneint-1 WHERE id_user='12'
Ensuite, réponse à 1 et 2 :
Une Notice php, n'est pas une erreur mais une information. Voyons voir :
Code :
Notice: Undefined variable: id_user in C:\Program Files\EasyPHP5.3.0\www\site01\jeu.php on line 52 

Notice = Information
Undefined variable: id_user = Une variable est indéfinie mais utilisée
in C:\Program Files\EasyPHP5.3.0\www\site01\jeu.php on line 52 = Dans le fichier jeux.php sur la ligne 52

Code :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP5.3.0\www\site01\jeu.php on line 53 

Warning = La encore ce n'est pas une erreur qui bloque le déroulement de l'application mais c'est une erreur sur la ligne, les resultats serons donc fossés
mysql_fetch_array() expects parameter 1 to be resource = La c'est l'erreur, elle dit que ta requete semble incorrect (Probablement du à l'erreur du dessus)

_________________________________
Min iPomme
lundi 11 janvier 2010 à 20:00:14 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

FXPHANTOM

Réponse acceptée !
Bonsoir, merci pour ta réponse et ça sera avec grand plaisir que je te donnerai l'adresse du site mais il faut déja que celui-ci fonctionne ... ;-)

En tout cas, Merci de t'interesser à mon sujet,
donc je me suis un peu servi de ce que tu m'as donné comme info . le code inséré en haut est jeu.php La ligne 52 correspond à la partie du code suivant :

$sql = mysql_query("SELECT credit FROM utilisateurs WHERE id_user='$id_user'");

j'ai modifié le code par ;

$sql = "UPDATE utilisateurs SET credit='credit'-1 WHERE id_user='$id_user'";

et j'ai toujours le même code informatif ...
lundi 11 janvier 2010 à 20:17:53 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

FXPHANTOM

Réponse acceptée !
excuse moi c'est cette ligne g modifié :

mysql_query("UPDATE utilisateurs SET credit = $pointfin WHERE id_user='$id_user'")
lundi 11 janvier 2010 à 21:39:58 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

Tonio_35

Réponse acceptée !

Essai :

Code :
$sql = "UPDATE utilisateurs SET credit=credit-1 WHERE id_user='$id_user'"; 

Tu as le droit de faire des opérations sur une colonne d'une table avec :
UPDATE matable SET colonne=colonne-1

_________________________________
Min iPomme
lundi 11 janvier 2010 à 22:21:30 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

FXPHANTOM

Réponse acceptée !
ben j'ai essayé , mais je m'aperçois que le soucis vient toujours de la ligne 52 :

(ligne 52)
$sql = mysql_query("SELECT credit FROM utilisateurs WHERE id_user='$id_user'");

et non de la (ligne61):
$sql = "UPDATE utilisateurs SET credit=credit-1 WHERE id_user='$id_user'" or die ('Erreur : '.mysql_error());

tes modifications m'ont quand même permis de retirer un message ... mais il en a tout de même un qui perciste :

Notice: Undefined variable: id_user in C:\Program Files\EasyPHP5.3.0\www\site01\jeu.php on line 52

Et je ne vois vraiment pas d'où vient l'erreur !!!

ARRRRFFFFF
lundi 11 janvier 2010 à 23:15:41 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

FXPHANTOM

Réponse acceptée !
Bon j'ai trouvé d'où venez le soucis du moins je penses... j'ai inséré la ligne : $id_user = $_SESSION['id_user'];

si tu souhaites voir la modif j'ai indiqué les 3 modifs par " // modification que j'ai apportée" pour voir si je n'ai pas fait pire que mieux.

Donc je te reporte le nouveau code (voir ci-dessous) mais il refuse quand même de soustraire - 1 à ma colonne "crédit" pourtant plus de message et pas d'erreurs :

<?php require_once('auth/connexion.php'); ?>
<?php
if (!isset($_POST['reponse']) AND !isset($_POST['counter']))
{
$rand = rand(0,1000);
$cnt = $_SESSION['credit']; // modification que j'ai apportée
$id_user = $_SESSION['id_user'];
echo 'Tentez votre chance !!! <br/>
Vous aves 200 coups pour trouver le nombre mystère compris entre 0 et 1000 <br/>';
}
else if (isset($_POST['reponse']) AND empty($_POST['reponse']))
{
$rand = $_POST['random'];
$id_user = $_SESSION['id_user']; // modification que j'ai apportée
$cnt = $_SESSION['credit'];
echo 'N\'ouliez pas de mettre une reponse!!!<br/>';
}
else
{
$rand = $_POST['random'];
$cnt = $_SESSION['credit'];
$number = $_POST['reponse'];
$id_user = $_SESSION['id_user']; // modification que j'ai apportée
if (preg_match('![0-9]!', $number))
{
$cnt--;

if ($number < $rand)
echo 'le nombre est superieur! <br/>';
else if ($number > $rand)
echo 'le nombre est inferieur! <br/>';
else if ($number == $rand)
{
echo 'gagné!!!<br/>';
echo '<a href="index-5.php">rejouer?</a> - <a href="#" onclick="window.close()">fermer la fenetre</a>';
exit ();
}
}
else
{
echo 'Votre réponse ne doit contenir que des chiffres !!!<br/>';
}
}

if ($cnt > 0)
{
echo
'Vous avez encore ' . $cnt . ' coups à jouer
<form action="index-5.php" method="post" name="lol">
<input type="text" name="reponse" />
<input type="hidden" name="counter" value="'. $cnt .'" />
<input type="hidden" name="random" value="'. $rand .'" />
<input type="submit" value="envoi" />
</form>';
$sql = mysql_query("SELECT credit FROM utilisateurs WHERE id_user='$id_user'");
$result = mysql_fetch_array($sql) or die(mysql_error());

$cnt = $result[0];

// Calcul des points
$pointfin = $cnt;
// Operation
$sql = "UPDATE utilisateurs SET credit=credit-1 WHERE id_user='$id_user'" or die ('Erreur : '.mysql_error());
// Rappel le nombre de points
echo'<br/>Vous avez '. $pointfin .' points';

echo '<script language="javascript">document.lol.reponse.focus();</script>';
echo '<a href="#" onclick="window.close()">fermer la fenetre</a>';
}
else
{
echo 'Vous avez perdu ! Le nombre secret etait ' . $rand . ' !<br/>';
echo '<a href="index-5.php">rejouer?</a> - <a href="#" onclick="window.close()">fermer la fenetre</a>';
}
?>

mardi 12 janvier 2010 à 09:22:39 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

Tonio_35

Réponse acceptée !
1 - Es tu sur que tu as défini ta session quelque part ?
Au pire fais un echo de $sql pour voir...
2 - Il faut absolument revoir ton système de jeux... Comme ca moi je gagne à chaque fois.... Comme je t'ai dit plus haut :

Je te met sur la piste : Clique droit > Code source de la page...




_________________________________
Min iPomme
mardi 12 janvier 2010 à 11:41:15 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

FXPHANTOM

Réponse acceptée !
salut!
ben pour te dire la page jeu.php est reliée par une autre page comptemembre.php par la fonction "require_once" donc jeu.php détecte bien la session utilisateurs et j'ai même testé le fichier jeu.php sans passer par la page de connexion du membre et il était donc impossible d'accéder à la page pour ici tout fonctionne très bien !

Donc j'ai utilisé le fameux clique droit , mais ça ne m'inspire pas de trop (mon niveau trop faible en programmation pour voir entre les lignes ), je vais tout de même revérifié le code de mon jeu, je penses que l'erreur doit venir de là .

Je vais potasser le code, je te tiendrai au courant de la suite des évènement .

mardi 12 janvier 2010 à 17:51:02 | Re : Intégrer/modifer des points à un jeu à partir d'une BDD mysql

FXPHANTOM

Réponse acceptée !
Bon ça avance tout doucement , j'ai trouvé comment effectué le décompte à partir de "credit" de ma base de donnée ... J'ai modifié dans le 2e et 3e paragraphe du code:

$cnt = $_SESSION['credit']; par $cnt = $_POST['counter'];

maintenant il reste plus qu'à régler le problème de la mise a jour de 'credit' dans la base de donnée du membre aprés chaque validation du nombre mystère .

1 2

Cette discussion est classée dans : jeu, echo, not, default, varchar


Répondre à ce message

Sujets en rapport avec ce message

Problème de débutant appel Mysql [ par napster24 ] Bonjour tout le monde, voilà j'ai récupérer un script fonctionnant en php et faisant appel à du SQL. Ce site est en faite un site de Direct Download L ipn paypal projet [ par jerome33610 ] Bonjour, je suis novice en php ( j'apprend ), Je suis en train de créer un site en php histoire d'apprendre les ficelles, tout les sites que j'ai f comparaison avec php/mysql [ par cyrilherve ] bonjour à tous ,je developpe depuis avec php/mysql et j'utlise pour cela wamp 2.0je suis confronté à un probleme de depuis peut, voici mon code:[CODE] Problème avec mon fichier sql [ par pierrehs ] Bonjour, Quand j'importe le fichier sql.sql PHPMyAdmin m'indique cette erreur [i]requête SQL: -- -- Database -- CREATE TABLE `settings` ( `id` INT Problème de Foreign Key avec MySQL [ par benoit74 ] BonjourVoilà un mon cas:CREATE TABLE `langues` ( `IDLangue` char(3) NOT NULL, `Langue` varchar(20) NOT NULL default 'fr', `Traducteur` varchar(20), Création d'une table [ par panpan ] Voici mon codes pour créé un nouvelle table dans ma base de bonnée:CREATE TABLE membres (clef int(11) NOT NULL auto_increment,pseudo varchar(25) NOT N Creation d'une table dans ma base de donnée [ par panpan ] Voici mon codes pour créé un nouvelle table dans ma base de bonnée:CREATE TABLE membres (clef int(11) NOT NULL auto_increment,pseudo varchar(25) NOT N creation *.sql [ par westsider ] bonjour,je cherche un script pour creer un fichier *.sql coéplet, j'en ai qui fait ca :create table geneve ( id int(11) not null auto_increment, tit besoin d'aide pour une analyse [ par speedylol ] j'aurais besoins d'une analyse suivant merise pour c'est table ,j'ai perdu toute mon analyse et je doit terminée mon mémoire pour remettre ce soir il Adapter un moteur de recherche déjà existant. [ par hametsu ] Bonjour, je débute en php, et j'aimerai savoir si c'est possible d'adapeter un moteur de recherche présent dans un module de mon phpnuke, sur un autre


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales