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 :

Besoin d'aide avec affichage d'un formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut Besoin d'aide avec affichage d'un formulaire
    Salut a tous je suis entrain de faire une petite application pour la gestion de contact ,dans ma page modification de contact j'ai un formulaire qui affiche les donnée du contact a modifier, l'usager peut modifier les donné ensuite cliquer sur le bouton sauvegarder les modification jusqu'a la ca fonctionne mais une fois les modification faite avec succes j'affiche un message que tout a réussis sur la meme page sous le formulaire des modification mais les donnée du formulaire affiche seulement des erreur mais les modification ont bien été fais quand je vérifie dans la base de donnée.
    Je sais qu'il me manque du code pour faire afficher les donnée après les modification mais je sais pas comment faire j'aurais besoins de votre aide merci d'avance. 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
    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
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>ContactPlus</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
     
    <?php 
        require('config.php');
    ?>
    <body>
    <div id="header">
        <h1>ContactPlus</h1>
    </div>
    <div id="session">
    	<?php
        	session_start();
    /*
    si la variable de session login n'existe pas cela siginifie que le visiteur
    n'a pas de session ouverte, il n'est donc pas logué ni autorisé à
    acceder à l'espace membres
    */
        	if(!isset($_SESSION['Login']) && (!isset($_SESSION['PkMembre']))) 
    		{
            	echo 'Vous n\'êtes pas autorisé à acceder à cette zone <br/><br/>';
            	echo'<a href="index.php">Veillez vous connecter</a>';
            	exit;
    		}
    	?>  
    </div>
    <div id="menu">
    	<a href="acceuil.php" title="Acceuil">Acceuil</a>
      	<a href="#" title="Groupe Ami">Afficher Groupe Amis</a>
     	<a href="#" title="Groupe Travail">Afficher Groupe Travail</a>
      	<a href="#" title="Groupe Famille">Afficher Groupe Famille</a>
        <a href="nouveauContact.php" title="Nouveau Contact">Ajouter Nouveau Contact</a>
        <a href="#" title="Exporter">Exporter Liste Contact</a>
    </div>
    <div id="affContact">
    <?php 
    //Code pour l'affichage des données
    if(isset($_POST['btnMod']))
        {
            if( !$db )
            {
                echo "connection pas ouverte";
            }
            else
            {
                $pk=$_POST['pk'];
                //requête SQL:
                    $sql = "SELECT * FROM t_contact where PkContact =".$pk;
                //exécution de la requête:
                    $requete = mysql_query( $sql, $mycn) ;
                //affichage des données:
                $result = mysql_fetch_object( $requete);
            }
        }
    ?>
    <h1>Modification du Contact</h1>
    <form action="modification.php" method="post" name="modification">
        <input name="btnSave" type="submit" class="select" value="Sauvegarder les Modifications"/>
      	<table id="mod" width="500" border="4" align="center" bordercolor="#FF9900">
      	    <input name="pk" type="hidden" value="<?php echo ($result->PkContact);?>" />
      <tr>
        <td>Prenom</td>
        <td><input name="prenom" type="text" value="<?php echo ($result->Prenom);?>" size="35" /></td>
      </tr>
      <tr>
        <td>Nom</td>
        <td><input name="nom" type="text" value="<?php echo ($result->Nom);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Adresse</td>
        <td><input name="adresse" type="text" value="<?php echo ($result->Adresse);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Ville</td>
        <td><input name="ville" type="text" value="<?php echo ($result->Ville);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Province</td>
        <td><input name="province" type="text" value="<?php echo ($result->Province);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Code Postal</td>
        <td><input name="cp" type="text" value="<?php echo ($result->CodePostal);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Téléphone</td>
        <td><input name="tel" type="text" value="<?php echo ($result->Telephone);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Fax</td>
        <td><input name="fax" type="text" value="<?php echo ($result->Fax);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Cellulaire</td>
        <td><input name="cell" type="text" value="<?php echo ($result->Cellulaire);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Date Anniversaire</td>
        <td><input name="anniversaire" type="text" value="<?php echo ($result->Anniversaire);?>" size="35"/></td>
      </tr>
      <tr>
        <td>Email</td>
        <td><input name="email" type="text" value="<?php echo ($result->Email);?>" size="35"/></td>
      </tr>
    </table>
    </form>
    <?php 
    //Code pour la modification des données
    if (isset($_POST['btnSave'])) 
    {
     //récupération des valeurs des champs:
     $pk = $_POST["pk"];
     $prenom = $_POST["prenom"] ;
     $nom     = $_POST["nom"] ;
     $adresse = $_POST["adresse"];
     $ville = $_POST['ville'];
     $province = $_POST['province'];
     $cp = $_POST['cp'];
     $tel = $_POST['tel'];
     $fax = $_POST['fax'];
     $cell = $_POST['cell'];
     $anniversaire = $_POST['anniversaire'];
     $email = $_POST['email'];
     //On verifie si lemail est valide
                    if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
                    {
     //création de la requête SQL:
      $sql2 = "UPDATE t_contact SET  Prenom = '$prenom',Nom = '$nom',Adresse = '$adresse',Ville = '$ville',Province = '$province',
      CodePostal = '$cp',Telephone = '$tel',Fax = '$fax',Cellulaire = '$cell',Anniversaire = '$anniversaire',Email = '$email' WHERE PkContact = '$pk' " ;
                        if( mysql_query($sql2,$mycn) )
                        {
                            echo '<br/>'."La modification à été correctement effectuée";
     
                        }
                        else
                        {
                            echo '<br/>'."La modification à échouée";
                        }
                    }else{
                        echo "L'adresse email n'est pas valide";
     
                    }
    }
    ?>
     
    </div>
    </body>
    </body>
    </html>

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    suffis surement de mettre le //Code pour la modification des données au dessus de la requete sql qui va chercher les infos; dans l'ordre je modifie, je vais chercher les infos, et pas l'inverse
    Conception / Dev

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    J'ai déja essayer mais ca ne marche pas

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    Est-ce qu'il y a quelqu'un qui aurait une petite idée pour m'aider a faire ré-afficher mon formulaire

  5. #5
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Tu as pas mal de choses à changer je pense ...
    Il faut tu comprennes bien le sens de client/server et que la page dont tu donnes le code sert pour plusieurs affichages ...

    Première chose, le if de la connection c'est le côté restrictif de ta page, si l'utilisateur n'est pas connecté, il se passe rien d'autre, donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(!isset($_SESSION['Login']) && (!isset($_SESSION['PkMembre']))) {
            echo 'Vous n\'êtes pas autorisé à acceder à cette zone <br/><br/>';
            echo'<a href="index.php">Veillez vous connecter</a>';
    } else {
     tout le reste du code
    }
    ?>
    Ensuite tu veux séparer le save de la modif mais tu ne devrais pas séparer le code php avec le code html comme tu le fais ... Exemple pour la modif, tu affiches qd même du code avec lecture d'une ressource même la connection n'est pas ouverte ... c pas cool.
    Donc:
    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
     
    //Code pour l'affichage des données
    if(isset($_POST['btnMod']))
        {
            if( !$db )
            {
                echo "connection pas ouverte";
                // Rien d'autre donc on sort, pas d'affichage html
            }
            else
            {
                $pk=$_POST['pk'];
                //requête SQL:
                    $sql = "SELECT * FROM t_contact where PkContact =".$pk;
                //exécution de la requête:
                    $requete = mysql_query( $sql, $mycn) ;
                //affichage des données:
                $result = mysql_fetch_object( $requete);
    ?>
     
                 // ICI ton code html
     
    <?php
            }
        }
    ?>
    Pour ton problème maintenant, ..., tu essayes d'afficher du code html dans tesdeux cas (modification, sauvegarde), il y a un truc qui va pas ... Il faut que tu distingues bien les deux avec du code html dans les deux cas. C pas super propre mais comme tu utilises qu'un formulaire pour tout !!
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    j'ai essayer ce que tu ma dit mais ça fonctionne pas , après avoir appuyer sur sauvegarder je voudrais ré-afficher les info mais dans ma section de code affichage des donnée ces info provienne d'une autre formulaire situer sur une autre page donc il est pas capable de les ré-afficher mais je sais pas quoi faire pour les faire ré-afficher ou une méthode pour enregistrer les info pour les ré-afficher après la modification

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    je ne comprends pas pourquoi tu ne veux pas faire cela dans le bon ordre ?

    //vérification login
    //modification de la bdd s'il a besoin ( qui peuvent venir de tous les formulaires )
    //récupération des données dans la base de donnée
    //affichage des données

    php "li" le code de haut en bas, pourquoi tu ne fais pas comme ca ?

    tu as peu être des raisons, mais ton raisonnement me semble étrange..
    Conception / Dev

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    J'ai fais comme tu ma dit je dit pas que tu as pas raison au contraire tu as entièrement raison mon code était vraiment mal disposer dans ma page je l'ai tout replacer comme tu ma dit mais ca fonctionnait pas plus vu qu'une fois la modification fais j'avais plus de donnée a faire afficher donc j'ai replacer mon code comme tu ma dit et j'ai ajouter des variable avec rien dedans et si le result contient quelque chose je remplis mes variable
    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
    /**
       ON Creer des variables vides que l'on va afficher dans le form. 
       Dans ces variables on va venir mettre les bonnes données.
    **/
     $pk = 0;
     $prenom = "";
     $nom     = "";
     $adresse = "";
     $ville = "";
     $province = "";
     $cp = "";
     $tel = "";
     $fax = "";
     $cell = "";
     $anniversaire = "";
     $email = "";
     
     //J'instancie une variable pour qu'elle ne pete pas d'erreur plus bas dans le code
     $result = "";
    et j'ai modifier mes input comme ceci et la tout fonctionne a merveille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="prenom" type="text" value="<?php echo $prenom;?>" size="35" />
    Je te remercie beaucoup pour ton aide je suis débutant et de la facon que tu ma expliquer comment fonctionne le code php je vais avoir moins de misère les prochaine fois

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

Discussions similaires

  1. Besoin d'aide avec Regexp::Assemble
    Par mobscene dans le forum Modules
    Réponses: 5
    Dernier message: 11/04/2007, 12h39
  2. [ASA] J'ai besoin d'aide avec sybase et vb6 svp !!
    Par tibo830 dans le forum SQL Anywhere
    Réponses: 7
    Dernier message: 12/05/2006, 10h09
  3. Besoin d'aide avec TinyXML
    Par Clad3 dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 15/08/2005, 18h20
  4. Réponses: 2
    Dernier message: 29/08/2003, 17h52
  5. Besoin d'aide avec postgresql sous windows NT
    Par Chihuahua dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/07/2003, 08h29

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