Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 12-01-2005 14:45:07

Mimas
Membre
Lieu: Bruxelles
Date d'inscription: 12-01-2005
Messages: 9
Site web

Afficher les détails

Bonjour,

J'ai appris le php d'après un livre mais j'ai un petit problème :s

Ce code est celui d'un page d'administration de site pour ajouter des membres. Je sais les ajouter, les afficher, mais pas affichers les details par membres pour y corrigé des éléments, J'ai commenté le code.
Merci d'avance wink 

Code:

<div align="center">
          <table width="91" border="0">
           <tr>
             <td width="85">- <a href="aide.php?action=ajouter">Ajouter</a></td>
            </tr>
            <tr>
              <td><div align="left">- <a href="aide.php?action=modifier">Modifier</a></div></td>
            </tr>
            <tr>
              <td>- Supprimer</td>
            </tr>
        </table>
<?
include "commun/connexion.inc.php";
?>
<?
       /////// formulaire pour entrer un membre dans la base de donnée, je n'ai aucun probleme a ce sujet //////////
   if ($action=='ajouter'){
    echo "<form name="form1" method="post" action="aide.php?action=terminer">";
   echo '<table width="364" border="0">';
     echo "<tr>";
       echo '<td colspan="2"><div align="center"><strong><font face="Arial, Helvetica, sans-serif">Infos perso</font></strong></div></td>';
       echo '</tr>';
     echo '<tr>';
       echo '<td width="79"><font size="-1" face="Arial, Helvetica, sans-serif">Pseudo
           : </font></td>';
       
       echo '<td width="275"><font size="-1" face="Arial, Helvetica, sans-serif">
         <input name="pseudo" type="text" size="25
   
   ">
       </font></td>';
       echo "</tr>";
     echo "<tr>";
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">Pr&eacute;nom : </font></td>
       ';
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">
         <input type="text" name="prenom">
       </font></td>';
       echo "</tr>";
     echo "<tr>";
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">Age : </font></td>
       ';
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">
         <input name="age" type="text" size="10
   ">
       </font></td>';
       echo "</tr>";
     echo "<tr>";
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">Ville : </font></td>
       ';
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">
         <input name="ville" type="text" size="20
   ">
       </font></td>';
       echo "</tr>";
     echo "<tr>";
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">Nationalit&eacute; :</font></td>';
       echo '
       <td><font size="-1" face="Arial, Helvetica, sans-serif">
         <input type="text" name="nationalite">
       </font></td>
       ';
       echo '</tr>';
     echo '<tr>';
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">E-mail :</font></td>';
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">
         <input type="text" name="email" size="45
   ">
       </font></td>';
       echo '</tr>';
     echo '<tr>';
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">Niveau :</font></td>
       ';
       echo '<td><font size="-1" face="Arial, Helvetica, sans-serif">
         <input type="text" name="niveau" size="5
   ">
       </font></td>';
       echo '</tr>';
     echo '';
     echo '<tr>';
 
       echo '<td><font color="#FFFFFF" size="-1" face="Arial, Helvetica, sans-serif">Status :</font></td>';
       echo '<td>';
    $sql="select * from infos";
  $resultat=@mysql_db_query($dbname,$sql,$id_link);
   echo '<select name="status">';
    echo '<option value="" selected></option>';
    while ($rang=mysql_fetch_array($resultat)){
    $status=$rang['status'];
    echo "<option value="$status">$status</option>";
    }
    echo '</select>';

    echo '</td>';
       echo '</tr>';
     
     
     echo '<tr>';
       echo '<td colspan="2">&nbsp;</td>';
       echo '</tr>';
     echo '<tr>';
       echo '<td colspan="2"><div align="center"></div></td>';
       echo "</tr>";
     echo "<tr>";
       echo '<td colspan="2"><div align="center">';
         echo '<input type="submit" name="Submit" value="Envoyer">';
         echo "</div></td>";
       echo "</tr>";
     echo "</table>";
     echo "</form>";
    }
      ?>   
 <?
   //////////// code qui entre les données dans la base de donnée ////
 if ($action=='terminer'){
      $sql="INSERT INTO membres (pseudo, prenom, age, ville, nationalite, email, status, niveau)
 VALUES ('$pseudo', '$prenom', '$age', '$ville', '$nationalite', '$email', '$status', '$niveau')";
@mysql_db_query($dbname,$sql,$id_link);
    echo '<table width="185" border="0">';
       echo "<tr>";
       echo '<td width="164"><div align="center"><font face="Arial, Helvetica, sans-serif">Le membre à été rajouté avec succès</font></div></td>';
       echo "</tr>";
    echo "<tr>";
       echo "</table>";
   }
   ?> 
 <?
   ///////////// Modifier les membres inscris dans la base de donnée, j'affiche la liste des membres inscris /////////
 if ($action=='modifier'){
      $sql="select * from membres order by clef";
$resultat=mysql_db_query($dbname,$sql,$id_link);
   while ($rang=mysql_fetch_array($resultat)){
       $pseudo=$rang['pseudo'];
    
     echo '<table width="185" border="0">';
          echo "<tr>";
             echo "<td width="124"><font size="-1" face="Arial, helvetica, sans-serif">$pseudo</font></td>";
             echo '<td width="51"><a href="aide.php?action=details">d&eacute;tails</a></td>
             '             ;
    echo "</tr>";
    echo "</table>";    
     }
     }
   ?>
 <?
