Problème script PHP /!\
Snip714
Messages postés
249
Statut
Membre
-
Alain42 -
Alain42 -
Bonjour, voici mon script :
( C'est pour un jeu en ligne )
Et ca me met :
Quel est le problème, svp ?
<?
if ($combat = "$_POST['Attaque']"){
$comatk = "4";
$comdef = "1";
$comvit = "1";
$comtch = "1";
}
elseif ($combat = "$_POST['Défense']"){
$comatk = "1";
$comdef = "4";
$comvit = "1";
$comtch = "1";
}
elseif ($combat = "$_POST['Vitesse']"){
$comatk = "1";
$comdef = "1";
$comvit = "4";
$comtch = "1";
}
else {
$comatk = "1";
$comdef = "1";
$comvit = "1";
$comtch = "4";
}
?>
( C'est pour un jeu en ligne )
Et ca me met :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/140/sdc/f/4/0v5/traitement.php on line 2
Quel est le problème, svp ?
A voir également:
- Problème script PHP /!\
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Expert php pinterest - Télécharger - Langages
6 réponses
Salut.
Ne met pas :
Préfère :
De plus pour faire un test on utilise le double égal (là tu assigne une variable)
donc :
Ne met pas :
if ($combat = "$_POST['Attaque']"){
Préfère :
if ($combat = $_POST['Attaque']){
De plus pour faire un test on utilise le double égal (là tu assigne une variable)
donc :
if ($combat == $_POST['Attaque']){
Bonjour,
si je peux me permettre, déja à première vue des erreurs:
<?
if ($combat = "$_POST['Attaque']"){
mets <?php au lieu de <?
et ta condition if sera toujours vraie, pour comparer si égal dans un if il faut mettre ==
et ne mets pas les " car dans ce cas, tu compares avec la chaine "$_POST['Attaque']" et pas avec la variable $_POST['Attaque']
=>
ensuite d'où vient $combat ?
une autre solution mieux avec less witch case
si je peux me permettre, déja à première vue des erreurs:
<?
if ($combat = "$_POST['Attaque']"){
mets <?php au lieu de <?
et ta condition if sera toujours vraie, pour comparer si égal dans un if il faut mettre ==
et ne mets pas les " car dans ce cas, tu compares avec la chaine "$_POST['Attaque']" et pas avec la variable $_POST['Attaque']
=>
<?php
if ($combat == $_POST['Attaque']){
ensuite d'où vient $combat ?
une autre solution mieux avec less witch case
$combat=$_POST['action'];// si c'est le nom du champ qui t'envoi le type de combat
switch($combat){
case "Attaque":
$comatk = "4";
$comdef = "1";
$comvit = "1";
$comtch = "1";
break;
case"Défense":
$comatk = "1";
$comdef = "4";
$comvit = "1";
$comtch = "1";
break;
case "Vitesse":
$comatk = "1";
$comdef = "1";
$comvit = "4";
$comtch = "1";
break;
default:
$comatk = "1";
$comdef = "1";
$comvit = "1";
$comtch = "4";
break;
}
Il a raison, les <?php et ?> sont préférables car certains serveurs ne reconaissent pas les balises rapide <? et ?> donc n'éxécutent pas le php et tout le monde voit ton code !
c'est vrai que $combat est pas définit mais ce fichier peut être un include.
c'est vrai que $combat est pas définit mais ce fichier peut être un include.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
essayes plutôt comme ça avec des " au debut et fin au lieu des ' (perso je préfère)
essayes plutôt comme ça avec des " au debut et fin au lieu des ' (perso je préfère)
$sql = "INSERT INTO Users
VALUES('".mysql_escape_string($_POST['pseudo'])."','".mysql_escape_string($_POST['pass'])."','".mysql_escape_string($_POST['email'])."','".mysql_escape_string($_POST['nom'])."','".mysql_escape_string($_POST['desc'])."','".mysql_escape_string($_POST['magie'])."','".mysql_escape_string($_POST['co
mbat'])."','50','100','".$comatk."','".$comdef."','".$comvit."','".$comtch."')";