Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: frankypotter le le 01-05-2005 a 02:19:42

Titre: Incrémenter une variable
Posté par: frankypotter le le 01-05-2005 a 02:19:42

EDIT: Voir bas de mon message

J'ai une page PHP (quiz.php), qui utilise les sessions.

J'ai la variable $_SESSION["res1"], qui, si le visiteur vient juste d'arriver sur la page, est automatiquement fixée à 0.

Lorsqu'il clique sur un lien, (quiz.php?id=4&res=bon par exemple), si le paramètre «res» est «bon», la variable $_SESSION["res1"] doit est incrémentée de 1 (si elle était 2, elle doit devenir 3).

J'ai fait le code suivant, mais la variable reste toujours à 1. Est-ce que vous avez une explication?


Code:

<?php

session_start();

//tout le reste de mon code

if(isset($_SESSION["res1"])) $_SESSION["res1"] = "0";

if(isset($_GET["res"])) $res = $_GET["res"];
else $res = "bon";

if ($res == 'bon')
{
$commentaire = $commentairebon;
$_SESSION["res1"]++;
}
elseif ($res == 'mal')
{
$commentaire = $commentairemal;
//ici, la variable n'est pas incrémentée!
}

$score = $_SESSION["res1"];

?>


Merci beaucoup de votre aide!

FRANÇOIS

------------------
J'ai modifié mon code:
$_SESSION["res1"] = $_SESSION["res1"]++;

Mais maintenant, lorsque je fais:
echo $_SESSION["res1"]
J'obtiens absolument rien. Comme si la variable était vide.

Comment fait-on pour modifier le contenu d'une variable de session?

Titre: Re:Incrémenter une variable
Posté par: Gab23 le le 02-05-2005 a 01:54:18

Salut,

J'ai modifié une ligne.

if(!isset($_SESSION["res1"])) $_SESSION["res1"] = 0;

Tu avais oublié un ! et il ne faut pas mettre de " autour du zéro.
Citation:
Comment fait-on pour modifier le contenu d'une variable de session?


C'est normal que ça n'affiche rien, tu as définit $_SESSION["res1"] comme un chaine de caractère. PHP croit que tu essaie d'incrémenter du texte :s

Voilà, ;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.