///////// c'est ICI MON PROBLEME, je voudrais avoir les détails de chaque membres en cliquant sur le texte "details", mais rien ne s'affiche ///////////
   if ($action=='details'){
    $sql="select * from membres WHERE clef="$clef"";
$resultat=@mysql_db_query($dbname,$sql,$id_link);
   while ($rang=mysql_fetch_array($resultat)){
    $pseudo=$rang['pseudo'];
    $prenom=$rang['prenom'];
    $age=$rang['age'];
    $clef=$rang['clef'];
    }
  echo '<table width="166" border="0">';
            echo '<tr>';
              echo "<td width="71">Pseudo</a> :</td>
              <td width="85">$pseudo</td>
              ";
            echo '</tr>';
            echo '<tr>';
              echo "<td>Pr&eacute;nom :</td>
              <td>$prenom</td>
              ";
            echo '</tr>';
            echo '<tr>';
              echo "<td>Age :</td>
              <td>$age</td>
              ";
            echo '</tr>';
        echo '</table>
  ';
  }
  ?>
        </div>

Hors ligne

 

#2 12-01-2005 14:58:09

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Afficher les détails

pour la selection, étant donné que tu n'en affiche qu'un seul, le while est inutile

Code:

$rang=mysql_fetch_array($resultat);
$pseudo=$rang['pseudo'];
$prenom=$rang['prenom'];
$age=$rang['age'];
$clef=$rang['clef'];

ceci suffit

ensuite, pour l'action, vérifie que ta variable est bien égale à details
essaye aussi en remplacant par cela :

Code:

