Parse error, unexpected T_VARIABLE

Fermé
jack in the box - 21 sept. 2014 à 15:19
 Utilisateur anonyme - 24 sept. 2014 à 08:22
Bonjour,

débutant en PHP j'ai ce message (dont je n'arrive pas à me dépétrer)

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /htdocs/BDD/ajouter.php on line 9
_________________
codes :
formulaire.php

<form name="formulaire" method="POST" action="ajouter.php">
<table width="800" border="1">
<tr>
<td>Numero adhérent :</td>
<td><input num="num" type="int(11)" id="num"></td>
</tr>
<tr>
<td>Nom:</td>
<td><input nom="nom" type="text" id="nom" size="30"></td>
</tr>
<tr>
<td>Prénom:</td>
<td><input prenom="prenom" type="text" id="prenom" size="30"></td>
</tr>
<tr>
<td>Offre Jardin et Nature :</td>
<td><input o_jar="o_jar" type="varchar" id="o_jar" size="128"></td>
</tr>
<tr>
<td>Offre Aide domestique:</td>
<td><input o_dom="o_dom" type="varchar" id="o_dom" size="128"></td>
</tr>
<tr>
<td>Offre Garde et Baby-sitting :</td>
<td><input o_gar="o_gar" type="varchar" id="o_gar" size="128"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Envoyer">
</div></td>
</tr>
</table>
</form>
____________________________________
ajouter.php

<?php
include("connexion.php");

if ($POST['num'] != '')
{
connexion();

mysql_query("INSERT INTO database VALUES('','$_POST['num']','$_POST['nom']','$_POST['prenom']','$_POST['o_jar']','$_POST['o_dom']','$_POST['o_gar']')");
mysql_query or die(mysql_error());
}
else
{
echo 'Erreur ! Vous devez indiquer votre numéro d&rsquoadhérent !';
}
?>

2 réponses

Lord Zero Messages postés 459 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2018 115
24 sept. 2014 à 06:32
Vérifie le name et le type de tes input, des choses comme input o_gar="o_gar" type="varchar" ça n'existe pas.
0
Bonjour

C'est vrai que le input type="varchar" n'existe pas, il ne faut pas mélanger le SQL et le HTML. Mais ce n'est pas ce qui provoque ton erreur.
Ton erreur vient de l'écriture incorrecte de ta requête. Dans une chaîne littérale entre doubles quotes en PHP, il NE FAUT PAS mettre d'apostrophes autour des indices de tableaux :
"...VALUES('','$_POST[num]'..."

et non pas
"...VALUES('','$_POST['num']'..."

Et bien sûr idem pour les autres variables.
Et ta ligne suivante
mysql_query or die(mysql_error());
ne veut rien dire : ce "or die..." devrait être à la fin de la ligne précédente, pas ici.

Par ailleurs, tu ferais bien de songer à utiliser PDO plutôt que les fonctions mysql_xxx qui sont largement obsolètes.
0