Forum Clubic

Problème systeme de point en php

Bonjour,

Comment faire pour faire un système de point en php c’est a dire que je clic sur un lien sur mon site et je gagne un point.
Pour faire +1 a une valeur int quand je rentre sur une page.
comment faire ?

j’ai réussi mais sa bug

je ne sais pas quoi mettre a la fin de sa

mysql_query('UPDATE users SET point =(point+10) WHERE pseudo = ');

pour que quand je clic sur un lien les point aille que sur un utilisateur et pas sur tous.
car quand je clic sur le lien les points font +10 sur tous les utilisateur.

comment faire pour emperché cela?

voici mon code de la page qui ajoute de point: pastebin.com…
et voici le code de la page avec le lien pour ajouter des point : pastebin.com…

ps : j’utilise dreamweaver pour faire mon site

merci d’avance

Bonjour,

tout d’abord, je suis surpris que tu es pas d’erreur lors de l’excution de ta requête / de la page.

mysql_query('UPDATE users SET point =(point+10) WHERE pseudo = ');
Il faut que tu précise a quel utilisateur tu veux rajouter les 10points.
Tu as la variable : $_SESSION[‘MM_Username’] qui contient certainement le pseudo (à toi de savoir).

Sinon, il faut supprimer la ligne 97 : “session_start();”
Déjà lancé lgne 4.

  1. $_SESSION[‘MM_Username’];
  2. mysql_query('UPDATE users SET point =(point+10) WHERE pseudo = $_SESSION[pseudo] ');

j’ai essayer mais aucun point ne s’ajoute

A mon avis, “$_SESSION[pseudo]” n’existe pas.
Tu es sur de ne pas avoir de message d’erreur dans ta page ?

Met en commentaire la ligne de ta redirection (la ligne 99)
Et dans le body de la page rajoute


<?php
 echo "Username :".$_SESSION['MM_Username'];
 echo "Pseudo :".$_SESSION[pseudo];
?>

PS: les lignes 92 à 95 sont en double, tu peux les virer
les lignes 111 à 113 sont inutile, tu peux les virer

quand je met en commentaire je vois les erreur ,merci
Notice: Undefined index: pseudo in D:\Program Files (x86)\wamp\www\toast+depoint.php on line 105
Notice: Use of undefined constant pseudo - assumed ‘pseudo’ in D:\Program Files (x86)\wamp\www\toast+depoint.php on line 105

On avance.
Recopie sa :


<?php require_once('Connections/toast_sql.php'); ?>
<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "user_profil.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_Recordset1 = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_Recordset1 = $_SESSION['MM_Username'];
}
mysql_select_db($database_toast_sql, $toast_sql);
$query_Recordset1 = sprintf("SELECT * FROM users WHERE pseudo = %s", GetSQLValueString($colname_Recordset1, "text"));
$Recordset1 = mysql_query($query_Recordset1, $toast_sql) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);$colname_Recordset1 = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_Recordset1 = $_SESSION['MM_Username'];
}

//mysql_query('UPDATE users SET point =(point+10) WHERE pseudo = "'.$_SESSION['MM_Username'].'"'); 
//header ('location: user_profil.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Document sans titre</title>
	</head>
	<body>
		<?php
			echo $_SESSION['MM_Username'];
		?>
	</body>
</html>

Si sa t’affiche dans ta page le pseudo du la personne.

Essaye en décommentant la ligne :
//mysql_query(‘UPDATE users SET point =(point+10) WHERE pseudo = "’.$_SESSION[‘MM_Username’].’"’);

Et si sa marche, pu qu’a décommenter la redirection.

peut tu mettre sa sur pastebin
car je ne peut pas copier avec les retour a la ligne

pastebin.com…

:nexath t’es trop fort :super:
sa marche merci et j’ai une autre question qui n’as rien a voire mais comment se site fait il pour savoir le nombre de joueur connecté sur les serveur ?
www.top-minecraft.net…

Il y’a plusieurs façons de faire … La plus simple consiste à enregistrer les sessions actives dans une table dédiée à la DB (PHP permet de le faire, en écrivant son propre gestionnaire de session), et à compter le nombre d’enregistrement dans la table (chaque ligne = un user loggué = un user connecté) …

Après, tu peux affiner … Par exemple, ne comptabiliser que les joueurs ayant fait une action dans le jeux durant les X dernières minutes … Ca permet de limiter les ghosts …