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. 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??
    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. 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. 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 ?