unexpected T_LNUMBER sur "mail.php3"

guNy-
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 12:03

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.

guNy-
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 12:11

correction : même en fermant le tableau avec </table> la même erreur se produit.

free ne permet pas cette fonction ?

guNy-
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 12:26

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");
?>

Mammouth du PHP | 543 Messages

13 juil. 2005, 12:42

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>";

@++

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 juil. 2005, 14:17

Mais Free a bridé le mail non ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 543 Messages

13 juil. 2005, 14:27

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


@++

guNy-
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 14:53

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");
?>

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 juil. 2005, 15:01

if (empty($nom) or empty($email)) //problème ici alors

guNy-
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 15:05

la ligne n'est pas correcte au niveau du format ?

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

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 juil. 2005, 15:09

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']
Modifié en dernier par mere-teresa le 13 juil. 2005, 15:18, modifié 1 fois.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 543 Messages

13 juil. 2005, 15:18

Code : Tout sélectionner

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

Invité
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 15:37

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:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 juil. 2005, 15:40

crée ton retour d'erreur (fais des tests if avec des echo )

guNy-
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 15:51

"crée ton retour d'erreur (fais des tests if avec des echo )"

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

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 juil. 2005, 15:53

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";
}