Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
690 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  annuaire telephonique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

annuaire telephonique

n°1738239
esteban72
Posté le 28-05-2008 à 11:45:11  profilanswer
 

Bonjour,
 
J'ai un soucis un peu particulier : mon script fonctionne si la page est ouverte depuis free.fr (identifiant et password modifier pour la connection a la base) par contre il ne fonctionne pas si j'ouvre la page avec Wamp (version2)
 
Pour commencer voici le code du script :
 

Citation :


<?php
error_reporting(E_ALL ^ E_NOTICE);
 
$host="localhost";
$user="root";
$pass="";
$base="intranet";
$table="annuaire";
 
$bdd=@mysql_connect($host,$user,$pass);
     @mysql_select_db($base,$bdd);
 
if (!$bdd)
  {
    echo"<center><h4>Impossible de se connecter à la base de données.</h4></center>";
    exit;
  };
   
      echo"<table width='0%' cellpadding='5' cellspacing='0' border='0' align='left' bgcolor='#E1E9F4'>
             <form name='recherche' action='annuaire.php?task=2' method='post'>
               <tr>
                 <td bgcolor='#9EBBFD' colspan='2' align='center'><h2>Rechercher</h2></td>
               </tr>
               <tr>
                 <td align='right'>Nom</td>
                 <td><input type='text' name='nom'></td>
               </tr>
               <tr>
                 <td align='right'>Prénom</td>
                 <td><input type='text' name='prenom'></td>
               </tr>
               <tr>
                 <td align='right'>Tel</td>
                 <td><input type='text' name='tel'></td>
               </tr>
      <tr>
                 <td align='right'>Service</td>
                 <td><input type='text' name='service'></td>
               </tr>
      <tr>
                 <td align='right'>Localité</td>
                 <td><input type='text' name='localite'></td>
               </tr>
               <tr>
                 <td>&nbsp;</td>
                 <td><input type='submit' name='op2' value='Rechercher'></td>
               </tr>
             </form>
           </table> <table width='70' cellpadding='5' cellspacing='0' border='0' align='left''><TR><TD>&nbsp;</TD></TR></table>";
     
if ($op2)
        {
          $query="SELECT * FROM $table WHERE an_id IS NOT NULL";
          if ($nom)
            {
              $query.=" AND an_nom LIKE '$nom%'";
            };
          if ($prenom)
            {
              $query.=" AND an_prenom LIKE '$prenom%'";
            };
          if ($tel)
            {
              $query.=" AND an_tel LIKE '%$tel%'";
            };
          if ($service)
            {
              $query.=" AND an_service LIKE '%$service%'";
            };
    if ($localite)
            {
              $query.=" AND an_localite LIKE '%$localite%'";
            };
          $query.=" ORDER BY an_nom";
          $res=mysql_query($query);
 
          echo"<table width='0%' cellpadding='5' cellspacing='1' border='0' align='left'>";
          echo"<td bgcolor='#9EBBFD' align='center'><b>Nom</b></td><td bgcolor='#9EBBFD' align='center'><b>Prénom</b></td><td bgcolor='#9EBBFD' align='center'><b>N° Téléphone</b></td><td bgcolor='#9EBBFD' align='center'><b>Service</b></td><td bgcolor='#9EBBFD' align='center'><b>Localité</b></td></tr>";
 
          while($val=mysql_fetch_array($res,$bdd))
            {
              $nom = $val['an_nom'];
              $prenom = $val['an_prenom'];
              $tel = $val['an_tel'];
     $service = $val['an_service'];
     $localite = $val['an_localite'];
 
              echo"<tr><td bgcolor='#E1E9F4'>".$nom."</td><td bgcolor='#E1E9F4'>".$prenom."</td><td bgcolor='#E1E9F4'>".$tel."</td><td bgcolor='#E1E9F4'>".$service."</td><td bgcolor='#E1E9F4'>".$localite."</td></tr>";
            };
 
          echo"</table>";
 
        };
mysql_close;
?>
 


 
Sur Free, quand je clic sur rechercher, il affiche la liste des resultats dans un tableau a coté du formulaire.
 
Sur wamp, au depart, j'avais meme pas le tableau qui s'affichait alors j'ai activé les option (presque toute sauf celle de test et d'erreur) dans le php config de wamp et du coup il affiche uniquement l'entete du tableau de resultat et des lignes de tableau vide (mais il met le bon nombre de ligne par rapport au resultat qu'il devrai afficher : si il doit sortir 2 noms, il affiche 2 ligne vierge).
 
Une idee de ce qui peut etre en cause ? Je doute d'une erreur de code vu qu'il fonctionne parfaitement sur free.fr. Je pense plutot a un parametrage dans wamp.
 
Merci de votre aide.

mood
Publicité
Posté le 28-05-2008 à 11:45:11  profilanswer
 

n°1738249
soju
One shot !
Posté le 28-05-2008 à 12:02:58  profilanswer
 

apparemment pas un pb de paramétrage de wamp :
lit la doc de mysql_fetch_array, le 2ème paramètre est faux
 
