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 :

probleme envoi avec POST


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut probleme envoi avec POST
    Bonjour, voila mon petit probleme, je fai un index.php dans lequel je selectinne d'abord une table dans une base et ensuite je selectionne une valeur. Le tout est envoyé dans un formulaire de modification. Le probleme est que lors de l'envoie, ca charge mais rien n'apparait, comme si il y avait un bouclage infini qui fait planter.

    Voila le code de index.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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    <html>
    <head>
    <link href="css/form.css" rel="stylesheet" type="text/css"> 
    </head>
    <body>
    <?php
     
    //connexion a la base
    include_once("connexion/connexion.php");
    if (isset($HTTP_POST_VARS["Selectionner"]))
    {
     echo "<form method='POST' name='modif' ACTION='formModif.php'>";
     echo "<div id=\"titreForm\">Selection d'une valeur</div>";
     echo "<div id=\"corpForm\">"; 
     echo "<fieldset>";
     echo "<legend><h3>table : ".$_POST['table']."</legend></h3>";
     $table=$_POST['table'];
     $req="select * from  ".$table.";";
     $result=mysql_query($req);
     echo "<p><label>Selectionnez l'attribut : </label>";
     echo "<select name=id>";
     
      while ($ligne=mysql_fetch_array($result))
      {
       echo "<option value='".$ligne[0]."'>".$ligne[0]."</option>";
      }
      echo "</select>";
     echo "</p></fieldset></div>";
     echo "<div id=\"piedForm\">";
     echo "<input type=hidden name='table' value='".$table."'>";
     echo "<INPUT TYPE='submit' NAME='modifier' VALUE='Modifier'>";
     echo "</div></form>";
    }
    else
    {
     echo "<form method='POST' name='selectdonnees' ACTION='index2.php'>";
     echo "<div id=\"titreForm\">Selection d'un table</div>";
     echo "<div id=\"corpForm\">"; 
     echo "<fieldset>";
     echo "<legend><h3>base : ".$database."</legend></h3>";
     
     $req="show tables";
     $result=mysql_query($req);
     echo "<p><label>Selectionnez la table : </label>";
     echo "<select name=table>";
      while ($ligne=mysql_fetch_array($result))
      {
       echo "<option value='".$ligne[0]."'>".$ligne[0]."</option>";
      }
     echo "</select>";
     echo "</p></fieldset></div>";
     echo "<div id=\"piedForm\">";
     echo "<INPUT TYPE='submit' NAME='Selectionner' VALUE='Selectionner'>";
     echo "</div></form>";
    }
    ?>
    </body>
    </html>
    Pourquoi ca plante pardi ?

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    à première vue je ne vois rien d'incorrect. Par contre je fermerai la connexion mysql pour éviter de saturer (j'imagine que tu l'ouvres à chaque appel dans connexion.php). Tu n'as peut être pas les droits nécéssaires pour avoir plusieurs connexions ouvertes.

    Guillaume
    Vive La Main Gauche
    http://www.lamaingauche.org

  3. #3
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    J'ai un formulaire d'jout pour lequel je ne ferme pas la base et ca ne pose pourtant aucun probleme ...


    mmm voila une partie du code de la page qui doit etre generée. Comme on le voi je ne recupere que 2 simples valeurs avec POST donc c'est bizard que ca bug comme 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
     
    else
    {
     $table=$_POST["table"];
     $cle=$_POST["id"];
     //recupere les information sur la table choisie
     $req="SHOW FULL COLUMNS FROM ".$table;
     $result=mysql_query($req);
     $ligne=mysql_fetch_array($result);
     $i=0;
     while ($ligne)
     {
      //enregistre dans un tableau nom de l'attribut, son type et si c'est une clé primaire
      $tab[$i][0]=$ligne['Field'];
      $tab[$i][1]=$ligne['Type'];
      $tab[$i][2]=$ligne['Key'];
     
      $ligne=mysql_fetch_array($result);
      $i++;
     }
     //recupere les données selectionnées
     $req2="Select * from ".$table." where ".$tab[0][0]."='".$cle."'";
     $result2=mysql_query($req2);
     $ligne2=mysql_fetch_array($result2);
     $i=0;
     //ajout des données dans le tableau
     while ($ligne2)
     {
      $tab[$i][3]=$ligne;
      $ligne=mysql_fetch_array($result);
      $i++;
     }

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    je ne sais pas, je dis ça parce que le code me semble correct.
    Par contre (au risque d'insister :-) tu devrais fermer tes connexions, tu peux vite partir dans les choux sinon.
    D'autre part ce n'est pas dramatique de ne pas fermer la connexion si on utilise toujours la même, le problème c'est quand on en ouvre plusieurs. Il me semble que par défaut on ne peut ouvrir que trois connexions, ensuite on se retrouve en wait.

    A+
    Vive La Main Gauche
    http://www.lamaingauche.org

  5. #5
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Salut Trankil ca faisait longtemps

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while ($ligne2)
    {
      $tab[$i][3]=$ligne;
      $ligne=mysql_fetch_array($result);
      $i++;
    }
    Il y a un problème, tu ne changes pas $ligne2 d'où la boucle infinie je suppose ($ligne --> $ligne2).
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  6. #6
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    JWhite mon sauveur ! bon ca ne bloque plu, mais c'est encore bourré d'erreurs !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Notice: Undefined offset: 3 in c:\program files\easyphp1-8\www\genereform\formmodif.php on line 152
    donc tant que tu es la, viens a mon aide ^^

  7. #7
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //recupere les données selectionnées
     $req2="Select * from ".$table." where ".$tab[0][0]."='".$cle."'";
     $result2=mysql_query($req2);
     $ligne2=mysql_fetch_array($result2);
     $i=0;
     //ajout des données dans le tableau
     while ($ligne2)
     {
      $tab[$i][3]=$ligne2;
      $ligne2=mysql_fetch_array($result);
      $i++;
     }
    Je pense que ca vien de mon $tab[$i][3]=$ligne2; mais le probleme c'est que je ne connais pas a l'avance la valeur de l'attribut ?
    donc ca doit etr e$ligne2[???]


    modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //ajout des données dans le tableau
     while ($ligne2)
     {
      $tab[$i][3]=$ligne2[$i];
      $ligne2=mysql_fetch_array($result);
      $i++;
     }
    la ca fonctionne pour le premier mais apres ca me met le meme message d'erreur qu'avant

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Je sais pas, tu veux mettre quoi dans $tab[$i][3] ? Il faut mettre $ligne2['nomDuChamp'] non ? Ou sinon tu parcours ta ligne et tu construis une chaîne à ranger ensuite dans $tab[$i][3] ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  9. #9
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Essaye un peu comme ceci,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //recupere les données selectionnées 
    $req2="Select * from ".$table." where ".$tab[0][0]."='".$cle."'";
    $result2=mysql_query($req2); 
    $i=0;
    while ($ligne2=mysql_fetch_array($result2)); 
    { 
      $tab[$i++][3]=$ligne2['nom_du_champ']; 
    }
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  10. #10
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    en fait je veux creer un tableau qui contiendra
    tab[$i][0] : nom du champ
    tab[$i][1] : type du champ
    tab[$i][2] : PRI si c une clé primaire
    tab[$i][3] : valeur du champ

  11. #11
    Membre régulier
    Homme Profil pro
    débutant SAP BO
    Inscrit en
    Avril 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : débutant SAP BO

    Informations forums :
    Inscription : Avril 2005
    Messages : 228
    Points : 102
    Points
    102
    Par défaut
    et ca ne marche toujours pas !

Discussions similaires

  1. [MySQL] [MySQLi] Probleme envoi avec Mysqli send long data
    Par hack-sel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/08/2008, 12h36
  2. codage md5 et probleme avec POST
    Par kuja2053 dans le forum Langage
    Réponses: 7
    Dernier message: 03/03/2007, 22h18
  3. [debutant]probleme envoi d'une chaine avec send()
    Par romainromain dans le forum Réseau
    Réponses: 4
    Dernier message: 23/11/2006, 22h37
  4. probleme envoi de mail avec certaines adresses
    Par killerhertz dans le forum ASP
    Réponses: 2
    Dernier message: 18/08/2006, 12h03
  5. Envoi de variables avec POST
    Par oops! dans le forum Flash
    Réponses: 5
    Dernier message: 06/08/2006, 21h14

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