Parse error, unexpected T_VARIABLE [Fermé]

Signaler
-
 Utilisateur anonyme -
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

Messages postés
459
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
15 juin 2018
109
Vérifie le name et le type de tes input, des choses comme input o_gar="o_gar" type="varchar" ça n'existe pas.
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.