PS: utilise $_POST car register_globals n'est pas activé partout (heureusement)
 

n°1738254
esteban72
Posté le 28-05-2008 à 12:14:30  profilanswer
 

Je te remercie, effectivement il fallait bien modifier ce que tu as dit, mais je ne comprend pas pourquoi je n'avais pas le probleme chez free.
 
Merci


Message édité par esteban72 le 28-05-2008 à 12:21:13
n°1738909
esteban72
Posté le 29-05-2008 à 14:49:42  profilanswer
 

Bonjour, j'avance dans mon projet mais je bute sur une nouvelle difficulté. Je souhaite créer une page d'administration qui permettra d'ajouter, de modifier ou supprimer un contact. Pour l'ajout, aucun probleme, par contre pour la modification et la suppression ca ne fonctionne pas. J'ai probablement encore des erreurs dans mon code que je ne vois pas.
 
Quand je dis que ca ne fonctionne pas, c'est qu'il m'annonce que la modification ou suppression est faite mais il n'y a pas de modif dans la base.
 
Voici le code des boutons qui ouvre la page de modif et supprime un contact :
 

Citation :


              echo"<tr><td bgcolor='#E1E9F4' align='center'>".$nom."</td><td bgcolor='#E1E9F4' align='center'>".$prenom."</td><td bgcolor='#E1E9F4' align='center'>".$telintern."</td><td bgcolor='#E1E9F4' align='center'>".$teldirect."</td><td bgcolor='#E1E9F4' align='center'>".$portable."</td><td bgcolor='#E1E9F4' align='center'>".$service."</td><td bgcolor='#E1E9F4' align='center'>".$localite."</td><td bgcolor='#9EBBFD'><A HREF='annuairemod.php?id=\"$id\"&nom=\"$nom\"&prenom=\"$prenom\"&telintern=\"$telintern\"&teldirect=\"$teldirect\"&portable=\"$portable\"&service=\"$service\"&localite=\"$localite\"'>modifier</A></td><td bgcolor='#9EBBFD'><A HREF='annuairesup.php?id=\"$id\"'>Supprimer</A></td></tr>";
 


 
Voici le code de la page de modification :

Citation :


<?php
error_reporting(E_ALL ^ E_NOTICE);
 
$host="localhost";
$user="root";
$pass="";
$base="intranet";
$table="annuaire";
 
$bdd=@mysql_connect($host,$user,$pass);
     @mysql_select_db($base,$bdd);
 
if (!$bdd)
  {
    echo"<center><h4>Impossible de se connecter à la base de données.</h4></center>";
    exit;
  };
   
if ($op4)
  {
          $query="UPDATE $table SET an_nom='$nom', an_prenom='$prenom', an_telintern='$telintern', an_teldirect='$teldirect', an_portable='$portable', an_service='$service', an_localite='$localite' WHERE an_id='$id'";
          $res=mysql_query($query);
          if ($res)
            {
              echo"<center><h4>Entrée modifiée</h4></center>";
            }
            else
            {
              echo"<center><h4>Erreur</h4></center>";
            };
        };
      echo"<table width='0%' cellpadding='5' cellspacing='0' border='0' align='center' bgcolor='#CCCCCC'>
             <form name='modifier' action='annuairemod.php' method='$_post'>
               <tr>
                 <td colspan='2' align='center'><h2>Modifier</h2></td>
               </tr>
               <tr>
                 <td align='right'>Nom</td>
                 <td><input type='text' name='nom' value=$nom></td>
               </tr>
               <tr>
                 <td align='right'>Prénom</td>
                 <td><input type='text' name='prenom' value=$prenom></td>
               </tr>
               <tr>
                 <td align='right'>N° Interne</td>
                 <td><input type='text' name='telintern' value=$telintern></td>
               </tr>
               <tr>
                 <td align='right'>N° Direct</td>
                 <td><input type='text' name='teldirect' value=$teldirect></td>
               </tr>
      <tr>
                 <td align='right'>Portable</td>
                 <td><input type='text' name='portable' value=$portable></td>
               </tr>
               <tr>
                 <td align='right'>Service</td>
                 <td><input type='text' name='service' value=$service></td>
               </tr>  
               <tr>
                 <td align='right'>Localité</td>
                 <td><input type='text' name='localite' value=$localite></td>
               </tr>          
               <tr>
                 <td>&nbsp;</td>
                 <td>
                   <input type='hidden' name='id' value='$id'>
                   <input type='submit' name='op4' value='Modifier'></td>
               </tr>
             </form>
           </table>";
     
mysql_close;
?>
 


 
Et le code de suppression :

Citation :


<?php
error_reporting(E_ALL ^ E_NOTICE);
 
$host="localhost";
$user="root";
$pass="";
$base="intranet";
$table="annuaire";
 
$bdd=@mysql_connect($host,$user,$pass);
     @mysql_select_db($base,$bdd);
 
