PHP : parse error lors de la mise en ligne

val -  
 Profil bloqué -
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.

5 réponses

  1. Utilisateur anonyme
     
    Bonsoir,

    Regarde aussi du côté des parenthèses, accolades, points-virgules ...
    0
  2. val
     
    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
  3. val
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Profil bloqué
     
    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