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 :

Changer la valeur d'une variable avec "onClick"


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Tryp'
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 53
    Points
    53
    Par défaut Changer la valeur d'une variable avec "onClick"
    Bonjour,

    Voila un petit moment que je cherche sur mon code et sur le net sans trouver de réponses.
    J'aimerais enfait afficher un formulaire quand l'utilisateur clique sur mon boutton.

    Voici mon code :

    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
    <?php
    mysql_connect("localhost", "root", "root");
    mysql_select_db("bdd_tryp");
    
    $retour = mysql_query('SELECT * FROM Comptes_utilisateurs WHERE Nom_user=\'' . $_COOKIE['NOM_USER'] . '\'');
    while ($donnees = mysql_fetch_array($retour))
    {
    ?>
    <?php $masquer_formulaire = true ?>
    <?php include("haut.php"); ?>
    
    <div class="cadre">
    	<p><b>Informations actuel : </b></p>
    	<p>Pseudo : <?php echo stripslashes($donnees['Nom_user']); ?></p>
    	<p>Mot de passe : <?php echo stripslashes($donnees['Mot_de_passe']); ?></p>
    	<p>Adresse e-mail : <?php echo stripslashes($donnees['Adresse_Email']); ?></p>
    	<p>Date d'inscription : <?php echo date('d/m/Y', $donnees['Date_inscription']); ?></p>
    	<input type="button" VALUE=" Modifier mes informations" onClick="$masquer_formulaire = false" >
    
    <?php
    	if  ($masquer_formulaire = false){
    	?>
    	<HR WIDTH="100%">
    	<p><strong><i>A remplir uniquement si vous souhaitez modifier les informations ci-dessus</i></strong></p>
    	<p>Nouvelle Adresse mail : <input type="text" size="30" name="mail" value="<?php echo $donnees['Adresse_Email']; ?>" /></p>
    	<p>Nouveau mot de passe : <input type="password" size="30" name="mot de passe" />
    	<p>Confirmez le mot de passe : <input type="password" size="30" name="mot de passe" />
    </div>
    <?php
    	}
    }
    ?>
    </table>
    </div>
    </body>
    </html>
    Je pense que je doit mal utiliser la fonction "onClick" mais je ne parvient pas a trouver ce que je fait mal.
    En gros je veut que lorsque l'utilisateur appuie sur "Modifier mes informations" , mon formulaire s'affiche.
    Cependant, il ne se passe rien, la valeur de $masquer_formulaire ne change pas elle reste a true...

    Merci de votre aide.

    Cordialement,

    Tryp'

  2. #2
    Invité
    Invité(e)
    Par défaut
    Beaucoup d'erreurs dans ton code.
    Une solution :
    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
    <?php
    mysql_connect("localhost", "root", "root");
    mysql_select_db("bdd_tryp");
     
    $retour = mysql_query("SELECT * FROM Comptes_utilisateurs WHERE Nom_user='".$_COOKIE['NOM_USER']."'");
    // afficher le formulaire  de modification ?
    if(isset($_GET['form_modif']) && $_GET['form_modif']=='modifier'){
    	$masquer_formulaire = false;
    } else {
    	$masquer_formulaire = true;
    }
    // affichage
    while ($donnees = mysql_fetch_array($retour))
    {
    	include("haut.php");
     
       echo '
       <div class="cadre">
    	<p><b>Informations actuel : </b></p>
    	<p>Pseudo : '.stripslashes($donnees['Nom_user']).'</p>
    	<p>Mot de passe : '.stripslashes($donnees['Mot_de_passe']).'</p>
    	<p>Adresse e-mail : '.stripslashes($donnees['Adresse_Email']).'</p>
    	<p>Date d\'inscription : '.date('d/m/Y', $donnees['Date_inscription']).'</p>
    	<a href="cettepage.php?form_modif=modifier">Modifier mes informations</a>
       ';
     
    	if ($masquer_formulaire = false)
    	{
    	// balise <form> !!! + DEFINIR la page de traitement : (action="....") !!
    	echo '
    	<form method="post" action=".....?.....">
    	<hr width="100%">
    	<p><strong><i>A remplir uniquement si vous souhaitez modifier les informations ci-dessus</i></strong></p>
    	<p>Nouvelle Adresse mail : <input type="text" size="30" name="mail" value="'.$donnees['Adresse_Email'].'" /></p>
    	<p>Nouveau mot de passe : <input type="password" size="30" name="mot_de_passe" />
    	<p>Confirmez le mot de passe : <input type="password" size="30" name="mot_de_passe_confirmer" />
    	</form>
    	';
    	}
     
       echo '</div>';
     
    }
    // deconnexion BD
    mysql_close();
    ?>
    </body>
    </html>

  3. #3
    Membre du Club Avatar de Tryp'
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 53
    Points
    53
    Par défaut
    Merci de vôtre réponse rapide.
    Cependant je ne comprend pas tout a fait certaines choses.
    Pourquoi faut il changer de pages? Je ne peu pas juste en fonction du bouton afficher ou non un formulaire?
    Ce formulaire de modification d'informations (qui n'est pas fini) fera un Update en fonction de ce que l'utilisateur aura tapé.

    J'ai du mal a comprendre votre code, pourriez vous m'expliquer les lignes suivantes? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // afficher le formulaire  de modification ?
    if(isset($_GET['form_modif']) && $_GET['form_modif']=='modifier'){
    	$masquer_formulaire = false;
    // On verifie si form_modif a pour valeur "modifier" ?
    } else {
    	$masquer_formulaire = true;
    // Sinon on masque le formulaire? Donc en gros on regarde si l'utilisateur a cliquer sur modifier formulaire?
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <a href="cettepage.php?form_modif=modifier">Modifier mes informations</a> 
    // C'est sur cette page que je doit modifier les informations? je ne peu pas pointer sur la même page afin de modifier en dessous?
     
    <?php
    	if ($masquer_formulaire = false)
    	{
    ?>
    	<form method="post" action=".....?....."> // DEFINIR la page
     // action= quel page? la page de modification? Toujours la même question, pourquoi changer de page?
    Merci de votre aide, j'avoue que je suis un peu perdu :s

    Je n'arrive pas a le faire fonctionner, il n'est pas possible d'afficher

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Points : 273
    Points
    273
    Par défaut
    En fait, ce que te proposes jreaux62 c'est de modifier recharger ta page pour avoir acces à ton formulaire (il rajoute juste dans l'url une variable form_modif)

    C'est sur cette page que je doit modifier les informations? je ne peu pas pointer sur la même page afin de modifier en dessous?
    C'est justement ce que te propose de faire jreaux62.

    action= quel page? la page de modification? Toujours la même question, pourquoi changer de page?
    Aïe aïe aïe... et bien c'est la page de traitement de ton formulaire... normalement elle doit porter un nom finissant par un .php comme traitement.php.

    Il vaut mieux changer de page pour éviter de tout faire sur une seule et même page... C'est comme dans la vie : Un gars pose une question et un autre lui donne la réponse (sauf cas extrème de l'introspection) Et bien là c'est pareil.


    Patouche

    Edit : Cela serait bien plus simple à faire en JS : Tu as juste a changer une propriété de style en faisant tonElement.style.display = "none" (si tu veux le masquer) ou = "" si tu veux l'afficher.

  5. #5
    Membre du Club Avatar de Tryp'
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 53
    Points
    53
    Par défaut
    Merci tu m'as un peu éclairé avec ton explication , j'ai presque réussis a comprend le fonctionnement que m'a proposé jreaux
    Cependant je n'y arrive pas encore, il doit manquer un tout petit truc mais quoi , je cherche je cherche ^^
    Pour l'instant j'ai fait ca :

    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
     
     
    <?php
    mysql_connect("localhost", "root", "root");
    mysql_select_db("bdd_tryp");
     
    $retour = mysql_query("SELECT * FROM Comptes_utilisateurs WHERE Nom_user='".$_COOKIE['NOM_USER']."'");
    // afficher le formulaire  de modification ?
    if(isset($_GET['form_modif']) && $_GET['form_modif']=='modifier'){
    	$masquer_formulaire = false;
    } else {
    	$masquer_formulaire = true;
    }
    // affichage
    while ($donnees = mysql_fetch_array($retour))
    {
    	include("haut.php");
    ?>
       <div class="cadre">
    	<p><b>Informations actuel : </b></p>
    	<p>Pseudo : <?php echo stripslashes($donnees['Nom_user']); ?></p>
    	<p>Mot de passe : <?php echo stripslashes($donnees['Mot_de_passe']); ?></p>
    	<p>Adresse e-mail : <?php echo stripslashes($donnees['Adresse_Email']); ?></p>
    	<p>Date d'inscription : <?php echo date('d/m/Y', $donnees['Date_inscription']); ?></p>
    	<a href="editer_membre.php?form_modif=modifier">Modifier mes informations</a>
     
    <?php
    	if ($masquer_formulaire = false)
    	{
    ?>
    	<form method="post" action="editer_membre.php"> // DEFINIR la page de traitement !
    		<hr width="100%">
    		<p><strong><i>A remplir uniquement si vous souhaitez modifier les informations ci-dessus</i></strong></p>
    		<p>Nouvelle Adresse mail : <input type="text" size="30" name="mail" value="<?php echo $donnees['Adresse_Email']; ?>" /></p>
    		<p>Nouveau mot de passe : <input type="password" size="30" name="mot_de_passe" />
    		<p>Confirmez le mot de passe : <input type="password" size="30" name="mot_de_passe_confirmer" />
    	</form>
    <?php
    	}
    ?>
       </div>
    <?php
    }
    // deconnexion BD
    mysql_close();
    ?>
    </body>
    Sauf que quand je clique sur modifier mes informations il me recharge la page, l'url change comme convenu sauf que j'ai l'impression que le teste ne passe pas (d'après ce que j'ai compris) http://localhost/abc/editer_membre.p...modif=modifier

    Sinon, justement j'avais entendu parlé de la méthode par javascript, sauf que je n'y connais rien en JS.
    Ca donnerais quoi ?

    Merci énormément pour vos aides !

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je t'invite à lire cette discussion : j'y apporte une solution javascript
    http://www.developpez.net/forums/d75...rmulaire-clic/

  7. #7
    Membre du Club Avatar de Tryp'
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 53
    Points
    53
    Par défaut
    Merci beaucoup c'est exactement ce qu'il me falait
    J'ai pourtant chercher sur le forum mais je n'ai pas trouvé le poste que tu m'as linké.
    Merci pour l'attention que vous avez porté a ma demande,

    Cordialement,

    Tryp

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/12/2007, 01h24
  2. changer la valeur d'une variable en cliquant sur un lien
    Par nintendoplayer dans le forum Langage
    Réponses: 2
    Dernier message: 05/08/2007, 19h09
  3. changer la valeur d'une variable avec 2 bouton
    Par toutounesan_bg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 03/08/2007, 10h51
  4. [Système] Changer la valeur d'une variable GET
    Par toddy_101 dans le forum Langage
    Réponses: 13
    Dernier message: 31/01/2007, 14h59

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