Rechercher : dans
Par :

Parse error, unexpected T_VARIABLE

Dernière réponse le 9 jun 2008 à 18:28:40 max, le 10 mai 2006 à 19:03:40 
 Signaler ce message aux modérateurs

Je suis un débutant total en PHP et j'essaie de montrer un petit formulaire pour mon site web perso..or, je recois un message d'erreur me disant:

Parse error: parse error, unexpected T_VARIABLE in /home/www/18fontainebleau.awardspace.com/envoi.php on line 3

voici donc le code de ma page envoi.php:

<?php
$msg = "Prénom:\t$prenom\n";
$msg = "Nom:\t$nom\n";
$msg = "Âge:\t$age\n";
$msg = "Numéro de téléphone:\t$tel\n";
$msg = "E-Mail:\t$email\n";

$recipient = "maxmethot@hotmail.com";
$subject = "18, boul. de Fontainebleau";

$mailheaders = "From: Intéressé par la maison<> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire
envoyé!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé ! Nous vous contacterons prochainement.</P>";
echo "</BODY></HTML>";
?>

Quelqu'un aurait une idée parce la moi j'vois que dale!
Merci d'avance..

Max

Meilleures réponses pour « parse error, unexpected T_VARIABLE » dans :
Parse error: syntax error, unexpected $end VoirLorsque l'on programme en Php, on se retrouve inévitablement un jour devant ce genre d'erreur: Parse error: syntax error, unexpected $end in Command line code on line 1 En français, ça signifie grossièrement: "Erreur d'analyse du code: il y a une...
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
PHP Parse error: unexpected '<' in ... eval()'d code on line VoirSymptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected '

1

PhP, le 10 mai 2006 à 21:27:24

Bsr

L'erreur PHP classique : le parseur PHP t'indique en fait qu'il est tombé sur une variable non déclarée . Elle n'est pas simplement vide ou non initialisée : elle n'existe pas !

Je crois qu'avant PHP instanciait automatiquement les variables non déclarées.
Depuis pour des raisons de sécurité (hé oui ...) ce n'est plus le cas.

En fait ton pb se situe dès la variable $prenom (idem pour $nom, $age, $tel, $email) Tu dois initialiser explicitement ces variables ou bien utiliser directement les tableaux superglobaux $_GET ou $_POST

En fait lorsque tu envoies ton formulaire tu utilises soit la méthode GET soit la méhode POST

Selon ton choix PHP stocke toutes les variables dans $_GET[] ou $_POST[] : ce sont des tableaux associatifs dit superglobaux car ils sont accessibles quelquesoit l'endroit du code.

Ainsi pour récupérer $nom tu dois utiliser $_GET["nom"] ou $_POST["nom"]

Pour éviter de tout avoir à modifier écrit ceci (pense à remplacer POST par GET si nécessaire) :

<?
<?php 
$prenom=(isset($_POST["prenom"])) ? $_POST["prenom"] : ""; 
$nom=(isset($_POST["nom"])) ? $_POST["nom"] : ""; 
$age=(isset($_POST["age"])) ? $_POST["age"] : ""; 
$tel=(isset($_POST["tel"])) ? $_POST["tel"] : ""; 
$email=(isset($_POST["email"])) ? $_POST["email"] : ""; 

$msg = "Prénom:\t$prenom\n"; 
$msg = "Nom:\t$nom\n"; 
$msg = "Âge:\t$age\n"; 
$msg = "Numéro de téléphone:\t$tel\n"; 
$msg = "E-Mail:\t$email\n"; 



Nota : isset(nom_variable) test si une variable existe ou non et retourne true ou false

Ecrire :
$prenom=(isset($_POST["prenom"])) ? $_POST["prenom"] : ""; 


Est équivalent à :

if (isset($_POST["prenom"])) 
{
  $prenom =  $_POST["prenom"];
}
else
{
  $prenom = "";
}



Voilà

Adapte tes scripts php et le tour est joué

Gaffe qd même j'ai peut-être fait une erreur de frappe ...

PhP 

Répondre à PhP

2

max, le 11 mai 2006 à 07:08:46

Merci pHp pour tes conseils je vais essayer de les appliquer et je t'en redonne des nouvelles...tes idées me semblent claires alors je ne crois pas avoir de misere a les appliquer! Merci encore!

a +
max

Répondre à max

3

romu, le 30 jan 2008 à 16:59:26

Bonjour ,