if (!$bdd)
  {
    echo"<center><h4>Impossible de se connecter à la base de données.</h4></center>";
    exit;
  };
 
 $query="DELETE FROM $table WHERE an_id = '$id'";
      $res=mysql_query($query);
      if ($res)
        {
          echo"<center><h4>Entrée supprimée</h4></center>";
        }
        else
        {
          echo"<center><h4>Erreur</h4></center>";
        };
     
mysql_close;
?>


 
Merci une fois de plus ;)

n°1740216
esteban72
Posté le 02-06-2008 à 13:28:55  profilanswer
 

Personne n'a une idee de l'erreur ?

n°1740291
sielfried
Posté le 02-06-2008 à 15:03:19  profilanswer
 
n°1740306
esteban72
Posté le 02-06-2008 à 15:10:08  profilanswer
 

$id c'est la variable pour le numero de l'enregistrement de la fiche du contact.
 
Dans la base on a :
 
ID Nom prenom teldirect....
1 DUPONT Eric 222
2 MARTIN Pierre 228
....

n°1740308
sielfried
Posté le 02-06-2008 à 15:11:02  profilanswer
 

Ce que je veux dire, c'est d'où est-ce que ça sort ? C'est déclaré nulle part. [:petrus75]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1740317
esteban72
Posté le 02-06-2008 à 15:19:10  profilanswer
 

Si il est defini dans la page annuaire juste avant le code que j'avais mis pour l'affichage de la liste
 

Citation :


 while($val=mysql_fetch_array($res, MYSQL_BOTH))
            {
     $id = $val['an_id'];
              $nom = $val['an_nom'];
              $prenom = $val['an_prenom'];
              $telintern = $val['an_telintern'];
     $teldirect = $val['an_teldirect'];
     $portable = $val['an_portable'];
     $service = $val['an_service'];
     $localite = $val['an_localite'];
 
              echo"<tr><td bgcolor='#E1E9F4' align='center'>".$nom."</td><td bgcolor='#E1E9F4' align='center'>".$prenom."</td><td bgcolor='#E1E9F4' align='center'>".$telintern."</td><td bgcolor='#E1E9F4' align='center'>".$teldirect."</td><td bgcolor='#E1E9F4' align='center'>".$portable."</td><td bgcolor='#E1E9F4' align='center'>".$service."</td><td bgcolor='#E1E9F4' align='center'>".$localite."</td><td bgcolor='#9EBBFD'><A HREF='annuairemod.php?id=\"$id\"&nom=\"$nom\"&prenom=\"$prenom\"&telintern=\"$telintern\"&teldirect=\"$teldirect\"&portable=\"$portable\"&service=\"$service\"&localite=\"$localite\"'>modifier</A></td><td bgcolor='#9EBBFD'><A HREF='annuairesup.php?id=\"$id\"'>Supprimer</A></td></tr>";
            };


 
Apres quand on clic sur modif il apparait bien si je l'affiche dans la page annuairemod.php.
 

n°1740325
sielfried
Posté le 02-06-2008 à 15:25:05  profilanswer
 

Non mais je te parle de la page de modification et de suppression.
 
Ton id il est dans $_GET['id']...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
mood
Publicité
Posté le 02-06-2008 à 15:25:05  profilanswer
 

n°1740341
esteban72
Posté le 02-06-2008 à 15:33:02  profilanswer
 

Alors je dois mettre dans la requete tout les variable comme ça ?
 

Citation :


$query="UPDATE $table SET an_nom=$_GET['nom'], an_prenom=$_GET['prenom'], an_telintern=$_GET['telintern'], an_teldirect=$_GET['teldirect'], an_portable=$_GET['portable'], an_service=$_GET['service'], an_localite=$_GET['localite']WHERE an_id=$_GET['id']";
 

n°1740361
sielfried
Posté le 02-06-2008 à 15:41:01  profilanswer
 

Oui mais en concaténant proprement, et en utilisant mysql_real_escape_string (à défaut de mieux). :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1740365
esteban72
Posté le 02-06-2008 à 15:43:35  profilanswer
 

Je suis desolé, mais comme je debute en php, je comprend pas tout. Tu peux me montrer l'exemple avec mysql_real_escape_string et mes données concaténées proprement ?

n°1740374
sielfried
Posté le 02-06-2008 à 15:49:14  profilanswer
 
n°1740385
esteban72
Posté le 02-06-2008 à 16:03:19  profilanswer
 

Je comprend pas le document sur la concatenation par rapport a mon cas.
 
J'ai mis les crochet et les guillemets partout.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  annuaire telephonique

 

Sujets relatifs
je cherche un logicielle d'annuaire gratuit a installer sur mon site,créer une page pour chaque site sur mon annuaire
probléme affichage categorie sous annuaireprobleme d'installation d'un annuaire FreeGlobes
CMS fonction annuaireConnextion à un annuaire LDAP (VBA vers VBS)
Créer les catégories d'un annuaireaide pour creation annuaire (débutant)
[Recherche outil PHP] A propos d'annuaire internetBesoin d'un annuaire des sites pour développeurs ?
Plus de sujets relatifs à : annuaire telephonique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR