PHP : parse error lors de la mise en ligne

Fermé
val - Modifié par val le 9/04/2012 à 16:17
 Profil bloqué - 9 avril 2012 à 23:34
Bonjour a tous,

J'ai intégré un formulaire de contact dans une de mes pages internet,

En la testant en réseau locale (easyphp) je n'avais pas pas de problème avec celle-ci.

depuis que je l'ai mise en ligne, pas moyen de la faire fonctionner, j'ai un message d'erreur de type Parse error: syntax error, unexpected $end in /.../public_html/contact.php on line 1

Savez-vous si ce type d'erreur peut-être causé par la version PHP?

Pour info:

- je suis hébergé chez E-clicking,

- J'ai aussi passé mon code au peigne fin pour repérer les manques de virgules, apostrophes mais tout à l'air en ordre.


Merci pour votre aide.
A voir également:

5 réponses

Profil bloqué
9 avril 2012 à 20:05
Envoie les codes !

0
Utilisateur anonyme
9 avril 2012 à 20:53
Bonsoir,

Regarde aussi du côté des parenthèses, accolades, points-virgules ...
0
J'ai déjà regardé ce point la

//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='contact[a]test.com';

$Previsualiser='<input type="submit" name="previsualiser" value="Prévisualiser" class="bouton">';
$Envoi="\n".'<input type="submit" name="envoi" tabindex="4" value="Envoyer" class="bouton">';
if (isset($_POST['message']))
{

// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input envoi/previsualiser
$envoi=htmlentities($_POST['envoi']);
$previsualiser=htmlentities($_POST['previsualiser']);
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);

$apercu_resultat='<p>Aperçu du résultat :</p>';

//On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
//(on affiche Apercu du resultat, tel ou tel champ est vide, etc...
//Si ca ne vas pas (mal rempli, mail non valide...)


if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail)and(empty($message))and(empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message))
$apercu_resultat='';
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br>Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br>Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[SITE] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=iso-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
else
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}


echo $apercu_resultat;
}
else
{
echo '<p>Il suffit de remplir le formulaire suivant :</p><br/>';
$objet='';$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
0
Pour être tout a fait précis, ma page marche sur le local (127.0.0.1:8888) mais ne marche pas sur le serveur,

j'en conclus donc que ce n'est pas un problème de parenthese ou de quoi que ce soit.

Est ce que cela pourrait être lié au paramétrage de la fonction Mail en PHP?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
9 avril 2012 à 23:34
En général, ce genre d'erreur est du aux guillemets mal fermés, php ne peut pas déterminer l'endroit précis de l'erreur du coup.
0