if ($_GET['action'] == 'details'){ 

c'est plus sécurisé, et tu es sur que ta variable sera okey partout  wink

Hors ligne

 

#3 12-01-2005 16:33:52

Mimas
Membre
Lieu: Bruxelles
Date d'inscription: 12-01-2005
Messages: 9
Site web

Re: Afficher les détails

Merci d'avoir répondu smile

J'ai corrigé l'erreur du while et suivi le 2eme conseil mais ca ne saffiche tjs pas :s

mon action est bien egale a details

Code:

echo '<td width="51"><a href="aide.php?action=details">d&eacute;tails</a></td>

quand je clike sur détails mes variable ne saffiche pas.

Code:

echo '<table width="166" border="0">'; 
            echo '<tr>'; 
              echo "<td width="71">Pseudo</a> :</td> 
              <td width="85">$pseudo</td> 
              "; 
            echo '</tr>'; 
            echo '<tr>'; 
              echo "<td>Pr&eacute;nom :</td> 
              <td>$prenom</td> 
              "; 
            echo '</tr>'; 
            echo '<tr>'; 
              echo "<td>Age :</td> 
              <td>$age</td> 
              "; 
            echo '</tr>'; 
        echo '</table> 
  '; 

Merci d'avance wink

Hors ligne

 

#4 12-01-2005 16:39:07

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Afficher les détails

oui, j'ai bien vu que l'action est égale à details

un truc : $clef, tu le recupere ou ?
si il est passé dans l'url, et que tu ne le repasse pas, c'est normal qu'il ne t'affiche rien, puisque rien n'est ressorti de te requete  wink

Hors ligne

 

#5 12-01-2005 17:16:28

Mimas
Membre
Lieu: Bruxelles
Date d'inscription: 12-01-2005
Messages: 9
Site web

Re: Afficher les détails

je le recupere dans ma table membres

Hors ligne

 

#6 13-01-2005 06:15:33

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Afficher les détails

essaye donc de faire un echo de ta variable $action, juste avant le if.
essaye aussi de voir si ta requet ressors bien des données (en enlevant le if par exemple)

Hors ligne

 

#7 13-01-2005 07:28:36

Mimas
Membre
Lieu: Bruxelles
Date d'inscription: 12-01-2005
Messages: 9
Site web

Re: Afficher les détails

jvais paraitre soulant mais ca va tjs pas :p

Mon mecanisme est-il juste? de faire un $action==modifier pour afficher les membres puis de faire un $action=details pour montré les details et la sortir la $clef de base?

Regarder http://uc-clan.csportshosting.com/uc-clan/aide.php

wink

Hors ligne

 

#8 13-01-2005 11:01:37

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Afficher les détails

oui, c'est une solution
bien, donc, en voyant ta page, on définit deja un peu mieux le probleme

le fait que les champs "Pseudo", ... cela signifie qu'il prends en compte ta variable details

mais, que ta requete sql ne ressort rien.
es-tu sur que la variable $clef est bien définie ?
que tu définis correctement les variables pseudo, prénom et age ?

Hors ligne

 

#9 16-01-2005 08:58:11

Mimas
Membre
Lieu: Bruxelles
Date d'inscription: 12-01-2005
Messages: 9
Site web

Re: Afficher les détails

Et oui jsuis tjs la tongue

J'ai continué a bossé sur d'autres trucs en attendant mais mon problème de détails n'est tjs pas réglé et cela m'embête vraiment pour continué !

N'auriez vous pas un morceau de code utilisant ce détails, que je puisse voir mon erreur wink

Hors ligne

 

#10 16-01-2005 09:00:27

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Afficher les détails

euh la, comme ca, non
mais, le probleme vient soit de ta requete sql, soit des définitions de tes variables de pseudo, ...

essaye un print_r($rang);
si il ne retourne rien, cela signifie que ta requete sql ne retourne rien
sinon, cela signifie que tes définitions de variables sont eronées

Hors ligne

 

#11 16-01-2005 15:02:39

Mimas
Membre
Lieu: Bruxelles
Date d'inscription: 12-01-2005
Messages: 9
Site web

Re: Afficher les détails

rien a faire, jai essayer de cree une fonction details et cela ne va pas non plus

quand dans ma requete je met que ma clef=1 par exemple alors il affiche tjs le membres 1 (logique), mais une fois que je met clef=$clef ca ne va pas !!

jsuis deseperer de trouver, kand jaurais la solution, jouvre le champagne

Mes variables sont justes !

Hors ligne

 

#12 16-01-2005 15:04:55

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Afficher les détails

et si tu fais un echo de ta variable $clef, je suis pret à parier qu'elle te retournera rien du tout...

Hors ligne

 

#13 16-01-2005 16:53:39

Mimas
Membre
Lieu: Bruxelles
Date d'inscription: 12-01-2005
Messages: 9
Site web

Re: Afficher les détails

non il affiche rien, tout comme mes variables $pseudo $prenom et $age mais dès que ma clef=1, alors ils s'affichent

Pourtant dans mon livre explikant le php voila les lignes qui y a:

echo "<A HREF="#" onClick="ouvrir_vasistas('lemenudujour.php?clef=$clef','vasistas','menubar=no,scrollbars=yes,statusbar=yes, width=630,height=500')">";

et rapellé ici :

$sql="SELECT datedujour, contenu FROM agenda WHERE clef='$clef' and nom_usage='$nom_usage'";
$resultat=@mysql_db_query($dbname,$sql,$id_link);
while($rang=mysql_fetch_array($resultat)){...

évidemment ici la page de details est ouverte par javascript, mais ca reste le meme principe.

Donc jcapte pas ou est mon problème !

Hors ligne

 

#14 16-01-2005 16:57:17

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Afficher les détails

ce que je te dis, c'est qu'il est plus que probable que le probleme vienne te ta variable $clef, qui est pas ou mal définie...
fais un echo $clef;
et vérifie qu'elle est bien égale au bon nombre

vérifie également qu'il y a bien un utilisateur ayant ce nombre en identifiant dans ta base de donénes...

Hors ligne