Se connecter avec
S'enregistrer | Connectez-vous

Enorme souci PHP!!!!!!!!

Dernière réponse : dans Programmation

Salut à tous...
J'ai créé une fonction que voici:
function modificateur($valeur)
{
if ($valeur == 3)
{
$_SESSION['value'] = -4;
}
elseif (($valeur == 4) or ($valeur == 5))
{
$_SESSION['value'] = -3;
}
elseif (($valeur == 6) or ($valeur == 7))
{
$_SESSION['value'] = -2;
}
elseif (($valeur == 8) or ($valeur == 9))
{
$_SESSION['value'] = -1;
}
elseif (($valeur == 10) or ($valeur == 11))
{
$_SESSION['value'] = 0;
}
elseif (($valeur == 12) or ($valeur == 13))
{
$_SESSION['value'] = 1;
}
elseif (($valeur == 14) or ($valeur == 15))
{
$_SESSION['value'] = 2;
}
elseif (($valeur == 16) or ($valeur == 17))
{
$_SESSION['value'] = 3;
}
elseif ($valeur == 18)
{
$_SESSION['value'] = 4;
}
}
(Ne me dites pas utilise switch et utilise autre chose que $_SESSION, j'ai essayé pas mal de code différent et il n'y a que celui-ci qui a fonctionné!!!)
En dessous il y a ça:
modificateur($_POST['force']);
mysql_query ('UPDATE `heros` SET force="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['dex']);
mysql_query ('UPDATE `heros` SET dex="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['con']);
mysql_query ('UPDATE `heros` SET con="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['int']);
mysql_query ('UPDATE `heros` SET int="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['sag']);
mysql_query ('UPDATE `heros` SET sag="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['cha']);
mysql_query ('UPDATE `heros` SET cha="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');

(appel à la fonction puis inscription dans la BDD)...
Seulement allez savoir pourquoi, seul "force" et "int" restent inchangés dans la BDD....pourquoi?????????? :-o :-o
AIDEZ MOI SVPPPPP :-(
Merci ;-)

Autres pages sur : enorme souci php

Lassé par la pub ? Créez un compte

FORCE et INT sont des mots clefs de mysql.
Je te conseille donc de proteger le noms des champs sur toutes tes requêtes, celà t'évitera ce genre de problème.

ex : mysql_query ('UPDATE `heros` SET `int`="'.$_SESSION['value'].'" WHERE `pseudo`="'.$_SESSION['pseudo'].'"');

ps : ton code est crade, switch c'est mieu :D 

à oui en effet, c'est bien ça...merci....
Pour switch, je sais bien que ça aurait été mieu mais dd'une part ça m'oblige a faire un code plus long (sauf si tu me donne une astuce pour faire les "$valeur == 4 or $valeur == 5" dans la case)
Lassé par la pub ? Créez un compte
Tom's guide dans le monde