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

PHP & Base de données Discussion :

Validation de données avec fenêtre popup [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 80
    Par défaut Validation de données avec fenêtre popup
    Bonjour à tous,

    Voilà un moment que je cherche à faire une simple redirection de page en php.

    Mon problème est (me semble...) simple : je valide un formulaire de la page modifier_enfant.php qui se redirige vers une page avec la requête SQL qui va bien qui se nomme modifier_enfant_cible.php. Jusque là tout va bien.

    Mais... : je souhaite ouvrir une fenêtre avec deux boutons oui / non ou valider / annuler, récupérer la valeur du bouton cliqué et dans ma page modifier_enfant_cible.php faire une instruction conditionnelle if then else qui m'exécuterait le code SQL en fonction de la réponse de l'utilisateur.

    Malgré mes recherches sur internet, je n'ai toujours rien trouvé, et c'est pourquoi je me retourne vers vous. Merci par avance pour votre aide et votre temps passé sur ce problème...

    Voilà mon code modifier_enfant.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
     
    <?php
    include('../param_conn.php');
    $req = $bdd->prepare('SELECT * FROM ime_enfant WHERE num_enfant = ?');
    $req->execute(array($_GET['num_enfant']));
    while ($donnees = $req->fetch())
        {
     
    ?>
    <body>
    <form method="post" action="modifier_enfant_cible.php">
    <h1>Modifier les données concernant l'enfant :</h1>
     
    <p>
        <table align=center>
    	<tr><td><h2><em><font color="red">Données administratives :</font></em></h2></td></tr>
    	<input name="num_enfant" value="<?php echo $donnees['num_enfant']; ?>" type="hidden">
    	<tr><td>Nom de l'enfant :</td><td><input type="text" name="nom_enfant" value="<?php echo $donnees['nom_enfant']; ?>"/></td></tr>
    	<tr><td>Prénom de l'enfant :</td><td><input type="text" name="prenom_enfant" value="<?php echo $donnees['prenom_enfant']; ?>"/></td></tr>
    	<tr><td>Date de naissance de l'enfant :</td><td><input type="text" class="w5em dateformat-d-sl-m-sl-Y" id="dp-1" name="ddn_enfant" value="<?php echo $donnees['DDN_enfant']; ?>" /></td></tr>
    	<tr><td>Situation familiale de l'enfant :</td><td><textarea rows="2" cols="20" name="sf_enfant" value=""><?php echo $donnees['SF_enfant']; ?></textarea></td></tr>
    	<tr><td>Date d'entrée de l'enfant :</td><td><input type="text" class="w5em dateformat-d-sl-m-sl-Y" id="dp-2" name="date_entree_enfant" value="<?php echo $donnees['Date_entree_enfant']; ?>" /></td></tr>
    	<tr><td>Date début séjour de l'enfant :</td><td><input type="text" class="w5em dateformat-d-sl-m-sl-Y" id="dp-3" name="date_debut_sejour_enfant" value="<?php echo $donnees['Date_debut_contrat_sejour_enfant']; ?>" /></td></tr>
    	<tr><td>Date fin séjour de l'enfant :</td><td><input type="text" class="w5em dateformat-d-sl-m-sl-Y" id="dp-4" name="date_fin_sejour_enfant" value="<?php echo $donnees['Date_fin_contrat_sejour_enfant']; ?>" /></td></tr>
    	<tr><td>Date début MDPH de l'enfant :</td><td><input type="text" class="w5em dateformat-d-sl-m-sl-Y" id="dp-5" name="mdph_date_debut_enfant" value="<?php echo $donnees['MDPH_date_debut_enfant']; ?>" /></td></tr>
    	<tr><td>Date fin MDPH de l'enfant :</td><td><input type="text" class="w5em dateformat-d-sl-m-sl-Y" id="dp-6" name="mdph_date_fin_enfant" value="<?php echo $donnees['MDPH_date_fin_enfant']; ?>" /></td></tr>
    	<tr><td><h2><em><font color="red">Données spécifiques :</font></em></h2></td></tr>
    	<tr><td>Diagnostic psy. de l'enfant :</td><td><textarea rows="2" cols="20" name="diag_psy_enfant" value=""><?php echo $donnees['Diagnostic_psy_enfant']; ?></textarea></td></tr>
    	<tr><td>Diagnostic cria de l'enfant :</td><td><textarea rows="2" cols="20" name="diag_cria_enfant" value=""><?php echo $donnees['Diagnostic_cria_enfant']; ?></textarea></td></tr>
    	<tr><td>Informations médicales enfant :</td><td><textarea rows="2" cols="20" name="infos_medicales_enfant" value=""><?php echo $donnees['Infos_medicales_enfant']; ?></textarea></td></tr>
    	<tr><td>Suivi externe enfant :</td><td><textarea rows="2" cols="20" name="suivi_externe_enfant" value=""><?php echo $donnees['Suivi_externe_enfant']; ?></textarea></td></tr>
    	<tr><td><h2><em><font color="red">Données internes :</font></em></h2></td></tr>
    	<tr><td>Suivi interne enfant :</td><td><textarea rows="2" cols="20" name="suivi_interne_enfant"><?php echo $donnees['Suivi_interne_enfant']; ?></textarea></td></tr>
    	<tr><td><input type="button" value="RETOUR" align=right onClick="javascript:document.location.href='index.php'" /></td><td><input type="submit" value="INSCRIRE EN BASE DE DONNEES" /></td></tr>
    	</table>
    </p>
    <?php
    	}
    $req->closeCursor();
    ?>
    </form>
    Et le code SQL qui met à jour les données où j'ai l'intention de récupérer la valeur du bouton cliqué :

    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
     
    <?php
     
    /** ICI LE CODE JAVASCRIPT OU AUTRE POUR EXECUTER OU NON LA REQUETE **/
     
    include('../param_conn.php');
    $num_enfant = $_POST['num_enfant'];
    $nom_enfant = $_POST['nom_enfant'];
    $prenom_enfant = $_POST['prenom_enfant'];
    $DDN_enfant = $_POST['ddn_enfant'];
    		$annee = substr($DDN_enfant, 6, 4);
    		$mois = substr($DDN_enfant, 3, 2);
    		$jour = substr($DDN_enfant, 0, 2);
    		$DDN_enfant =  $annee.'-'.$mois.'-'.$jour;
    $SF_enfant = $_POST['sf_enfant'];
    $Date_entree_enfant = $_POST['date_entree_enfant'];
    		$annee = substr($Date_entree_enfant, 6, 4);
    		$mois = substr($Date_entree_enfant, 3, 2);
    		$jour = substr($Date_entree_enfant, 0, 2);
    		$Date_entree_enfant =  $annee.'-'.$mois.'-'.$jour;
    $Date_debut_contrat_sejour_enfant = $_POST['date_debut_sejour_enfant'];
    		$annee = substr($Date_debut_contrat_sejour_enfant, 6, 4);
    		$mois = substr($Date_debut_contrat_sejour_enfant, 3, 2);
    		$jour = substr($Date_debut_contrat_sejour_enfant, 0, 2);
    		$Date_debut_contrat_sejour_enfant =  $annee.'-'.$mois.'-'.$jour;
    $Date_fin_contrat_sejour_enfant = $_POST['date_fin_sejour_enfant'];
    		$annee = substr($Date_fin_contrat_sejour_enfant, 6, 4);
    		$mois = substr($Date_fin_contrat_sejour_enfant, 3, 2);
    		$jour = substr($Date_fin_contrat_sejour_enfant, 0, 2);
    		$Date_fin_contrat_sejour_enfant =  $annee.'-'.$mois.'-'.$jour;
    $MDPH_date_debut_enfant = $_POST['mdph_date_debut_enfant'];
    		$annee = substr($MDPH_date_debut_enfant, 6, 4);
    		$mois = substr($MDPH_date_debut_enfant, 3, 2);
    		$jour = substr($MDPH_date_debut_enfant, 0, 2);
    		$MDPH_date_debut_enfant =  $annee.'-'.$mois.'-'.$jour;
    $MDPH_date_fin_enfant = $_POST['mdph_date_fin_enfant'];
    		$annee = substr($MDPH_date_fin_enfant, 6, 4);
    		$mois = substr($MDPH_date_fin_enfant, 3, 2);
    		$jour = substr($MDPH_date_fin_enfant, 0, 2);
    		$MDPH_date_fin_enfant =  $annee.'-'.$mois.'-'.$jour;
    $Diagnostic_psy_enfant = $_POST['diag_psy_enfant'];
    $Diagnostic_cria_enfant = $_POST['diag_cria_enfant'];
    $Infos_medicales_enfant = $_POST['infos_medicales_enfant'];
    $Suivi_externe_enfant = $_POST['suivi_externe_enfant'];
    $Suivi_interne_enfant = $_POST['suivi_interne_enfant'];
     
    $req = $bdd->prepare('UPDATE ime_enfant SET
    nom_enfant = :nom_enfant,
    prenom_enfant = :prenom_enfant,
    DDN_enfant = :DDN_enfant,
    SF_enfant = :SF_enfant,
    Date_entree_enfant = :Date_entree_enfant,
    Date_debut_contrat_sejour_enfant = :Date_debut_contrat_sejour_enfant,
    Date_fin_contrat_sejour_enfant = :Date_fin_contrat_sejour_enfant,
    MDPH_date_debut_enfant = :MDPH_date_debut_enfant,
    MDPH_date_fin_enfant = :MDPH_date_fin_enfant,
    Diagnostic_psy_enfant = :Diagnostic_psy_enfant,
    Diagnostic_cria_enfant = :Diagnostic_cria_enfant,
    Infos_medicales_enfant = :Infos_medicales_enfant,
    Suivi_externe_enfant = :Suivi_externe_enfant,
    Suivi_interne_enfant = :Suivi_interne_enfant WHERE num_enfant = :num_enfant');
     
    $req->execute(array(
    	'nom_enfant' => $nom_enfant,
    	'prenom_enfant' => $prenom_enfant,
    	'num_enfant' => $num_enfant,
    	'DDN_enfant' => $DDN_enfant,
    	'SF_enfant' => $SF_enfant,
    	'Date_entree_enfant' => $Date_entree_enfant,
    	'Date_debut_contrat_sejour_enfant' => $Date_debut_contrat_sejour_enfant,
    	'Date_fin_contrat_sejour_enfant' => $Date_fin_contrat_sejour_enfant,
    	'MDPH_date_debut_enfant' => $MDPH_date_debut_enfant,
    	'MDPH_date_fin_enfant' => $MDPH_date_fin_enfant,
    	'Diagnostic_psy_enfant' => $Diagnostic_psy_enfant,
    	'Diagnostic_cria_enfant' => $Diagnostic_cria_enfant,
    	'Infos_medicales_enfant' => $Infos_medicales_enfant,
    	'Suivi_externe_enfant' => $Suivi_externe_enfant,
    	'Suivi_interne_enfant' => $Suivi_interne_enfant	
    	));
     
    ?>

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Par défaut
    Bonjour,

    Sur la dernière ligne de ton formulaire, tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...<tr><td><input type="button" value="RETOUR" align=right onClick="javascript:document.location.href='index.php'" /></td><td><input type="submit" value="INSCRIRE EN BASE DE DONNEES" /></td></tr>...
    Tu as une méthode POST, alors mets un name sur ton submit, et teste la valeur de la value dans la page réceptionnant les variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...<tr><td><input type="button" value="RETOUR" align=right onClick="javascript:document.location.href='index.php'" /></td><td><input type="submit"  name="MonSubmit" value="INSCRIRE EN BASE DE DONNEES" /></td></tr>...
    et à la réception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(isset($_POST['MonSubmit'])&&strtoupper($_POST['MonSubmit']=='INSCRIRE EN BASE DE DONNEES')){
      // Ben tu fais ce que tu as à faire, ex : passer ta requête
    } else {
      // sinon tu faits autre chose 
    }
    En gros, c'est ce que je ferais...

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Par défaut
    Bonjour,

    Tu peux le faire en AJAX (donc avec du JS) :

    A la place du submit de ton formulaire tu mets un <button></button> avec un onClick="maFonctionJS()"

    Ta fonction maFonctionJS() :

    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
    if (confirm("Etes-vous sur de vouloir modifier ?" ))
    {
    	var xmlhttp;
    	if (window.XMLHttpRequest)
    	{
    		// code for IE7+, Firefox, Chrome, Opera, Safari
    		xmlhttp = new XMLHttpRequest();
    	}
    	else
    	{
    		// code for IE6, IE5
    		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    	}
     
    	xmlhttp.onreadystatechange=function()
    	{
    		if (xmlhttp.readyState==4 && xmlhttp.status==200)
    		{
    			// Action
    		}
    	}
    	// On envoie au script
    	xmlhttp.open("GET",modifier_enfant_cible.php?param1=value1&param2=value2,true);
    	xmlhttp.send();
    }
    Attention le code "xmlhttp.open" est différent si tu envoies en POST.

    Deuxième façon passé par un script intermédiaire comme te l'as proposé lenono.

    modifier_enfant.php (formulaire) > validation_modifier_enfant_cible.php (bouton Oui/Non) > modifier_enfant_cible.php (script avec requête SQL)

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 80
    Par défaut
    Bonjour à vous deux et à tous ceux qui suivent le cours de ce problème...
    Voilà j'ai essayé la technique de lenono mais je ne me suis pas bien expliqué :

    1) l'utilisateur clique sur le bouton INSRIRE EN BD
    2) je souhaite ouvrir une fenêtre popup oui / non du genre êtes vous sûr de bien vouloir sauvegarder ces infos.
    3) récupérer la valeur du bouton cliqué oui ou non et faire comme lenono me l'a montré un if then else
    4) c'est gagné

    Donc là où cela bloque c'est dans l'affichage de cette boite de dialogue oui / non...et je suis une vraie mule car je n'arrive pas à trouver cela sur le net et pourtant je suis sûr que cela existe ! ! !

    En tous cas merci pour votre aide ! ! !
    @+
    Jérôme

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Par défaut
    Citation Envoyé par jeje_974 Voir le message
    Donc là où cela bloque c'est dans l'affichage de cette boite de dialogue oui / non...et je suis une vraie mule car je n'arrive pas à trouver cela sur le net et pourtant je suis sûr que cela existe ! ! !
    Tu n'as pas lu mon code.
    Essaye de mettre ceci dans un .html et affiche le dans ton browser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript">confirm("Etes-vous sur de vouloir modifier ?")</script>

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 80
    Par défaut
    Super c'est exactement ce que je souhaite.
    Mais comment tu récupères le oui ou le non...par le biais du :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (confirm("Etes-vous sur de vouloir modifier ?" ))
    {
    Mais attend...là j'ai un problème : je le place où ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script type="text/javascript">confirm("Etes-vous sur de vouloir modifier ?")</script>
    ...dans modifer_enfant.php ?

    Merci pour ton aide ! ! !

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

Discussions similaires

  1. validation de données avec struts2(validator)
    Par safito dans le forum Struts 1
    Réponses: 0
    Dernier message: 16/05/2010, 00h16
  2. Création de validation de donnée avec plage variable
    Par Krovax dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/02/2009, 13h14
  3. validation de données avec l'extension Filter
    Par RootsRagga dans le forum Langage
    Réponses: 2
    Dernier message: 12/12/2008, 22h16
  4. Réponses: 11
    Dernier message: 14/07/2008, 18h35
  5. Saisie données via fenêtre popup
    Par raf64flo dans le forum Macro
    Réponses: 3
    Dernier message: 11/04/2008, 17h03

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