Page 1 sur 2

unexpected T_LNUMBER sur "mail.php3"

Posté : 13 juil. 2005, 12:03
par guNy-
Bonjour,
je suis en train de faire un site en HTML avec un formulaire qui s'envoie sans avoir besoin d'un client de messagerie.
le fichier qui "devrait" permettre ceci s'appelle mail.php3
malgré tous mes efforts, je ne parviens pas a le faire fonctionner, et reçois un message d'erreur "Parse error: parse error, unexpected T_LNUMBER in /mail.php3 on line 11
".
voici la source de mail.php3:

<?
$message="
<html>
<head>
<title></title>
</head>

<body bgcolor='ffffff'>
<body>
<table>
<table width="331" border="0">
<tr>
<td width="146">Nom : </td>
<td>$nom</td>
</tr>
<tr>
<td>Pr&eacute;nom : </td>
<td>$prenom</td>
</tr>
<tr>
<td>Age : </td>
<td>$age</td>
</tr>
<tr>
<td>Avis : </td>
<td>$avis</td>
</tr>
<tr>
<td>Habitude : </td>
<td>$habitude</td>
</tr>
</body>
</html>";

if (empty($nom) or empty($email))
{
print"<p align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><b>Un ou plusieurs champs obligatoires ne sont pas renseignés.</b></font></p>
<p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><a href="../ressource/sondage.html">retour</a></font></p>";
exit();
}
$sujet="Mail sondage cs-info";
$headers="From:$email\n";
$headers.="Content-Type:text/html;charset=iso-8859-1\n";
mail("[email protected]",$message,$sujet,$headers);
header("Location:../script/merci.html");
?>

need help please :'(

merci d'avance.

suite

Posté : 13 juil. 2005, 12:11
par guNy-
correction : même en fermant le tableau avec </table> la même erreur se produit.

free ne permet pas cette fonction ?

re: suite

Posté : 13 juil. 2005, 12:26
par guNy-
apprès recorrection de ma part, l'erreur ne se fait plus ligne 11, mais ligne 40, CAD là ou commence [ print">p align... ]
voici la source de ma nouvelle fonction mail.php3 :

<?
$message="
<html>
<head>
<title></title>
</head>

<body bgcolor='ffffff'>
<body>

<table>
<table width='331' border='0'>
<tr>
<td width='146'>Nom</td>
<td width='185'>$nom</td>
</tr>
<tr>
<td>Pr&eacute;nom</td>
<td>$prenom</td>
</tr>
<tr>
<td>Age</td>
<td>$age</td>
</tr>
<tr>
<td>Avis</td>
<td>$avis</td>
</tr>
<tr>
<td>Habitude</td>
<td>$habitude</td>
</tr>
</table>

</body>
</html>";

if (empty($nom) or empty($email))
{
print"<p align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="8"><b>Un ou plusieurs champs obligatoires ne sont pas renseignés.</b></font></p>
<p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="8"><a href="../ressource/sondage.html">retour</a></font></p>";
exit();
}
$sujet="Mail sondage";
$headers="From:$email\n";
$headers.="Content-Type:text/html;charset=iso-8859-1\n";
mail("[email protected]",$message,$sujet,$headers);
header("Location:../script/merci.html");
?>

Posté : 13 juil. 2005, 12:42
par raptor
Salut,

Code : Tout sélectionner

print"<p align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"8\"><b>Un ou plusieurs champs obligatoires ne sont pas renseignés.</b></font></p> <p align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"8\"><a href=\"../ressource/sondage.html\">retour</a></font></p>";

@++

Posté : 13 juil. 2005, 14:17
par mere-teresa
Mais Free a bridé le mail non ?

Posté : 13 juil. 2005, 14:27
par raptor
non apparemment ils ont débridé apparemment
La fonction mail() est disponible chez Free, mais est limitée à 2000mails/semaine.


Exemple d'utilisation la plus simple possible:
mail("[email protected]","toto1","toto1");
http://faq.free.fr/?q=932


@++

merci !

Posté : 13 juil. 2005, 14:53
par guNy-
merci beaucoup, vous etes trop forts :p
je n'ai plus d'erreur,

cependant un nouveau problème vient de faire son apparition, malgré le fait que je remplis correctement les champs obligatoires ($nom et $email), la page qui s'affiche n'est pas ../merci.html, mais celle issue de mail.php3 (avec écrit "Un ou plusieurs champs obligatoires ne sont pas renseignés")

Donc, que les champs soient remplis ou pas, il n'y a pas de redirection vers la page des remerciements.

--------------------------------------------------------
if (empty($nom) or empty($email))
{
print"<p align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"5\"><b>Un ou plusieurs champs obligatoires ne sont pas renseignés.</b></font></p>
<p align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"-1\"><a href=\"../ressource/sondage.html\">retour</a></font></p>";
exit();
}
$sujet="Mail sondage";
$headers="From:$email\n";
$headers.="Content-Type:text/html;charset=iso-8859-1\n";
mail("[email protected]",$sujet,$message,$headers);
header("Location:../script/merci.html");
?>

Posté : 13 juil. 2005, 15:01
par mere-teresa
if (empty($nom) or empty($email)) //problème ici alors

suite

Posté : 13 juil. 2005, 15:05
par guNy-
la ligne n'est pas correcte au niveau du format ?

if (empty($nom) or empty($email))

Posté : 13 juil. 2005, 15:09
par mere-teresa
1/ essaie plutôt isset() ou si tu es sûr que ce sont des chaines de caractères : $var != ""
2/ Si ça vient d'un formulaire, ça doit s'appeler $_POST['var']

Posté : 13 juil. 2005, 15:18
par raptor

Code : Tout sélectionner

if (empty($_POST["nom"]) || empty($_POST["email"])) {
@+

Posté : 13 juil. 2005, 15:37
par Invité
malgré ces modification, la redirection ne marche toujours pas :cry:

et comme je n'ai plus de retour d'erreur, là je me sens tout petit :lol:

Posté : 13 juil. 2005, 15:40
par mere-teresa
crée ton retour d'erreur (fais des tests if avec des echo )

Posté : 13 juil. 2005, 15:51
par guNy-
"crée ton retour d'erreur (fais des tests if avec des echo )"

----------------
quelle est la méthode pour réaliser ça ?

Posté : 13 juil. 2005, 15:53
par mere-teresa
Tu parsèmes ton code de tests, par ci par là....
typiquement
if (affectation de telle variable){
faire la suite du programme}else{
echo "NON";
}