Résolu Prise en compte de modification BDD PDO

Mat'

Membre
Inscription
6 Août 2016
Messages
25
Réactions
3
Points
36
Bonjour :RG:

Je suis actuellement en train de faire un système de points en PDO ce qui a été fais mais dès que les points sont débité, c'est comme si je l'ai est encore, je dois obligatoirement me reconnecter pour que je ne puisse puis faire l'achat, donc mes points enlevé pris en compte. Il me semble que c'est en rapport avec les cookies non ?

Merci!
 

Mat'

Membre
Inscription
6 Août 2016
Messages
25
Réactions
3
Points
36
heu pas compris tu mélanges trop de truck qui n'on rien a voir


Pourquoi parles-tu de cookie ? tu as juste a récup le pseudo du gars, voir si il a assez d'argent, retiré puis livré pas besoin de cookie ou autre
Justement, sa lui retire les points mais il a quand même accès à la page de commande qui elle autorisé seulement pour ceux ayant les points nécessaire
 

Florian.

Premium
Inscription
8 Août 2012
Messages
4 251
Réactions
1 220
Points
14 353
Justement, sa lui retire les points mais il a quand même accès à la page de commande qui elle autorisé seulement pour ceux ayant les points nécessaire
Ben tu check dans ta BDD tout simplement après je c'est pas comment ta BDD elle est donc ça va être complexe

Genre tu récup ses points et tu fait un if(lenombredepoint >= achat){Tu affiches la page}else{Il vous manque des points}
 

Mat'

Membre
Inscription
6 Août 2016
Messages
25
Réactions
3
Points
36
Ben tu check dans ta BDD tout simplement après je c'est pas comment ta BDD elle est donc ça va être complexe

Genre tu récup ses points et tu fait un if(lenombredepoint >= achat){Tu affiches la page}else{Il vous manque des points}
J'ai fais ça
PHP:
if(isset($_SESSION['id']) AND $_SESSION['points'] > 499){
  $g_request = $bdd->prepare('SELECT * FROM users WHERE id = ?');
  $g_request->execute(array($_SESSION['id']));
  $r = $g_request->fetch();
} else {
  header('Location: /');
}
 

Florian.

Premium
Inscription
8 Août 2012
Messages
4 251
Réactions
1 220
Points
14 353
J'ai fais ça
PHP:
if(isset($_SESSION['id']) AND $_SESSION['points'] > 499){
  $g_request = $bdd->prepare('SELECT * FROM users WHERE id = ?');
  $g_request->execute(array($_SESSION['id']));
  $r = $g_request->fetch();
} else {
  header('Location: /');
}
Mouais je ferrais plus

Code:
  $g_request = $bdd->prepare('SELECT * FROM users WHERE id = ?');
  $g_request->execute(array($_SESSION['id']));
  $r = $g_request->fetch();
if(isset($r['points'] >= 499){
ton code
} else {
  header('Location: /');
}
 

Mat'

Membre
Inscription
6 Août 2016
Messages
25
Réactions
3
Points
36
Chez pas ce que tu veux en gros c'est quand il est connecter + assez de point, mais je viens de capter faut que tu vérifies qu'avant il soit bien connecter sinon tu pourrais avoir des erreurs

Avant la requete SQL

J'ai mis ça mais sa me fait une erreur
PHP:
require_once('includes/settings.php');
if(isset($_SESSION['id'])){}else{header('Location: login');}

$g_request = $bdd->prepare('SELECT * FROM users WHERE id = ?');
  $g_request->execute(array($_SESSION['id']));
  $r = $g_request->fetch();
if(isset($r['points'] >= 499){
} else {
  header('Location: /');
}
 

Florian.

Premium
Inscription
8 Août 2012
Messages
4 251
Réactions
1 220
Points
14 353
J'ai mis ça mais sa me fait une erreur
PHP:
require_once('includes/settings.php');
if(isset($_SESSION['id'])){}else{header('Location: login');}

$g_request = $bdd->prepare('SELECT * FROM users WHERE id = ?');
  $g_request->execute(array($_SESSION['id']));
  $r = $g_request->fetch();
if(isset($r['points'] >= 499){
} else {
  header('Location: /');
}
Hum dans ce cas la
PHP:
if(empty($_SESSION['id'])){
Pas connecter
} else{
$g_request = $bdd->prepare('SELECT * FROM users WHERE id = ?');
  $g_request->execute(array($_SESSION['id']));
  $r = $g_request->fetch();
  if($r['points'] >= 499){
Il a assez de points et il peux Buy
}else{
Pas assez de points}
}
 
Cette réponse a aidé l'auteur de cette discussion !

Mat'

Membre
Inscription
6 Août 2016
Messages
25
Réactions
3
Points
36
Hum dans ce cas la
PHP:
if(empty($_SESSION['id'])){
Pas connecter
} else{
$g_request = $bdd->prepare('SELECT * FROM users WHERE id = ?');
  $g_request->execute(array($_SESSION['id']));
  $r = $g_request->fetch();
  if($r['points'] >= 499){
Il a assez de points et il peux Buy
}else{
Pas assez de points}
}
Ah parfait, merci beaucoup :)
 
Haut