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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Formulaire contact PHP erreur script


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 42
    Par défaut Formulaire contact PHP erreur script
    Bonjour,
    Sur le site : https://sylvianeleblond.fr/ après l'intégration de reCaptcha (qui fonctionne correctement) dans les formulaires index.php et contact.php une erreur dans mon code persiste.

    INDEX.PHP :

    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
    <?php
    require('constant.php');
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    	<title>Contact Us</title>
    	<meta charset="UTF-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1">
    	<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet">
    	<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
    	<link href="../css/menu.css" rel="stylesheet" type="text/css">
    	<link href="../css/mail.css" rel="stylesheet">
    	<script src="component/jquery/jquery-3.2.1.min.js"></script>
    <script>
    	$(document).ready(function (e){
    		$("#frmContact").on('submit',(function(e){
    			e.preventDefault();
    			$("#mail-status").hide();
    			$('#send-message').hide();
    			$('#loader-icon').show();
    			$.ajax({
    				url: "contact.php",
    				type: "POST",
    				dataType:'json',
    				data: {
    				"nom":$('input[name="nom"]').val(),
    				"email":$('input[name="email"]').val(),
    				"ref":$('input[name="ref"]').val(),			
    				"message":$('textarea[name="message"]').val(),
    				"g-recaptcha-response":$('textarea[id="g-recaptcha-response"]').val()},				
    				success: function(response){
    				$("#mail-status").show();
    				$('#loader-icon').hide();
    				if(response.type == "error") {
    					$('#send-message').show();
    					$("#mail-status").attr("class","error");				
    				} else if(response.type == "message"){
    					$('#send-message').hide();
    					$("#mail-status").attr("class","success");							
    				}
    				$("#mail-status").html(response.text);	
    				},
    				error: function(){} 
    			});
    		}));
    	});
    	</script>
    	<script src='https://www.google.com/recaptcha/api.js'></script>	
    </head>
     
    ........
    <div id="central">
    	<div class="content">
    		<h3>Demande d'information</h3>
    		<div id="message">
    		<form id="frmContact"  action="" method="POST" novalidate="novalidate">
    			<div class="label">Nom Prénom</div>
    			<div class="field">
    				<input type="text" id="nom" name="nom" placeholder="saisir votre nom et prénom"  class="required" aria-required="true" required>
    			</div>
    			<div class="label">Email</div>
    			<div class="field">			
    				<input type="email" id="email" name="email" placeholder="saisir votre email "  class="required email" aria-required="true" required>
    			</div>
    			<div class="label">Référence</div>
    			<div class="field">
    				<select id="ref" name="ref" style="font-family : Open Sans; font-size:1em;width:500px;height:25px;" >
    					<?php
    						if (($handle = fopen("ref.csv", "r")) !== false) {
       							while (($data = fgetcsv($handle, 1000, ";")) !== false) {
            						echo '<option value="' . $data[0] . '">' . htmlspecialchars($data[0]) . '</option>';
        							}
        						fclose($handle);
    						}
    					?>	
    				</select>	
    			</div>	
    			<div class="label">Message</div>
    			<div class="field">			
    				<textarea  id="message" name="message" placeholder="saisir votre demande" required></textarea>			
    			</div>
    			<div class="g-recaptcha" data-sitekey="<?php echo SITE_KEY; ?>"></div>			
    			<div id="mail-status"></div>			
    			<button type="Submit" id="submit" style="clear:both;">Send Message</button>
    		</form>
    		<div id="loader-icon" style="display:none;"><img src="img/loader.gif" alt="" /></div>
    		</div>		
    	</div><!-- content -->
    </div><!-- central -->
    CONTACT.PHP

    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
    <?php
    if($_POST)
    {
    require('constant.php');
     
        $user_nom      = filter_var($_POST["nom"], FILTER_SANITIZE_STRING);
        $user_email     = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
        $ref     = filter_var($_POST["ref"], FILTER_SANITIZE_STRING);
        $message   = filter_var($_POST["message"], FILTER_SANITIZE_STRING);
     
        if(empty($user_nom)) {
    		$empty[] = "<b>Nom</b>";		
    	}
    	if(empty($user_email)) {
    		$empty[] = "<b>Email</b>";
    	}
    	if(empty($ref)) {
    		$empty[] = "<b>Référence</b>";
    	}	
    	if(empty($message)) {
    		$empty[] = "<b>Message</b>";
    	}
     
    	if(!empty($empty)) {
    		$output = json_encode(array('type'=>'error', 'text' => implode(", ",$empty) . ' Renseigner les champs !'));
            die($output);
    	}
     
    	if(!filter_var($user_email, FILTER_VALIDATE_EMAIL)){ //email validation
    	    $output = json_encode(array('type'=>'error', 'text' => '<b>'.$user_email.'</b> Adresse mail incorrecte !.'));
    		die($output);
    	}
    	//reCAPTCHA validation
    	if (isset($_POST['g-recaptcha-response'])) {
     
    		require('component/recaptcha/src/autoload.php');		
     
    		$recaptcha = new \ReCaptcha\ReCaptcha(SECRET_KEY, new \ReCaptcha\RequestMethod\SocketPost());
     
    		$resp = $recaptcha->verify($_POST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);
     
    		  if (!$resp->isSuccess()) {
    				$output = json_encode(array('type'=>'error', 'text' => '<b>Captcha</b> Activer la validation !'));
    				die($output);				
    		  }	
    	}
     
    	$toEmail = "xxxxxxxxx@gmail.com";
    	$mailHeaders = "De: " . $user_nom . "<" . $user_email . ">\r\n";
    	$mailBody = "Nom : " . $user_nom . "\n";
    	$mailBody .= "Email : " . $user_email . "\n";
    	$mailBody .= "Référence : " . $ref . "\n";
    	$mailBody .= "Message : " . $message . "\n";
     
    	if (mail($toEmail, "Contact Mail", $mailBody, $mailHeaders)) {
    	    $output = json_encode(array('type'=>'message', 'text' =>  'Merci pour votre message.'));
    	    die($output);
    	} else {
    	    $output = json_encode(array('type'=>'error', 'text' => 'Envoi impossible'.SENDER_EMAIL));
    	    die($output);
    	}
    }
    ?>
    Après la saisie des champs du formulaire, Référence [ref] la validation [submit] provoque une erreur : il m'indique "saisie ref demandée !" alors que la sélection Référence dans la liste a bien été effectuée.
    Je ne maitise pas PHP
    Merci par avance pour votre conseil.
    Cordialement

  2. #2
    Invité de passage
    Homme Profil pro
    RH
    Inscrit en
    Janvier 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : RH

    Informations forums :
    Inscription : Janvier 2016
    Messages : 1
    Par défaut
    Bonjour lemask,

    Je ne suis pas non plus un expert, mais je pense que le problème vient du sélecteur JS.
    Essaie en remplaçant dans ta requête AJAX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ref":$('input[name="ref"]').val()
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ref":$('input[name="ref"]:selected').val()

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Nulle part dans ton code on trouve "saisie ref demandée".
    Or, ça ne sort pas d'un chapeau...

    MONTRE le message d'erreur complet.



    @mestuz
    Depuis quand un champ <input> peut/doit être "selected" ?
    Tu confonds avec un <select>.

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 42
    Par défaut Message erreur submit contact
    Bonsoir,

    jreaux62 : voici le message d'erreur après remplissage du formulaire :

    Nom : erreur_ref_contact.jpg
Affichages : 718
Taille : 23,3 Ko

    Mestuz : la modification n'a pas résolu le problème. le message apparaît comme ci-dessus.

    Cordialement

  5. #5
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 42
    Par défaut Formulaire contact PHP erreur script
    Bonjour,
    Le fait que cela soit un "select" la vérification ne se fait pas correctement !
    Quelqu'un a-t-il une idée sur l'anomalie rencontrée ?
    Cordialement

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ref":$('select[name="ref"]').val()

  7. #7
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 42
    Par défaut
    Bonsoir,
    Merci pour votre prompte réponse.
    Cette modification a bien résolu mon anomalie.
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme gmail et formulaire contact php
    Par eckso7 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 29/05/2014, 21h47
  2. [CS4] Formulaire de contact Flash + PHP Erreur
    Par julien1199 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 17/10/2010, 22h28
  3. Souci formulaire contact php avec captcha
    Par snip74 dans le forum Langage
    Réponses: 25
    Dernier message: 28/09/2010, 12h23
  4. Problème formulaire contact PHP
    Par cortobm dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2008, 11h27
  5. [MySQL] Formulaire de recherche PHP + un script d recherche en HTML
    Par Dsphinx dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/11/2005, 19h44

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