Parse error: syntax error, unexpected T_VARIABLE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Parse error: syntax error, unexpected T_VARIABLE

Re: Parse error: syntax error, unexpected T_VARIABLE

par xTG » 10 déc. 2012, 15:49

Dans affichage tu as un sous-menu pour cela.
Je ne me souviens plus du nom exact.

Re: Parse error: syntax error, unexpected T_VARIABLE

par skyner » 10 déc. 2012, 15:34

j'utilise déjà Notepad++, comment tu fait pour afficher les caractères non imprimables ?

Re: Parse error: syntax error, unexpected T_VARIABLE

par piotrowski-s » 10 déc. 2012, 14:31

autant pour moi je suis allé trop vite...

Re: Parse error: syntax error, unexpected T_VARIABLE

par xTG » 10 déc. 2012, 13:56

c'est normal que ces variables ne soient pas initialisées ?
$civilite, $nom, $adresse, $codepostal, $ville, $pays, $comments
?
"Initialisées" ici :
// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
  $$index = stripslashes(trim($valeur));
}

Re: Parse error: syntax error, unexpected T_VARIABLE

par piotrowski-s » 10 déc. 2012, 13:01

c'est normal que ces variables ne soient pas initialisées ?
$civilite, $nom, $adresse, $codepostal, $ville, $pays, $comments
?

Re: Parse error: syntax error, unexpected T_VARIABLE

par xTG » 10 déc. 2012, 10:02

Il ne s'attend pas à cela à cette ligne, donc l'erreur est sur la ligne du dessus.
Sauf que j'ai beau la relire je vois pas d'erreur. :mrgreen:

Un caractère non imprimable peut être ?
Supprimes cette partie et réécris la à la main pour être sûr.
Ou tu peux aussi utiliser un éditeur tel que Notepad++ qui permet d'afficher les caractères non imprimables.

Parse error: syntax error, unexpected T_VARIABLE

par skyner » 10 déc. 2012, 01:56

Boujour,

Voila je pense que le titre est claire :)

j'ai crée, à l'aide d'un tuto' trouvé sur internet, un formulaire.
Mais avant de le modifier, j'ai voulus le tester sur mon site internet. Tout se passe bien jusqu'au moment de cliquer sur "envoyer", ou la, je me retrouve avec un message d'erreur.
Parse error: syntax error, unexpected T_VARIABLE in /mnt/104/sdb/e/1/lesamisdamandine/formulaire/traitement.php on line 25
La ligne 25 corespond a cette ligne.
   echo $message; die();
Voici mon code complet du fichier traitement.php.
<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement 
remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','[email protected]'); // remplacer par votre email
define('MAIL_SUJET','Message du formulaire de example.com');

// vérification des champs
if (empty($_POST['civilite'])) 
$message .= "Votre civilité<br/>";
if (empty($_POST['nom'])) 
$message .= "Votre nom<br/>";
if (empty($_POST['adresse'])) 
$message .= "Votre adresse<br/>";
if (empty($_POST['codepostal'])) 
$message .= "Votre code postal<br/>";
if (empty($_POST['ville'])) 
$message .= "Votre ville<br/>";
if (empty($_POST['comments'])) 
$message .= "Votre message<br/>";

// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur)) {
   echo $message; die();
}

// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
  $$index = stripslashes(trim($valeur));
}

$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
  $sqlinterets .= $interets[$i];
  $sqlinterets .= ', ';
}

//Préparation de l'entête du mail:
$mail_entete  = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
             ."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

// préparation du corps du mail
$mail_corps  = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n";
$mail_corps .= $comments;

// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
  //Le mail est bien expédié
  echo $msg_ok;
} else {
  //Le mail n'a pas été expédié
  echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}

?>
J'ai cherché sur internet d'ou pouvez venir cette erreur, je n'ai pas trouvé quelque chose qui peut s'appliquer a mon problème.

Que doit-je faire pour ne plus avoir se message d'erreur ?

Merci d'avance.