Voila j'ai un petit probleme. Si quelqu'un peu m'aider se serait vraiment sympa de votre part.
J'ai un formulaire en html et je stocke dans une base de données. J'ai donc créé ma base et un.php relié au formulaire par la méthod POST.
Malheureusement, quand je clique sur envoyer le message suivant appraît :
Parse error: syntax error, unexpected T_VARIABLE in C:\apachefriends\xampp\htdocs\www\projet_agenda_sonore\formu­laire.php on line 7.

et je ne vois pas mon erreur.

Voici la ligne incriminée : $son= $_POST['son'];.

Voici mon code php en entier :

<?
$user = "moi";
$passwd = "monpassword";
$host = "localhost";
$bdd = "agenda"

$son= $_POST['son'];
$photo= $_POST['photo'];
$concert= $_POST['concert'];
$artiste= $_POST['artiste'];
$titre= $_POST['titre'];
$duree= $_POST['duree'];


mysql_connect($host,$user,$passwd);
//or die("erreur de connexion au serveur $host")
mysql_select_db("$bdd");
//or die("erreur de connexion a la base de donnees")

$query = "INSERT INTO concert (id, son, photo, nom_concert, nom_artiste, titre, duree) VALUES ('', '$son', '$photo', '$concert', '$artiste', '$titre', '$duree')";
mysql_query($query);
?>.


Voici le code pour le formulaire :
<form method="POST" action="formulaire.php" name=form_concert>
<tr>
<th>Insérer un son</th><td nowrap> <input name=son type=file accept=".mp3" ></td>
</tr><br>

</tr>
<th></th>
<tr>

<tr>
<th>Insérer une photo</th><td> <input name=photo type=file accept=".jpg and .gif" ></td>
</tr><br>

</tr>
<th></th>
<tr>

<tr>
<th>Nom du concert</th> <td><input name=concert type=text ></td><br>
</tr><br>

</tr>
<th></th>
<tr>

<tr>
<th>nom artiste</th><td> <input name=artiste type=text ></td><br>
</tr><br>

</tr>
<th></th>
<tr>

<tr>
<th>Titre</th><td> <input name=titre type=text ></td><br>
</tr><br>

</tr>
<th></th>
<tr>

<tr>
<th>Durée de vie dans l'agenda :</th><td><select name=duree>
<option> 1</option>
<option> 2</option>
<option> 3</option>
<option> 4</option>
<option> 5</option></select>
semaines
</td><br>


</tr>
<th></th>
<tr>

</tr>
<th></th>
<tr>

</tr>
<th></th>
<tr>



</tr>

<tr>
<th> <input type=submit value="soumettre"></th>
<th> <input type=reset value="annuler"></th>
</tr>

</form>

J'ai tout essayé, mais rien y fait.

Si quelqu'un à une solution,
Merci d'avance.

Répondre à romu

4

Alain42, le 30 jan 2008 à 17:34:38

Bonjour,

Attention, en php il ne faut pas rechercher seulement dans la ligne qui sort en erreur !!

Dans ton cas il manque le ; à la fin de la ligne précédente, du coup php ne comprend pas la ligne 7

Autre chose, utilises <?php ?> au lieu de <? ?>

Répondre à Alain42

5

romu, le 30 jan 2008 à 19:20:39

Merci Alain 42 !!!

Parfois jme dis que je devrais relire mon script plusieurs fois avant de demander de l'aide.
Forcément maintenant ca marche.

Jme sens un peu tout bidon d'avoir pas vu une erreur comme ca ^^'. Enfin c'est le jeu ma pauvre lucette.

Encore merci pour la rapidité de la réponse.

Ce forum est vraiment excellent !!. C'était la premiere fois que je postais un message et je suis pas déçu.

Répondre à romu

6

 John_Day, le 9 jun 2008 à 18:28:40
  • +1

J'ai un problème.

Parse error: syntax error, unexpected T_VARIABLE in /home/lachanya/public_html/CFC/autoevaluation.php on line 43

Voici la ligne 43 :
$queryInsert = "INSERT INTO ReponseEtu (IdResp,ReponseEtu,EchelleEtu,IdEtudiant,IdFormulaire,IdQuestion,Date) VALUES ('".$_SESSION['SuperViseur']."','".$textarea."','".$t."','".$_SESSION['etuser']."','".$_SESSION['formE']."','".$_SESSION['o']."','."$_SESSION['datetu']"')";


Voici tout le code :
<?php
session_start();
include "message.php";
include "connexion.php";

