Systéme de jetons (point)
- Accueil
- Forum
- Programmation
- PHP
- Systéme de jetons (point)
Fishing61 Le 3 mai 2016 à 20:41 (Édité le 25 janvier 2019 à 17:51)
Je souhaiterai faire un systéme avec de jetons (point) de ce type.
Pour faire cour je voudrai que dés qu'une personne clique sur un bouton "continuer" soit rediriger vers son profil et que il soit crédité d'un point (jeton). MERCI DE REPONDRE SVP :'(.
Bonne Soiré.
BeKidding Le 4 mai 2016 à 18:21 (Édité le 1 janvier 1970 à 01:00)
comme ceci ?
<?php
if(isset($_POST['continuer'])) {
$credit_token = $bdd->prepare('UPDATE TableMembre SET tokens=tokens+1 WHERE pseudo = ?');
$credit_token = $credit_token->execute(array($_SESSION['pseudo']));
}
?>
Fishing61 Le 4 mai 2016 à 18:38 (Édité le 1 janvier 1970 à 01:00)
Merci d'avance pour vos réponses.
Wistaro Le 4 mai 2016 à 23:50 (Édité le 1 janvier 1970 à 01:00)
C'est à toi de l'adapter 😀 Suivant ton besoin.
Et pour répondre à tes questions, il suffit que tu rajoutes un champs token dans ta table utilisateur.
Fishing61 Le 5 mai 2016 à 00:28 (Édité le 1 janvier 1970 à 01:00)
Je n'ai pas de table utilisateur je dois en créé une ?
Et comment fais t'on pour faire un code avec le nombre de jetons (point) qui s'affiche en temps réél pour le membre ? Et je ne c'est pas comment on pourrait faire cela, dés qu'une personne clique sur un bouton "continuer" soit rediriger vers son profil et que il soit crédité d'un point (jeton). Voila j'éspére avoir été plus claire dans mes questions.
Cordialement.
BeKidding Le 5 mai 2016 à 02:35 (Édité le 1 janvier 1970 à 01:00)
Et bien tu n'est pas obligé de créer une table utilisateurs mais alors les tokens ne seront pas attribués ... a des utilisateurs je ne comprends pas très bien le système.
Si tu n'as pas de table utilisateurs comment credite tu quelqu'un d'un token ?
Tu dois quand même bien posséder une table membre ou quelque chose qui s'y rapproche , non ?
Et comme dis au dessus tu n'est pas obligé de créer une table utilisateurs , tu peux simplement créer aussi une table token ,
avec structure comme ceci :
id_membre | tokens
ou encore :
pseudo_membre | tokens
Et pour afficher le nombre de tokens il suffit de faire un select de la table qui contient les tokens , dans mon exemple au dessus la table TableMembre
Exemple ->
$req_token = $bdd->prepare('SELECT tokens FROM TableMembre WHERE pseudo = ?');
$req_token = $req_token->execute(array($_SESSION['pseudo']));
$token_nb = $req_tokens->fetch();
$tokens = $token_nb['tokens'];
/*
TON CODE
.....
.....
*/
?>
<?= $tokens ?>
Fishing61 Le 5 mai 2016 à 09:44 (Édité le 1 janvier 1970 à 01:00)
Fishing61 Le 5 mai 2016 à 09:45 (Édité le 1 janvier 1970 à 01:00)
BeKidding Le 5 mai 2016 à 09:54 (Édité le 1 janvier 1970 à 01:00)
Tu dois juste dire a ta requete SQL que tu ajoute un Tokens dans la table Token OU l'ID_membre de Tokens = id_membres de ta table utilisateurs 😀
Fishing61 Le 5 mai 2016 à 10:03 (Édité le 1 janvier 1970 à 01:00)
Fishing61 Le 5 mai 2016 à 10:09 (Édité le 1 janvier 1970 à 01:00)
Swaap Le 5 mai 2016 à 12:33 (Édité le 1 janvier 1970 à 01:00)
<?php if(isset($_POST['continuer'])) { $credit_token = $bdd->prepare('UPDATE TableMembre SET tokens=tokens+1 WHERE pseudo = ?'); $credit_token = $credit_token->execute(array($_SESSION['pseudo'])); }
?>
Alors, avec le petit bout e HTML tu dois faire comme ceci :<form method="post">
<?php
if(isset($_POST['continuer']))
{
$credit_token = $bdd->prepare('UPDATE TableMembre SET tokens=tokens+1 WHERE pseudo = ?');
$credit_token = $credit_token->execute(array($_SESSION['pseudo']));
}
?>
<button type="submit" name="continuer">Vers mon profil</button>
</form>
Essaie cela est dis moi ton résultat Fishing61 Le 5 mai 2016 à 12:40 (Édité le 1 janvier 1970 à 01:00)
Swaap Le 5 mai 2016 à 12:46 (Édité le 1 janvier 1970 à 01:00)
Fishing61 Le 5 mai 2016 à 13:05 (Édité le 1 janvier 1970 à 01:00)
mon code
<?php
if(isset($_POST['continuer'])) { $credit_token = $bdd->prepare('UPDATE TableMembre SET tokens=tokens+1 WHERE pseudo = ?'); $credit_token = $credit_token->execute(array($_SESSION['pseudo'])); }
?>
<form method="post">
<?php
if(isset($_POST['continuer']))
{
$credit_token = $bdd->prepare('UPDATE TableMembre SET tokens=tokens+1 WHERE pseudo = ?');
$credit_token = $credit_token->execute(array($_SESSION['pseudo']));
}
?>
<button type="submit" name="continuer">Vers mon profil</button>
</form>
mes erreurs
Swaap Le 5 mai 2016 à 13:14 (Édité le 5 mai 2016 à 13:18)
<?php if(isset($_POST['continuer'])) { $credit_token = $bdd->prepare('UPDATE token SET tokens=tokens+1 WHERE id_membre = ?'); $credit_token = $credit_token->execute(array($_SESSION['pseudo'])); }?><form method="post"><?phpif(isset($_POST['continuer'])) {
$credit_token = $bdd->prepare('UPDATE TableMembre SET tokens=tokens+1 WHERE pseudo = ?'); $credit_token = $credit_token->execute(array($_SESSION['pseudo']));}
?><button type="submit" name="continuer">Vers mon profil</button></form>
Fishing61 Le 5 mai 2016 à 13:24 (Édité le 1 janvier 1970 à 01:00)
BeKidding Le 5 mai 2016 à 15:05 (Édité le 1 janvier 1970 à 01:00)
Exemple -> http://prntscr.com/b0jzv2
Ou alors tu peux simplement définir ta base de données à chaque début de page ou tu en a besoin.
En l'occurence le code sera ->
<form method="post">
<?php
$bdd = new PDO("mysql:host=localhost;dbname=NomDB", "NomUtilisateur", "MotDePasse");
$bdd->exec("SET NAMES utf8");
if(isset($_POST['continuer'])) {
$credit_token = $bdd->prepare('UPDATE tokens SET tokens=tokens+1 WHERE id_membre= ?');
$credit_token = $credit_token->execute(array($_SESSION['id']));}
?>
<button type="submit" name="continuer">Vers mon profil</button>
</form>
Fishing61 Le 5 mai 2016 à 16:56 (Édité le 5 mai 2016 à 16:59)
<form method="post">
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
$bdd->exec("SET NAMES utf8");
if(isset($_POST['continuer']))
{
$credit_token = $bdd->prepare('UPDATE tokens SET tokens=tokens+1 WHERE id_membre= ?');
$credit_token = $credit_token->execute(array($_SESSION['id']));
}
?>
<button type="submit" name="continuer">Vers mon profil</button>
</form>
Voila mon code j'ai modifier sa
$bdd = new PDO("mysql:host=localhost;dbname=NomDB", "NomUtilisateur", "MotDePasse");
par sa
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
/* Sa pose un probleme mais je me demande si je n'est pas un probleme dans ma table car j'ai juste ecrit deux mots sur deux colonnes d'habitude on mais un autoincrement ou des trucs du genres ? Aprés c'est peut étre normal.*/
BeKidding Le 5 mai 2016 à 18:30 (Édité le 1 janvier 1970 à 01:00)
Voici le code "Complet" , a toi de l'adapter après ....
<form method="post">
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
$bdd->exec("SET NAMES utf8");
if(isset($_POST['continuer']))
{
$credit_token = $bdd->prepare('UPDATE tokens SET tokens=tokens+1 WHERE id_membre= ?');
$exec = $credit_token->execute(array($_SESSION['id']));
$fetch = $credit_token->fetch();
$non_existe = $credit_token->rowCount();
if($non_existe < 1) {
$credit_token = $bdd->prepare('INSERT INTO tokens (id_membre,tokens) values (?,?)');
$credit_token = $credit_token->execute(array($_SESSION['id'],0));
}
}
?>
<button type="submit" name="continuer">Vers mon profil</button>
</form>
Et voici la vidéo pour prouver mes dires :
Fishing61 Le 5 mai 2016 à 20:40 (Édité le 1 janvier 1970 à 01:00)
BeKidding Le 6 mai 2016 à 06:18 (Édité le 1 janvier 1970 à 01:00)
tokens en varchar et lenght 255
Fishing61 Le 6 mai 2016 à 08:30 (Édité le 1 janvier 1970 à 01:00)
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||