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

JavaScript Discussion :

attribut required


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien r�seaux et t�l�coms
    Inscrit en
    Octobre 2013
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Technicien r�seaux et t�l�coms
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par d�faut attribut required
    Salut!!

    Voil�, j'ai un code qui fonctioone en PHP pour v�rifier si un champ est rempli ou non:

    Code PHP : 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
    <?php
    $msg_erreur = "Erreur! Les champs suivants doivent etre obligatoirement remplis :<br/><br/>";
    $msg_ok = "Votre demande de contact a bien ete prise en compte!<br/>" . "Je vous repondrai des que possible." . "<br/>" . "Redirection en cours...";
    $message = $msg_erreur;
     
    define('MAIL_DESTINATAIRE','[email protected]'); // Votre e-mail
    define('MAIL_SUJET','Demande de contact');	// L'objet du message
     
    // Vérification des champs
    if (empty($_POST['Civilite'])) 
    $message .= "Votre Civilite<br/>";
     
    if (empty($_POST['Prenom'])) 
    $message .= "Votre Prenom<br/>";
     
    if (empty($_POST['Nom'])) 
    $message .= "Votre Nom<br/>";
     
    if (empty($_POST['Email'])) 
    $message .= "Votre E-Mail<br/>";
     
    if (empty($_POST['Msg'])) 
    $message .= "Votre Message<br/>";
     
    // Si un champ est vide, on affiche le message d'erreur et on stop le script
    if (strlen($message) > strlen($msg_erreur)) {
       echo $message;
       die();
    }
     
    // Sinon c'est ok donc on continue
    foreach($_POST as $index => $valeur) {
      $$index = stripslashes(trim($valeur));
    }
     
    // Préparation de l'entête du mail:
    $mail_entete  = "MIME-Version: 1.0\r\n";
    $mail_entete .= "From:{$_POST['Prenom']}" . " " . "{$_POST['Nom']} " . "<{$_POST['Email']}>\r\n";
    $mail_entete .= 'Reply-To: '.$_POST['Email']."\r\n";
    $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
    $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
    $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
     
    // préparation du corps du mail
    $mail_corps  = "Demande de contact: $Civilite $Prenom $Nom\n";
    $mail_corps .= "Téléphone: $Telephone\n\n";
    $mail_corps .= "Informations supplementaires: $Msg";
     
    // Envoi du mail
    if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
      // Le mail est bien expédié
      header('Location: ContactValide.html');
     
    } else {
      // Le mail n'a pas été expédié
      header('Location: ContactInValide.html');
    }
     
    ?>


    Mon probl�me est le suivant:
    Actuellement l'utilisateur clic sur le bouton envoyer d'un formulaire et cela appelle la fonction. Si les champs sont rempli, le formulaire est envoy�. Si un champ ne l'est pas, voil� ce qui ce passe:
    Code PHP : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    // Si un champ est vide, on affiche le message d'erreur et on stop le script
    if (strlen($message) > strlen($msg_erreur)) {
       echo $message;
       die();
    }

    Avec die(); tout se trop.. Ca fonctionne mais c'est moche et ca oblige l'utilisateur � valider le formulaire avant de voir quel champ doit etre rempli..


    J'aimerai savoir qu'elles sont les modifications � apporter a mon code pour pouvoir dire a l'utilisateur que le champ doit �tre obligatoirement rempli lorsqu'il commence � taper dedans (onkeyup?)


    Merci d'avance!


    PS: mon code HTML au cas ou:
    Code HTML : 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
    <form method="post" action="TraitementMeContacter.php">
    	<fieldset>
    	<legend>Identité</legend>
    	<table>
    		<tr>
    			<td><label>Civilité: </label></td>
    			<td><input type="radio" name="Civilite" value="Mme" required/>Mme     <input type="radio" name="Civilite" value="Mlle" required/>Mlle     <input type="radio" name="Civilite" value="Mr" required/>Mr</td>
    		</tr>
     
    		<tr>
    			<td><label>Nom:</label></td>
    			<td><input type="text" name="Nom" size="30"  placeholder="DUPONT" required/></td>
    		</tr>
     
    		<tr>
    			<td><label>Prénom:</label></td>
    			<td><input type="text" name="Prenom" size="30" placeholder="Manon" required/></td>
    		</tr>
    	</table>
    	</fieldset>
     
    	<br>
     
    	<fieldset>
    	<legend>Contacts</legend>
    	<table>
    		<tr>
    			<td><label>Adresse E-Mail:</label></td>
    			<td><input type="text" name="Email" size="30" placeholder="[email protected]" required/></td>
    		</tr>
     
    		<tr>
    			<td><label>Téléphone:</label></td>
    			<td><input type="text" name="Telephone" size="30" placeholder="06.07.08.09.10"/></td>
    		</tr>
    	</table>
    	</fieldset>
     
    	<br>
     
    	<fieldset>
    	<legend>Message:</legend>
    			<textarea name="Msg" rows="5" cols="100" required></textarea>
    	</fieldset>
    	<p id="buttons">
    		<input type="submit" value="Envoyer" />
    		<input type="reset" value="Effacer" />
    	</p>
    </form>


    EDIT: d�plac� en JS par modo mais ce que j'aimerai c'est bien modifier ma fonction PHP please

  2. #2
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    les question php sont � poser sur le forum php
    le die tue le script en cours

    cette question a �t� pos� de milliers de fois sur les forum php
    je propose de clore cette discu, que tu lise la faq php et que tu cherches dans le forum php les diverses solutions propos�es.

    en tout cas rien a voir avec javascript.
    pour tout ceux qui seraient tent� de contre dire
    toute v�rification javascript n'est que cosm�tique elle ne garantie en rien que les donn�es seront correctes lors de l'envoie au serveur et c'est donc bien sur le serveur qu'il faut faire cette derni�re v�rification. et celle-ci est dans se cas en PHP
    A+JYT

  3. #3
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par algerino77
    J'aimerai savoir qu'elles sont les modifications � apporter a mon code pour pouvoir dire a l'utilisateur que le champ doit �tre obligatoirement rempli lorsqu'il commence � taper dedans (onkeyup?)
    Je vois mal comment tu pourras faire �a en PHP...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Membre averti
    Homme Profil pro
    Technicien r�seaux et t�l�coms
    Inscrit en
    Octobre 2013
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Technicien r�seaux et t�l�coms
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par d�faut
    Citation Envoy� par sekaijin Voir le message
    les question php sont � poser sur le forum php
    le die tue le script en cours

    cette question a �t� pos� de milliers de fois sur les forum php
    je propose de clore cette discu, que tu lise la faq php et que tu cherches dans le forum php les diverses solutions propos�es.

    en tout cas rien a voir avec javascript.
    pour tout ceux qui seraient tent� de contre dire
    toute v�rification javascript n'est que cosm�tique elle ne garantie en rien que les donn�es seront correctes lors de l'envoie au serveur et c'est donc bien sur le serveur qu'il faut faire cette derni�re v�rification. et celle-ci est dans se cas en PHP
    A+JYT
    Salut!

    C'est pour cela qu'a la base je l'ai post� dans le forum PHP mais un modo l'a d�plac� ici je ne sais pas pk..
    Je veux bien lire la FAC PHP, mais peut tu me confirmer que c'est possible de le faire en PHP?


    Citation Envoy� par Bovino Voir le message
    Je vois mal comment tu pourras faire �a en PHP...
    Normalement il n'y a pas grand chose � modifier

  5. #5
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Citation Envoy� par algerino77 Voir le message
    Salut!...
    Normalement il n'y a pas grand chose � modifier
    Tu veux rire l� je supose.

    revoir compl�tement ta fa�on de faire du PHP.
    apprendre le pattern de conception et les appliquer PRG, MVC etc.
    bannir tous les die et autre instruction qui interrompent le script.
    Utiliser les les try catch
    traiter les tous les cas d'erreur c�t� serveur
    red�finir la navigation pour prendre en compte les cas d'erreur.

    et tout �a rien que du c�t� PHP
    lorsque le site est de nouveau op�rationnel
    tu peux alors envisager d'embarquer du javascript pour facilit� la saisie c�t� client.

    mais si tu fais �a sans avoir revu ta conception php tu auras toujours un die et donc un message pourri lorsque tu passera par l�.

    A+JYT

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [2.x] [CKEditor] Supprimer l'attribut required
    Par stc074 dans le forum Symfony
    R�ponses: 4
    Dernier message: 26/01/2013, 18h53
  2. [CSS 3] Action sur attribut required d'une autre balise
    Par Christophe Charron dans le forum Mise en page CSS
    R�ponses: 0
    Dernier message: 12/09/2012, 10h50
  3. R�ponses: 2
    Dernier message: 23/03/2012, 14h15
  4. [HTML 5] Attribut [required] pour formulaire
    Par natow dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 3
    Dernier message: 19/07/2011, 09h23
  5. Validator maison et attribut required
    Par sir_gcc dans le forum JSF
    R�ponses: 4
    Dernier message: 11/05/2007, 13h41

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