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 qui ne fonctionne pas


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut formulaire php qui ne fonctionne pas
    bonjour voila je me suis servis d un tuto du site de zero pour gerer des fournissseur en ayant la possibilité de mes modifier et le supprimer sur la ligne du fournisseur il ne me mais aucune erreur et pourtant quand je rentre un enregistrement il ne fait rien et quand je la supprime idem: voici les deux pahes
    la 1 pour afficher un tableau des enregistrement des fournssieur par ligne et permetre de le smodifier et supprimer:

    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
    <?php
    include("../include/session.php");
     
    $description = "";
    $keywords = "";
    $subject = "";
    $title = "";
    $fakea = "";
    $menu = false;
    $NoLang = true;
     
    $body = '<h1>Gestion des fournisseurs</h1>';
     
     
     
    	$body .='<a href="rediger_fournisseur.php">Ajouter un fournisseur</a>';
     
     
          //-----------------------------------------------------
     
          // Vérification 1 : est-ce qu'on veut poster une news ?
     
          //-----------------------------------------------------
     
        if (
      ( isset($_POST['nom_founisseur']) )
      && ( isset($_POST['prenom_fournisseur']) )
        && ( isset($_POST['adresse_fournisseur']) )
          && ( isset($_POST['tel_fournisseur']) )
            && ( isset($_POST['email_fournisseur']) ))
     
     
          {
     
            $nom_fournisseur = addslashes($_POST['nom_fournisseur']);
     
            $prenom_fournisseur = addslashes($_POST['prenom_fournisseur']);
    		$adresse_fournisseur = addslashes($_POST['adressse_fournisseur']);
    		$tel_fournisseur = addslashes($_POST['tel_fournisseur']);
    		$email_fournisseur = addslashes($_POST['email_fournisseur']);
     
              // On vérifie si c'est une modification de news ou pas
     
              if ($_POST['id_founrnisseur'] == 0)
     
              {
     
                  // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
     
                  mysql_query("INSERT INTO fournisseur VALUES('', '" . $nom_fournisseur . "', '" . $prenom_fournisseur . "', '" .$adresse_fournisseur. "','".$tel_fournisseur."','".$email_fournisseur."')");
     
      }
     
              else
     
              {
     
                  // On protège la variable "id_news" pour éviter une faille SQL
     
                  $_POST['id_fournisseur'] = addslashes($_POST['id_fournisseur']);
     
                  // C'est une modification, on met juste à jour le titre et le contenu
     
                                $query = "UPDATE fournisseur SET 
                  nom_fournisseur = '" . $nom_fournisseur . "' , 
                  prenom_fournisseur = '" . $prenom_fournisseur . "' , 
                  adresse_fournisseur = '" . $adresse_fournisseur . "' , 
                  tel_fournisseur = '" . $tel_fournisseur . "' , 
                  email_fournisseur = '" . $email_fournisseur . "' 
                  WHERE id = '" . $_POST['id_fournisseur'] . "'" ;
     
    			mysql_query($query) or die (mysql_error());
         }
     
          }
     
     
          //--------------------------------------------------------
     
          // Vérification 2 : est-ce qu'on veut supprimer une news ?
     
          //--------------------------------------------------------
     
          if (isset($_GET['supprimer_fournisseur'])) // Si on demande de supprimer une news
     
          {
     
              // Alors on supprime la news correspondante
     
              // On protège la variable "id_news" pour éviter une faille SQL
     
              $_GET['supprimer_fournisseur'] = addslashes($_GET['supprimer_fournisseur']);
     
              mysql_query('DELETE FROM fournisseur WHERE id=\'' . $_GET['supprimer_fournisseur'] . '\'');
     
          }
     
     
     
         $body .=' <table><tr>
    
          <th>Modifier</th>
    
          <th>Supprimer</th>
    
          <th><center>Nom</center></th>
     
          <th><center>Prenom</center></th>
    	  
    	  <th><center>Adresse</center></th>
    	  
    	  <th><center>Tel</center></th>
    	  
    	  <th><center>Email</center></th>
    
          </tr>';
     
     
     
          $retour = mysql_query('SELECT * FROM fournisseur ORDER BY id_fournisseur DESC');
     
          while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
     
          {
     $body .='
     
          <tr>
    
          <td><a href="rediger_fournisseur.php?modifier_fournisseur=' . $donnees['id_fournisseur'] . '">Modifier</a></td>';
     
        $body .='   <td><a href="gesFournisseur.php?supprimer_fournisseur=' . $donnees['id_fournisseur'] . '">Supprimer</a></td>';
     
           $body .='<td> '.$donnees['nom_fournisseur'].'</td>';
     
    	 $body .='<td> '.$donnees['prenom_fournisseur'].'</td>';
     
    	 $body .='<td>'.$donnees['adresse_fournisseur'].'</td>';
     
    	 $body .='<td>'.$donnees['tel_fournisseur'].'</td>';
     
    	   $body .='<td>'.$donnees['email_fournisseur'].'</td>';
     
       $body .='</tr>';
     
    }
     
     
     
    	include("../include/base.php");
    ?>
    et la seconde page l'interface donc qui est afficher quand on demande une modification ou créer un nouveau fournisseur le code a l air correcte et il n y aucune erreur je ne comprend pas.

  2. #2
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonjour,
    Peux tu poster le formulaire, qui normalement doit se trouver avant cette page, celui qui te permet de créer un nouveau forunisseur ...

    PS : A quoi correspond ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $description = "";
    $keywords = "";
    $subject = "";
    $title = "";
    $fakea = "";
    $menu = false;
    $NoLang = true;

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    LE CODE coresspond a ce que je veux ou non afficher dan sla page exemple je veux affiche le titre ou l image d'entete. voici le code de la page d'apres donc de modification ou creation:
    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
    <?php
     
     
    include("../include/session.php");
     
    $description = "";
    $keywords = "";
    $subject = "";
    $title = "";
    $fakea = "";
    $menu = false;
    $NoLang = true;
     
    $body = '<h1>Gestion des fournisseurs</h1>';
     
     
     
    	$body .='<a href="Gesfournisseurs.php">Retour a la liste des fournisseurs</a>';
     
     
     
     
     
     
     
    if (isset($_GET['modifier_fournisseur'])) // Si on demande de modifier une news
     
    {
     
        // On protège la variable "modifier_news" pour éviter une faille SQL
     
        $_GET['modifier_fournisseur'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_fournisseur']));
     
        // On récupère les infos de la news correspondante
     
        $retour = mysql_query('SELECT * FROM fournisseur WHERE id_fournisseur=\'' . $_GET['modifier_fournisseur'] . '\'');
     
        $donnees = mysql_fetch_array($retour);
     
     
     
        // On place le titre et le contenu dans des variables simples
     
    		$nom_fournisseur = addslashes($donnees['nom_fournisseur']);
    		$prenom_fournisseur = addslashes($donnees['prenom_fournisseur']);
    		$adresse_fournisseur = addslashes($donnees['adresse_fournisseur']);
    		$tel_fournisseur = addslashes($donnees['tel_fournisseur']);
    		$email_fournisseur = addslashes($donnees['email_fournisseur']);
     
        $id_fournisseur = $donnees['id_fournisseur']; // Cette variable va servir pour se souvenir que c'est une modification
     
    }
     
    else // C'est qu'on rédige une nouvelle news
     
    {
     
        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
     
     
    	        $nom_fournisseur = "";
     
            $prenom_fournisseur = "";
    		$adresse_fournisseur = "";
    		$tel_fournisseur = "";
    		$email_fournisseur = "";
     
        $id_fournisseur = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
     
    }
     
     
     
     
     
     
    $body .= '<form action="gesFournisseur.php" method="post">';
     
    $body .= '<p><label for="nom">nom fournisseur :</label><input type="text" size="30" name="titre" value='.$nom_fournisseur.'></p>';
    $body .= '<p><label for="prenom">prenom fournisseur: </label><input type="text" size="30" name="titre" value='.$prenom_fournisseur.'></p>';
    $body .= '<p><label for="adresse">adresse fournisseur: </label><input type="text" size="30" name="titre" value='.$adresse_fournisseur.'></p>';
    $body .= '<p><label for="tel">tel fournisseur: </label><input type="text" size="30" name="titre" value='.$tel_fournisseur.'></p>';
    $body .= '<p><label for="email">email fournisseur: </label><input type="text" size="30" name="titre" value='. $email_fournisseur.'></p>';
     
     
     
        $body .= '<input type="hidden" name="id_fournisseur" value='.$id_fournisseur.'>';
     
        $body .= '<input type="submit" value="Envoyer" />
    
    </p>
    
    </form>';
     
    include("../include/base.php");
    ?>
    la page d avant n est pas important c est juste un lien pour arriver a la page que j avais mit.

  4. #4
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Dans ton formulaire tous tes champs on le même "name" à savoir titre, donc c'est pour cela que tu ne peux pas récupérer tes variables $_POST.

  5. #5
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    J'ai repris ton code et j'ai modifié certaines choses : erreurs de frappe dans le noms de variables, modifier certaines requête, et ajouter les bons noms aux champs de formulaire ...
    Je te mets les deux pages en pièces jointes :
    Si tu veux les utiliser vérifie bien les noms des pages dans les liens, je me suis basé sur Gesfournisseurs.php et rediger_fournisseur.php.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Espace membre en PHP qui ne fonctionne pas
    Par make57 dans le forum Langage
    Réponses: 13
    Dernier message: 25/07/2014, 17h27
  2. [1.x] Formulaire imbriqués qui ne fonctionnent pas
    Par chakalking dans le forum Symfony
    Réponses: 2
    Dernier message: 04/04/2011, 21h44
  3. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  4. [MySQL] Session php qui ne fonctionne pas
    Par tiph02 dans le forum PHP & Base de données
    Réponses: 42
    Dernier message: 04/06/2008, 11h49
  5. Code php qui ne fonctionne pas
    Par bachir008 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2007, 10h17

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