if(isset($_POST['datetu']))
{
if ($_POST['etuser'] != "0" AND $_POST['formE'] != "0" AND $_POST['profE'] != "0" AND $_POST['SuperViseur'] != "0")
{
//$formE,$SuperViseur,$profE,$formE
$_SESSION['etuser'] = $_POST['etuser'];
$_SESSION['SuperViseur'] = $_POST['SuperViseur'];
$_SESSION['profE'] = $_POST['profE'];
$_SESSION['formE'] = $_POST['formE'];
$_SESSION['datetu'] = $_POST['datetu'];
$_SESSION['o'] = $_POST['o'];
$o = $_SESSION['o'];
//ReponseEtu
//IdRepEtu ReponseEtu EchelleEtu IdResp IdEtudiant IdFormulaire IdQuestion Date
if (!isset($t))
{
$valid = "SELECT * FROM ReponseEtu WHERE IdEtudiant='".$_SESSION['etuser']."' AND IdFormulaire='".$_SESSION['formE']."'";
$resvalid = mysql_query($valid) or die("Erreur SQL !<br />".$valid."<br />".mysql_error());
}

if (isset($t))
{
$valid = "SELECT * FROM ReponseEtu WHERE IdEtudiant='' AND IdFormulaire=''";
$resvalid = mysql_query($valid) or die("Erreur SQL !<br />".$valid."<br />".mysql_error());
}

if (!$rowvalid = mysql_fetch_array($resvalid))
{
if (isset($t))
{ //insertion des réponses
$etuQ1 = explode(",",$etuQ);
$_SESSION['etuQ'] = $etuQ1;
if ($t == 0)
{//1
if ($app == "na")
{ // 3 IdRepEtu,ReponseEtu,EchelleEtu,IdResp,IdEtudiant,IdFormulaire,IdQuestion
$textarea = "ne s\'applique pas";
$queryInsert = "INSERT INTO ReponseEtu (IdResp,ReponseEtu,EchelleEtu,IdEtudiant,IdFormulaire,IdQuestion,Date) VALUES ('". $_SESSION['SuperViseur']."','".$textarea."','".$t."','".$_SESSION['etuser']."','".$_SESSION['formE']."','".$_SESSION['o']."','."$_SESSION['datetu']"')";
if (mysql_query($queryInsert))
{
$_SESSION['o']++;
}
else
{
echo ("Erreur 31 d'insertion");
//echo $back;
}
} //3
elseif ($app != "na")
{
echo "Vous ne pouvez laisser l'indicateur à Zéro<br>Sauf si vous spécifiez que la question ne s'applique pas";
//echo $back;
}
else
{
echo "Vous ne pouvez laisser l'indicateur à Zéro<br>Sauf si vous spécifiez que la question ne s'applique pas";
//echo $back;
}
}//1
else
{//2
if ($app == "na")
{
$t = 0;
$textarea = "ne s\'applique pas";
$queryInsert = "INSERT INTO ReponseEtu (IdResp,ReponseEtu,EchelleEtu,IdEtudiant,IdFormulaire,IdQuestion,Date) VALUES ('".$_SESSION['SuperViseur']."','".$textarea."','".$t."','".$_SESSION['etuser']."','".$_SESSION['formE']."','".$_SESSION['o']."','".$_SESSION['datetu']."')";
if (!mysql_query($queryInsert))
{
echo ("Erreur 32 d'insertion");
//echo $back;
}
else
{
$_SESSION['o']++;
}
}
else
{
if ($t != 0)
{
$queryInsert= "INSERT INTO ReponseEtu (IdResp,ReponseEtu,EchelleEtu,IdEtudiant,IdFormulaire,IdQuestion,Date) VALUES ('".$_SESSION['SuperViseur']."','".$textarea."','".$t."','".$_SESSION['etuser']."','".$_SESSION['formE']."','".$_SESSION['o']."','".$_SESSION['datetu']."')";
if (!mysql_query($queryInsert))
{
echo ("Erreur 33 d'insertion");
//echo $back;
}
else
{
$_SESSION['o']++;
}
}
else
{
echo "Vous ne pouvez laisser l'indicateur à Zéro<br>Sauf si vous spécifiez que la question ne s'applique pas";
//echo $back;
}
}
} //2
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Auto-Évaluation de l'étudiant</title>
<meta name="author" content="Daniel Nadeau et Jimmy Morin">
<meta name="generator" content="WebExpert 5">
<link rel="stylesheet" type="text/css" href="style.css">
<SCRIPT LANGUAGE="JavaScript">//sert a desactiver le slider et le textarea
function Disab(val) {
frm=document.forms[0]
if(val=="na") {frm.texte.disabled=true ; sliderDiv1.disabled=true}
else{frm.texte.disabled=false ; sliderDiv1.disabled=false}
}
</script>
<script type="text/javascript" src="LibCrossBrowser.js"></script>
<script type="text/javascript" src="EventHandler.js"></script>
<script type="text/javascript" src="Bs_FormUtil.lib.js"></script>
<script type="text/javascript" src="Bs_Slider.class.js"></script>
<script><!--
function init(){
drawSliders();
}
function drawSliders() {
mySlider = new Bs_Slider();
mySlider.objectName = 'mySlider';
mySlider.attachOnChange(bsSliderChange);
mySlider.width = 121;
mySlider.height = 26;
mySlider.minVal = 0;
mySlider.maxVal = 10;
mySlider.valueInterval = .5;
mySlider.arrowAmount = 2;
mySlider.valueDefault = 0;
mySlider.imgDir = '';
mySlider.setBackgroundImage('background.gif', 'no-repeat');
mySlider.setSliderIcon('slider.gif', 13, 18);
mySlider.setArrowIconLeft('arrowLeft_gray.gif', 16, 16);
mySlider.setArrowIconRight('arrowRight_gray.gif', 16, 16);
mySlider.useInputField = 2;
mySlider.styleValueFieldClass = 'sliderInput';
mySlider.colorbar = new Object();
mySlider.colorbar['color'] = 'blue';
mySlider.colorbar['height'] = 5;
mySlider.colorbar['widthDifference'] = -12;
mySlider.colorbar['offsetLeft'] = 5;
mySlider.colorbar['offsetTop'] = 9;
mySlider.draw('sliderDiv1');
}
/**
* @param object sliderObj
* @param int val (the value)
*/
function bsSliderChange(sliderObj, val, newPos) {
document.f.t.value = val;
}
// --></script>

</head>
<body onLoad="init();" class="normal">

<p align="center" class="Titre">Voici votre Auto-Évaluation</p>
<p align="center" class="Titre"> </p>
<?php
if (!isset($t))
{
$etuQuesy1 = "SELECT * FROM Questions WHERE IdFormulaire='$formE'";
$etuResult1 = mysql_query($etuQuesy1);
while($eturow1=mysql_fetch_array($etuResult1))
{
$etuQ=$etuQ.$eturow1['IdQuestion'].',';
}
}

?>
<?php
//IdQuestion,NoQuestion,IdFormulaire,Question
$etuQ1=explode(",",$etuQ);
$etuQuesy2="SELECT * FROM Questions WHERE IdQuestion ='$etuQ1[$o]'";
$etuResult2=mysql_query($etuQuesy2);
if($eturow2=mysql_fetch_array($etuResult2))
{
?>
<form name="f" action="autoevaluation.php" method="post">


<input name="o" type="hidden" value="<?php echo $o; ?>">
<input name="numeroQ" type="hidden" value="<?php echo $etuQ1[$o]; ?>">
<input name="etuQ" type="hidden" value="<?php echo $etuQ; ?>">
<input name="dateetu" type="hidden" value="<?php echo $datetu; ?>">
<table width="709" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="335"><b>Critère <span class="normal">#<?php echo ($o+1); ?></span>
<p><font color="#FFFFFF" size="4"><?php echo $eturow2["Question"]; ?></font></p>
</b></td>
<td width="266" rowspan="2"><span class="Style2">Veuillez attribuer une
note sur 10 en glissant l'indicateur horizontal vers la droite ou en l'inscrivant
directement dans la case:</span><span class="normal Style2"></span><span class="normal"><br>
<div id="sliderDiv1">  </div><br><br>
<input type="hidden" name="t" size="6" style="background:white;">
 <br>
<br>
</span></td>
<td width="108" bordercolor="#FF9933"> <div align="left">
<table border="1" bordercolor="#DDA817">
<tr>
<td><input name="app" type="radio" value="applique" onClick="Disab('applique')" checked>
s'applique <br> <input type="radio" name="app" value="na" onClick="Disab('na')">
Ne s'applique pas</td>
</tr>
</table>
</div></td>
</tr>
<tr>
<td class="question"></td>
<td> </td>
</tr>
<tr>
<td colspan="3"><center class="rouge">
<p><b>Échelle de valeur : </b> </p>
</center>
<center>
<table border="1" bordercolor="#DDA817">
<tr>
<td width="56"><b>Valeur</b></td>
<td width="286"><div align="center"><b>Commentaire</b></div></td>
</tr>
<tr>
<?php
$queryCom = "SELECT * FROM Commentaire WHERE IdQuestion ='$etuQ1[$o]' ORDER BY ValeurCom DESC";
$resultCom = mysql_query($queryCom);
while($testCom = mysql_fetch_array($resultCom))
{
?>
<td><?php echo ($testCom["ValeurCom"]); ?></td>
<td><?php echo ($testCom["Commentaire"]); ?></td>
</tr>
<?php
}
?>
</table><br>
</center></td>
</tr>
<tr>
<td><b>Avez-vous un commentaire à nous signaler à ce sujet?
<textarea name="textarea" cols="50" rows="5" wrap="PHYSICAL" id="textarea"></textarea>
</b></td>
<td colspan="2"><center>
<table align="center"><tr><td> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" name="Aide en ligne" width="17" height="24" id="Aide en ligne">
<param name="movie" value="q.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#5A0808">
<embed src="q.swf" width="17" height="24" quality="high" pluginspage="http://www.macromedia.com/..." type="application/x-shockwave-flash" bgcolor="#5A0808" name="Aide en ligne"></embed>
</object> </td><td> </td><td> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="140" height="22">
<param name="movie" value="suivante.swf">
<param name="quality" value="autolow">
<param name="bgcolor" value="#5A0808">
<embed src="suivante.swf" quality="autolow" pluginspage="http://www.macromedia.com/..." type="application/x-shockwave-flash" width="140" height="22" bgcolor="#5A0808"></embed>
</object></td></tr></table>
</center></td>
</tr>
</table>
<p> </p>

</form>
<?php
}
else
{
//afficher la dernière question
?>
<p align="center" class="Titre">Satisfaction globale </p>
<p align="center" class="citation">(sélectionnez la bonne affirmation)</p>
<?php
$un="Je recommanderais ce stagiaire sans hésitation.";
$deux="Je recommanderais ce stagiaire, mais il y aurait quelques points à améliorer.";
$trois="Je recommanderais ce stagiaire, mais avec des réserves.";
$quatre="Je ne recommanderais pas ce stagiaire.";

?>
<form action="finetu.php" method="post" enctype="application/x-www-form-urlencoded" name="form" id="form">
<table border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><center>
<input name="rec" type="radio" value="<?php echo $un; ?>" checked>
</center></td>
<td> Je recommanderais ce stagiaire sans hésitation. </td>
</tr>
<tr>
<td><center>
<input type="radio" name="rec" value="<?php echo $deux; ?>">
</center></td>
<td> Je recommanderais ce stagiaire, mais il y aurait quelques points à améliorer. </td>
</tr>
<tr>
<td><center>
<input type="radio" name="rec" value="<?php echo $trois; ?>">
</center></td>
<td><p> Je recommanderais ce stagiaire, mais avec des réserves.</p></td>
</tr>
<tr>
<td><center>
<input type="radio" name="rec" value="<?php echo $quatre; ?>">
</center></td>
<td><p> Je ne recommanderais pas ce stagiaire. </p></td>
</tr>
<tr>
<td class="question"><center>
<br>
</center></td>
<td class="question"> <div align="left">Commentaire<br>
<textarea name="raison" cols="60" rows="5" wrap="PHYSICAL"></textarea>
</div></td>
</tr>
</table>
<p align="center"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="105" height="23">
<param name="movie" value="terminer.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#5A0808">
<embed src="terminer.swf" quality="high" pluginspage="http://www.macromedia.com/..." type="application/x-shockwave-flash" width="105" height="23" bgcolor="#5A0808"></embed>
</object>
</p>
</form>


<?php
}
}
else
{
echo '<link href="style.css" rel="stylesheet" type="text/css">';
echo '</head><body class="normal">';
echo '<center>';
echo 'Vous avez déjà rempli ce formulaire!<br>';
echo $back;
echo '</center>';
}
}
else
{
echo '<link href="style.css" rel="stylesheet" type="text/css">';
echo '</head><body class="normal">';
echo '<center>';
echo "Il y a au moins un champ vide! <br>Veuillez compléter";
echo '<br>';
echo $back;
echo '</center>';
}
}
else
{
echo '<link href="style.css" rel="stylesheet" type="text/css">';
echo '</head><body class="normal">';
echo '<br>';
echo $erreur1;
echo '<center>';
echo $back;
echo '</center>';
}
mysql_close();
?>
</body>
</html>

Répondre à John_Day