Page 1 sur 1

unexpected T_VARIABLE

Posté : 26 déc. 2012, 22:25
par cliloux
Bonjour, alors en fait j'ai un code PHP mais quand je le teste j'ai l'erreur 'Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\site\abonnement.php on line 66'
Voilà la ligne de mon code avec son contexte :
if(isset ($_POST['revalider']) && isset($_POST['civilite']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['age']) && isset($_POST['adresse']) && isset($_POST['codepostal']) && isset($_POST['ville']) && isset($_POST['numero']) && isset($_POST['magazine']) && isset($_POST['valider']))
	{
	$civilite=$_POST['civilite'];
		$nom=$_POST['nom'];
		$prenom=$_POST['prenom'];
		$age=$_POST['age'];
		$adresse=$_POST['adresse'];
		$codepostal=$_POST['codepostal'];
		$ville=$_POST['ville'];
		$numero=$_POST['numero'];
		$magazine=$_POST['magazine'];
	connectMaBase();
	$sql = 'INSERT INTO abonne VALUES("","'$civilite'","'$nom'","'$prenom'","'$age'","'$adresse'","'$codepostal'","'$ville'","'$numero'","'$magazine'")';
	mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
	mysql_close();
	echo 'Votre abonnement a bien été enregistré !';}
La ligne 66 c'est :
$sql = 'INSERT INTO abonne VALUES("","'$civilite'","'$nom'","'$prenom'","'$age'","'$adresse'","'$codepostal'","'$ville'","'$numero'","'$magazine'")';
Franchement je suis désespérée, j'ai tout vérifié TOUT TOUT TOUT !!! J'ai bien regardé les parenthèses, les parenthèses carrées '[' J'ai revérifié le texte, je sais pas ! AIDEZ MOUAAAAAAAAAAAAAAAA !!!

Re: unexpected T_VARIABLE

Posté : 26 déc. 2012, 22:54
par moogli
salut,


tous vérifié ?

dommage que tu ne connaisse pas la concaténation ;) => http://www.lephpfacile.com/cours/5-conc ... ux-chaines


@+

Re: unexpected T_VARIABLE

Posté : 26 déc. 2012, 22:56
par cliloux
Merci pour ta réponse, mais comment je peux concaténer cette ligne ??

Re: unexpected T_VARIABLE

Posté : 26 déc. 2012, 22:56
par moogli
en lisant le cours ?

Re: unexpected T_VARIABLE

Posté : 26 déc. 2012, 22:58
par cliloux
J'ai pas bien compris. Dans le lien que tu m'as donné il parle de 'echo' alors que dans mon erreur j'essaye d'insérer des valeurs dans mon mysql.
merci

Re: unexpected T_VARIABLE

Posté : 26 déc. 2012, 23:05
par moogli
c'est la même chose, il s'agit d'une chaine de caractères qu'elle soit affichées ou pas ;)



@+

Re: unexpected T_VARIABLE

Posté : 26 déc. 2012, 23:08
par cliloux
Ah c'est bon je viens de comprendre ! Merci beaucoups !

Re: unexpected T_VARIABLE

Posté : 26 déc. 2012, 23:11
par cliloux
Ah en fait ça ne m'affiche plus l'erreur mais ça ne m'enregistre rien dans ma base de données, c'est normal ?!
J'ai écrit ça, c'est bon ? :
$sql = 'INSERT INTO abonne VALUES("","$civilite","$nom","$prenom","$age","$adresse","$codepostal","$ville","$numero","$magazine")';
En fait j'ai enlevé les apostrophes
Merci

Re: unexpected T_VARIABLE

Posté : 26 déc. 2012, 23:32
par moogli
ça ne fonctionnera pas les variables ne sont pas interprétée dans une chaîne de caractères délimitées par des simples quote.

donc utilise la concaténation.
[php
<?php
]$sql = 'INSERT INTO abonne VALUES(\'\',\''.$civilite.'\',\''.$nom.'\',\''.$prenom.'\',\'.$age.'\',\''.$adresse.'\',\''.$codepostal.'\',\''.$ville.'\',\''.$numero.'\',\''.$magazine.'\')';
?>
[/php]

les \' en plus simplement parce qu'en SQL les chaines de caractères sont délimitées par des simples quote.


@+

Re: unexpected T_VARIABLE

Posté : 27 déc. 2012, 15:27
par cliloux
Maintenant ça me fait une erreur 'T_NS_SEPARATOR' Je ne sais pas à quoi cela est due. Merci pour ta réponse. T'es gentil :)

Re: unexpected T_VARIABLE

Posté : 27 déc. 2012, 16:08
par moogli
il manque une quote je te conseil d'utiliser un IDE qui va te fournir ce type d'info : Zend Studio, Netbeans, Eclipse (et le plug in PDT) et une tonne d'autre don j'ai oublié le nom ou que je ne connais pas :)

perso je vais arreter la tablette c'est nul y'a pas d'ide intégré :mrgreen: :mrgreen: :mrgreen:
<?php
$sql = 'INSERT INTO abonne VALUES(\'\',\''.$civilite.'\',\''.$nom.'\',\''.$prenom.'\',\''.$age.'\',\''.$adresse.'\',\''.$codepostal.'\',\''.$ville.'\',\''.$numero.'\',\''.$magazine.'\')';
?>

@+

Re: unexpected T_VARIABLE

Posté : 27 déc. 2012, 19:13
par cliloux
Merci pour ton aide je n'ai plus aucune erreur.. mais en fait, rien ne s'affiche dans phpmyadmin, et je sais pas pourquoi, fa

Re: unexpected T_VARIABLE

Posté : 27 déc. 2012, 19:46
par sirakawa
Moi je trouve plus simple de faire:
$sql = "Insert into mabase set `champ1` = '$valeur1' ";
print "$requete"; // tant que ça déconne
$res = $mysqli->query($sql);
if ($res == false)
{
echo ($mysqli->error);
}