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 :

Formulaire PHP avec insertion BDD & Session [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Points : 113
    Points
    113
    Par défaut Formulaire PHP avec insertion BDD & Session
    Bonjour a tous, je suis entrain de crée un formulaire qui permet de rentrer des information dans une BDD et qui sera afficher sur une page web, ce formulaire sera éditable, d'ailleur quand les gens editeront leur formulaire les anciennes info de la bdd leur sera afficher dans la textbox du formulaire.

    J'utilise des variable de Session, vu que c'est avec des comptes utlisateur.

    J'ai essayé de faire des requetes SQL avec des variable de Session, mais sa ne fonctionne pas dès la premiere requete;

    J'suis vraiment pas doué en SQL et c'est la premere fois que j'utilise les Session, j'ai mi session start sur la page ou l'utilisateur ce loge et j'ai mi le php.ini en session.auto_start = 1, j'ai fait des test et ca al'air de fonctionner.

    Si jamais vous pouver m'aider sur mon probleme de syntaxe ou peut etre de raisonnement...


    Mon formulaire:

    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
     
    <body>
     
    <div id="conteneur">
     
    <?php
    $serveur ="localhost";
    $login = "root";
    $mot_passe = "";
    $base = "artkateo";
     
     
     
    $connexion = mysql_pconnect($serveur, $login, $mot_passe) or die ("impossible de se connecter a MySQL : ".mysql_error());
     
    $mabase = mysql_select_db($base) or die ("impossible de ce connecter ma table : ".mysql_error());
     
     
    $requete = "select * from utilisateur";
     
    				$resultat = mysql_query($requete);
     
    				while ($row = mysql_fetch_row($resultat))
     
    				{
     
    				$texte = $row[3];
     
    				$texte2 = $row[4];
     
    				$nom = $row[5];
     
    				$statut = $row[6];
     
     
    		}		
     
     
    	?>			
     
     
     
    <form method="post" target="contenu" action="traitement_n_membre.php" name="membre" >
     
     
     
    <P> Changer son Nom et Prenom : 
      <input name="nom" type="text" value='<?php echo $nom;?>'/></p>
     
     
    <P> Changer son statut : 
       <select name="statut" value="<?php echo $statut;?>">
       <option value="p" selected="selected">Président(e)</option>
       <option value="vp">Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
       </select> </p>
     
     
     
    <P> Changer son CV : 
      <textarea name="texte" cols="" rows=""><?php echo $texte;?></textarea></p>
     
     
     
    <P> Changer son texte secondaire : 
      <textarea name="texte2" cols="" rows=""><?php echo $texte2;?></textarea></p>
     
     
    <input type="hidden" name="action" value="ajout_edit_membre" />
     
     
     
    <INPUT TYPE="submit" VALUE="Ajouter">
     
    </form>
     
     
     
     
     
    </div>

    Mon script:


    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
     
    case "ajout_edit_membre" :
     
     
     
    				$requete = "SELECT * FROM utilisateur WHERE ( $_SESSION['id_user']) = id_user";
     
     
    		$result = mysql_query($requete) or die(mysql_error());
     
     
    				$row=false;
     
    		while ($row = mysql_fetch_array($result)) {
     
    						$requete = "DELETE (texte, texte2, nom, statut) FROM utilisateur WHERE ( $_SESSION['id_user'] ) = id_user";
     
    				$resultat = mysql_query($requete) or die(mysql_error());
     
     
     
    			break;	
     
    		}if(!$row);
     
     
    						$nom=mysql_real_escape_string(htmlspecialchars(addslashes($_POST['nom'])));
     
    						$statut=mysql_real_escape_string(htmlspecialchars(addslashes($_POST['statut'])));
     
    						$texte=mysql_real_escape_string(htmlspecialchars(addslashes($_POST['texte'])));
     
    						$texte2=mysql_real_escape_string(htmlspecialchars(addslashes($_POST['texte2'])));
     
     
     
    				$requete = "INSERT ( $_SESSION['id_user']) INTO UTILISATEUR(nom, statut, texte, texte2) VALUES
    				('".$nom."','".$statut."','".$texte."','".$texte2."')";
     
    				$resultat = mysql_query($requete) or die(mysql_error());
     
    				if($resultat == TRUE)
     
    		{
     
    		echo "L'insertion a bien été effectué";
     
    		echo '<SCRIPT LANGUAGE="JavaScript">
    								function redirect() {
    					window.location="edit_membre.php"
    				}
    				setTimeout("redirect()",3000); 		  </SCRIPT>';
     
    		}
     
    		else
     
    		{
     
    		echo "L'insertion a échoué";
     
    		echo '<SCRIPT LANGUAGE="JavaScript">
    								function redirect() {
    					window.location="edit_membre.php"
    				}
    				setTimeout("redirect()",3000); 		  </SCRIPT>';
     
            }				
     
     
    		}
     
    		break;

    Merci d'avance!!!


    P.S: Si jamais le post n'est pas dans la bonne section, merci de le deplacer...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Points : 113
    Points
    113
    Par défaut
    J'suis entrain de me dir que je ne suis pas obliger de faire un delete, si je fait un insert into, mais j'suis pas sur...

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Lorsque tu fait des requêtes SQL avec des session ça marche comme des requête avec variables. Avec ton code ça donnerai

    $requete = "SELECT * FROM utilisateur WHERE id_user = ' ".$_SESSION['id_user']." ' "

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Points : 113
    Points
    113
    Par défaut
    Merci pour ta reponse, sa ma bien aidée dans ma syntaxe!!!

    Il me reste juste un souci, quand l'utilisateur edit son formulaire, je n'arrive pas a faire que la selection qu'il a choisi auparavant soit selectionner dans la liste deroulante via la variable de Session, j'dois mal la positionner ou mal l'utiliser...


    Pouvez vous me donner votre avi...

    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
     
    <body>
     
    <div id="conteneur">
     
     
    <form method="post" target="contenu" action="traitement_n_membre.php" name="membre" enctype="multipart/form-data">
     
     
    <P> Ajouter une image dans la galerie : 
      <input type="file" name="image" /></p>
     
     
     
    <P> Changer son image portrait : 
      <input type="file" name="photo" /></p>
     
     
    <P> Changer son Nom et Prenom : 
      <input name="nom" type="text" value='<?php echo $_SESSION['nom'];?>'/></p>
     
     
    <P> Changer son statut : 
       <select name="statut" value="<?php echo $_SESSION['statut'];?>">
       <option value="p" selected="">Président(e)</option>
       <option value="vp">Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
       </select> </p>
     
     
     
    <P> Changer son CV : 
      <textarea name="texte" cols="" rows=""><?php echo $_SESSION['texte'];?></textarea></p>
     
     
     
    <P> Changer son texte secondaire : 
      <textarea name="texte2" cols="" rows=""><?php echo $_SESSION['texte2'];?></textarea></p>
     
     
    <input type="hidden" name="action" value="ajout_edit_membre" />
     
     
     
    <INPUT TYPE="submit" VALUE="Ajouter">
     
    </form>
     
     
     
     
     
    </div>

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Apparemment ta liste déroulante ne viens pas de la base de données donc je vais te montrer une méthode que j'utilise mais qui n'est pas du tout optimiser.

    Si une personne as une méthode plus rapide Merci de me corriger

    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
     
     
    <P> Changer son statut : 
    <?php
      if($_SESSION['statut'] == "p")
       {
    ?>
       <option value="p" selected>Président(e)</option>
       <option value="vp">Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
    <?php
        }
       else if($_SESSION['statut'] == "vp")
        {
    ?>
       <option value="p">Président(e)</option>
       <option value="vp" selected>Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
    <?php
        }
     
       </select> </p>
    A continuer pour tout les cas.
    Mais je pense qu'il vaudrait mieux mettre tout ces nom dans une table pour une plus grande modularité. Mais après c'est ton code et tu voit comment il est plus simple de faire pour toi.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Points : 113
    Points
    113
    Par défaut
    Ce qui est dans la BDD c'est la valeur qui a ete choisi dans la liste deroulante auparavant...

    Ta methode est pas bete, mais comme tu dit pas tres optimisée, donc si jamais quelqu'un a une autre solution....


    En tout cas merci pour ta methode!!!

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Points : 113
    Points
    113
    Par défaut
    J'ai mi en application ta methode et sa ne fonctionne pas, il m'affiche tout les resultat, j'pense que j'ai du me tromper quelque par, mais je ne vois pas ou...

    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
     
    <body>
     
    <div id="conteneur">
     
     
    <form method="post" target="contenu" action="traitement_n_membre.php" name="membre" enctype="multipart/form-data">
     
     
    <P> Ajouter une image dans la galerie : 
      <input type="file" name="image" /></p>
     
     
     
    <P> Changer son image portrait : 
      <input type="file" name="photo" /></p>
     
     
    <P> Changer son Nom et Prenom : 
      <input name="nom" type="text" value='<?php echo  $_SESSION[stripslashes('nom')];?>'/></p>
     
     
    <?php
      if($_SESSION['statut'] == "p")
       {
    ?>
       <option value="p" selected>Président(e)</option>
       <option value="vp">Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
       </select>
    <?php
        }
       else if($_SESSION['statut'] == "vp")
        {
    ?>
       <option value="p">Président(e)</option>
       <option value="vp" selected>Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
       </select>
    <?php
    	}
        else if($_SESSION['statut'] == "t")
        {
    ?>
       <option value="p">Président(e)</option>
       <option value="vp" >Vice président(e)</option>
       <option value="t" selected>Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
       </select>
    <?php
    	}
       else if($_SESSION['statut'] == "ta")
        {
    ?>
       <option value="p">Président(e)</option>
       <option value="vp" >Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta" selected>Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
       </select>
    <?php
        } else if($_SESSION['statut'] == "s")
        {
    ?>
       <option value="p">Président(e)</option>
       <option value="vp" >Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s" selected>Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
       </select>
    <?php
        }else if($_SESSION['statut'] == "sa")
        {
    ?>
       <option value="p">Président(e)</option>
       <option value="vp" >Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa" selected>Secrétaire adjoint(e)</option>
       <option value="m">Membre</option>
       </select>
    <?php
        }else if($_SESSION['statut'] == "m")
        {
    ?>
       <option value="p">Président(e)</option>
       <option value="vp" >Vice président(e)</option>
       <option value="t">Trésorier(e)</option>
       <option value="ta">Trésorier(e) adjoint(e)</option>
       <option value="s">Secrétaire</option>
       <option value="sa">Secrétaire adjoint(e)</option>
       <option value="m" selected>Membre</option>
       </select>
    <?php
        }
    	?>
     
        </p>
     
     
     
     
    <P> Changer son CV : 
      <textarea name="texte" cols="" rows=""><?php echo $_SESSION[stripslashes('texte')];?></textarea></p>
     
     
     
    <P> Changer son texte secondaire : 
      <textarea name="texte2" cols="" rows=""><?php echo $_SESSION[stripslashes('texte2')];?></textarea></p>
     
     
    <input type="hidden" name="action" value="ajout_edit_membre" />
     
     
     
    <INPUT TYPE="submit" VALUE="Ajouter">
     
    </form>
     
     
     
     
     
    </div>
     
     
     
    </body>

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Points : 113
    Points
    113
    Par défaut
    On ma donnée une solution sur un forum:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <P> Changer son statut :
     
     
    <select name="statut">
       <option value="p" <?php if($_SESSION['statut'] == 'p') echo 'selected="selected"'; ?>>Président(e)</option>
       <option value="vp" <?php if($_SESSION['statut'] == 'vp') echo 'selected="selected"'; ?>>Vice président(e)</option>
       <option value="t" <?php if($_SESSION['statut'] == 't') echo 'selected="selected"'; ?>>Trésorier(e)</option>
       <option value="ta" <?php if($_SESSION['statut'] == 'ta') echo 'selected="selected"'; ?>>Trésorier(e) adjoint(e)</option>
       <option value="s" <?php if($_SESSION['statut'] == 's') echo 'selected="selected"'; ?>>Secrétaire</option>
       <option value="sa" <?php if($_SESSION['statut'] == 'sa') echo 'selected="selected"'; ?>>Secrétaire adjoint(e)</option>
       <option value="m" <?php if($_SESSION['statut'] == 'm') echo 'selected="selected"'; ?>>Membre</option>
       </select> </p>

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

Discussions similaires

  1. Formulaire PHP avec envoi d'e-mail
    Par bebop77 dans le forum Langage
    Réponses: 8
    Dernier message: 11/08/2008, 14h31
  2. Réponses: 6
    Dernier message: 06/05/2008, 16h06
  3. Contrôle d'un formulaire php avec JS
    Par L'aigle de Carthage dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/04/2008, 16h54
  4. Réponses: 4
    Dernier message: 22/02/2008, 12h43
  5. [Upload] formulaire php avec upload de fichier
    Par achos dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2007, 14h14

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