IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

formulaire n'accepte pas maj+minusc.


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingenieur-retraité-electronique
    Inscrit en
    Mai 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Ingenieur-retraité-electronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 93
    Points : 38
    Points
    38
    Par défaut formulaire n'accepte pas maj+minusc.
    Bonjour,

    Débutant.
    Lorsque le client rempli le formulaire avec son E-mail sous forme d'un "mélange" entre minuscule et majuscule ex: monPrenom@gmx.net P=majsc)
    Le message s'inscrit :
    syntaxe du e-mail monPrenom@gmx.net incorrecte ou majuscule et il ne peut pas l'envoyer!?
    j'ai installé :
    [:alnum:] classe mais je ne vois pas.
    merci pour votre aide.
    Cdt

    voilà le code formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <?php
    session_start();
    /******************************************************************************/
    //mettre ici adresse du webmaster ou administrateur ou contact commercial ...
    $destinataire = "monnom@wanadoo.fr";
    /******************************************************************************/
     
    function checkMail($mail=null){
    if(preg_match("/^[\d\w\/+!=#|$?%{^&}*`'~-][\d\w\/\.+!=#|$?%{^&}*`'~-]*@[:alnum:][A-Z0-9.-]{1,61}[A-Z0-9]\.[A-Z]{2,6}$/ix",$mail)){
    return true;
    }else{
    return false;
    }
    }
     
    // -----------------------------------------
    // (il manque $v , $v=htmlentities(trim($v));
    // par
    // -----------------------------------------
     
    $err = null;
    foreach($_POST as $k => $v){
      if(empty($_POST[$k])){
      $err .= $k.' est vide<br />';
      }else{
      $v=htmlentities(trim($v));
      }
    } 
     
    if(isset($_POST['code']) && isset($_SESSION['code']) && !empty($_SESSION['code']) && $_POST['code']===$_SESSION['code']){
     
    // Pour chaque variable on verifie l'existance d'une valeur.
     
       if(empty($err) && checkMail($_POST['email'])===true){
     
            //aucune erreur preparation du mail pour envoi.
            $from = $_POST['email'];
            $message  = "Vous avez reçu un message<br />";
            $message .= "IP : ".$_SERVER["REMOTE_ADDR"]." en date du ".date('d-m-Y à H:i:s')."<br />";
            $message .= "<div style=\"background-color: #fedcba;\">Message : <br />".wordwrap($_POST['message'],100,"<br />",true)."<br /></div>";
            //@ $text = "Un mot très très loooooooooooooooooong.";
            //@ $newtext = wordwrap($text, 8, "\n", true);
            //@ echo "$newtext\n";
     
            $msg='';
            unset($_POST['envoi']);
            unset($_POST['code']);
            unset($_POST['message']);
     
            foreach($_POST as $k => $v){
            $msg .= '<p>'.$k.' : '.$v.'</p><br />';
            }
     
            $m = $message.$msg;
     
    		$headers  = 'From: "Contact_du_site "<premier_Email@gmx.net>'."\n";
            $headers  = 'From: "Contact_du_site "<deuxieme_Email@wanadoo.fr>'."\n";
            $headers .= 'Reply-To: '.$_POST['email']."\n";
            $headers .= 'Content-Type: text/html; charset="UFT-8"'."\n";
            $headers .= 'Content-Transfer-Encoding: 8bit';
     
                if(empty($err) && mail($destinataire, "Contact_de_client", $m, $headers)){
     
                unset($_SESSION['code']);
                echo '<hr><h3 align="center"><font color="green">Message envoyé (erfolgreich abgeschickt) !<br />
                Votre IP : '.$_SERVER['REMOTE_ADDR'].' est concervée
                jusqu\'au traitement du mail afin d\'éviter les abus !</font><br /><a href="javascript:history.back();">RETOUR-zurück</a></h3><hr>';
                }else{
                echo '<hr><h3 align="center">Un problème sur le serveur n\'a pas permit l\'envoi de votre message.
                <br />Merci de réessayer ultérieurement-bitte später versuchen<br />
                ou de me joindre directement par mail<br />
                à l\'adresse : '.$destinataire.'<br /><a href="javascript:history.back();">RETOUR</a></h3><hr>';
                }
     
        }else{
     
                    if(!checkMail($_POST['email'])){
                    $err .= '<hr><font color="red">Vérifier votre e-mail ?</font><hr>';
                    $err .= '<a href="javascript:history.back();">RETOUR</a>';
                    }else{
                    $err .= '<a href="javascript:history.back();">RETOUR</a>';
                    }
     
        }
     
     
    unset($_POST); 
     
    echo $err;
     
    }else{
    /*
    rien envoyer ou acces direct interdit
    on redirige vers le formulaire que l'on vide
    et si la page n'existe pas vers google
    */  
      if(file_exists('../formulaire.html')){
      header('Location: ../formulaire.html');exit;
      }else{
      header('Location: http://www.google.us');exit;
      }
     
    }
    ?>

  2. #2
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Je te recommande d'utiliser la fonction filter_var qui permet entre autres de valider une adresse courriel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function checkMail($mail=null){
    	if($mail!=='' && filter_var($mail,FILTER_VALIDATE_EMAIL))return true;
    	return false;
    }

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingenieur-retraité-electronique
    Inscrit en
    Mai 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Ingenieur-retraité-electronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Eric2a dans ton exemple je l'ai installé tel quel mais,
    malheureusement rien n'y fait je reçois toujours le même message.
    Néanmoins merci.

Discussions similaires

  1. [AC-2010] Formulaire n'accepte pas les modifs
    Par myrddin99 dans le forum IHM
    Réponses: 1
    Dernier message: 21/06/2012, 02h46
  2. Réponses: 7
    Dernier message: 19/12/2008, 23h12
  3. Enregistrer sous-formulaire meme si pas rempli
    Par mat75019 dans le forum Access
    Réponses: 3
    Dernier message: 22/04/2006, 08h32
  4. Select dans SQL n'accepte pas la virgule
    Par da_latifa dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/10/2005, 16h22
  5. Builder n'accepte pas try/catch/__finally
    Par Rodrigue dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/04/2005, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo