Parse error: syntax error, unexpected 'if' (T_IF)

Bonjour,
Dans mon site j'ai essayé de faire une newsletter seulement il y a Parse error: syntax error, unexpected 'if' (T_IF) dans la ligne 6. Voici cette ligne 6.

if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',str_replace('&','&',$email)));

Merci beaucoup

5 réponses

  1. Bonjour

    Ce serait bien en effet que tu donnes le code de la région concernée (au moins quelques lignes avant)

    N'aurais-tu pas oublié le ; à la fin de la ligne précédente ?
    1. A mon avis je n'ai rien oublié mais bon je peux me tromper je ne suis que débutant.

      Voici autour :

      3 {
      4 $destinataire = ***@***;
      5 $email = ***@***;
      6 if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+\.?)*[a-z0- 9!\#$%&\\\'*+/=?^_'{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z] {2,}$#i',str_replace('&','&',$email)));
      7 {
      8 $sujet = 'Bonjour';
      9 $message = 'C\'est qui a ton avis ?.';
      1. Pas de unexpected 'if' (T_IF) là-dedans.
        Par contre...
        As-tu bien des "" autour de tes ***@*** ?

        ton expression dans preg_match est incorrecte, elle contient de apostrophes non échappées. Or comme elle commence par une apostrophe, elle se termine à la première apostrophe suivante, le reste de la ligne n'est plus qu'une vaste erreur.
        De plus, le ; à la fin du if est une grosse erreur : ce ; constitue une instruction vide et le if ne s'applique qu'à cette instruction, et pas au bloc {...} qui suit. Il ne faut donc pas mettre de ; ici.

        Ne mets pas de numéro de ligne quand tu postes ton code, ça nous oblige à les enlever pour le recopier.
        1. Alors j'ai fait ce que tu m'as dit mais maintenant j'ai "unexpected ';' dans la ligne 6 mais je l'ai supprimé ! Comment faire??