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

  FORUM HardWare.fr
  Programmation
  PHP

  Envoyer vers un lien contenu dans une BDD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Envoyer vers un lien contenu dans une BDD

n°1701051
boss183
Posté le 12-03-2008 à 14:08:00  profilanswer
 

Bonjour à tous,
 
je vous explique dans ma BDD j'ai une table avec un identifiant du matériel (idMAT) et dans cette même table le lien pour y accéder (disque dur IP, caméra IP). Lorsqu'il arrive sur une page l'utilisateur choisi par l'intermédiaire d'un menu déroulant le matériel qu'il veut et je souhaiterais que lorsqu'il clique sur valider ça envoie vers le lien qui correspond (et qui est contenu dans la BDD)
 
voilà mon script si qqun peut me dire ce qu'il faut modifier pour réaliser ce que je souhaite :  
 

Code :
  1. $requete = "SELECT idMAT FROM admin, materiel";
  2. $requete.=" WHERE admin.idADMIN=materiel.idADMIN";
  3. $requete.=" AND admin.idADMIN='".$login."'";
  4. $resultat = mysql_query($requete)
  5. or die ("Exécution de la requête impossible" );
  6. echo"<b>Choisissez un materiel</b>\n";
  7. echo"<br><br>";
  8. echo "<form action='acces.php' method='post'><select name='nom'>\n";
  9. while ($liste=mysql_fetch_array($resultat))
  10. {
  11. extract($liste);
  12. echo "<option value='$idMAT'>$idMAT\n";
  13. }
  14. echo " </select>\n";
  15. echo " <BR><BR><BR><BR>";
  16. echo "<input type='submit'"."value='Validez votre choix'></form>\n"; 
  17. }//Fin de condition d'authentification
  18. }else{//Ici toutes les données n'ont pas été envoyées
  19.  echo "Il n'y a pas de login et/ou de mot de passe";
  20. }//Fin de condition de présence des données

mood
Publicité
Posté le 12-03-2008 à 14:08:00  profilanswer
 

n°1701056
dwogsi
Défaillance cérébrale...
Posté le 12-03-2008 à 14:12:39  profilanswer
 

extract(), Oh My God...
Non mais sérieusement, revois ton code, HTML et PHP.
Et puis quel est ton problème aussi? Qu'est ce qui ne va pas, ne fonctionne pas?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1701125
boss183
Posté le 12-03-2008 à 15:11:34  profilanswer
 

bah ce que je demande c'est écrit au dessus dans mon post relie bien

n°1701169
dwogsi
Défaillance cérébrale...
Posté le 12-03-2008 à 15:43:04  profilanswer
 

Non mais sérieusement, met toi à la place des gens qui te lisent...
On a un bout de code, on sait juste qu'il faut le modifier.. Euh ok mais là par exemple tu envoies ton formulaire vers acces.php? Et tu y fais quoi dans ce script?? Et puis on va faire le boulot à ta place, donc précise ta demande!!!


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1701171
babasss
Posté le 12-03-2008 à 15:43:42  profilanswer
 

Si je puis me permettre, je vais faire quelques remarques :

  • le extract() est pas beau du tout, il faut lui préférer un $liste['idMAT']
  • utilise des INNER JOIN en SQL, c'est beaucoup plus propre (pour le moteur SQL)
  • ton utilisation des simples quotes et doubles quotes et l'inverse de ce que je fait généralement. La raison est que en html, on préfère la double quote, donc j'utilise la simple pour délimiter le texte en php


Pour ton lien, il faut utiliser la value de la liste déroulante. Avant cela, il va falloir rajouter le lien dans le SQL... On obtiendra :

Code :
  1. $requete = 'SELECT idMAT, lien FROM admin INNER JOIN materiel
  2.  ON admin.idADMIN=materiel.idADMIN
  3.  WHERE admin.idADMIN="'.$login.'"';
  4. $resultat = mysql_query($requete) or die ('Exécution de la requête impossible');
  5. print '<b>Choisissez un materiel</b>\n
  6.  <br><br>
  7.  <form action="acces.php" method="post">
  8.   <select name="lien">\n';
  9. while ($liste=mysql_fetch_array($resultat))
  10. {
  11.  print '<option value="'.$liste['lien'].'">'.$liste['idMAT'].'\n';
  12. }
  13. echo '</select>\n
  14.  <BR><BR><BR><BR>
  15.  <input type="submit" value="Validez votre choix"></form>\n';
  16. }//Fin de condition d'authentification
  17. }else{//Ici toutes les données n'ont pas été envoyées
  18. print "Il n'y a pas de login et/ou de mot de passe";
  19. }//Fin de condition de présence des données


et tu récupères ton lien dans la page acces.php en faisant un $_POST['lien']


Message édité par babasss le 12-03-2008 à 15:44:30

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1701198
boss183
Posté le 12-03-2008 à 16:04:19  profilanswer
 

merci babass j'ai repris ton script (en enlevant quelques \n parce que ça m'en affichait partout)
et j'ai suivi ce que tu m'as dis mais sans succès peux tu me dire ce que tu penses de mon script de ma page acces.php :
 

Code :
  1. $liste = $_POST['lien'];
  2. $rq="SELECT lien FROM materiel";
  3. $rq.="WHERE materiel.idMAT='".$idMAT."'";
  4. $url = mysql_query($rq)
  5. or die ("Exécution de la requête impossible" );
  6. header('Location: $url');


Message édité par boss183 le 12-03-2008 à 16:36:13
n°1701242
babasss
Posté le 12-03-2008 à 16:38:43  profilanswer
 

Est ce que tu as compris ce que je t'ai mis dans mon post précédent ? Parce que là, ca n'a pas l'air du tout  [:grise mine]
Va regarder le code source de ta page une fois celle-ci chargée pour voirce qu'il y a comme value dans les balises option ... tu as déjà les liens. Quand tu cliques sur le bouton submit, ca envoie en $_POST le lien, donc tu n'as pas besoin de refaire du SQL sur ta page acces.php

 

Note : Je dirais même que avec un peu de programmation en plus tu n'as pas besoin de page acces.php et qu'avec une petite dose de javascript tu peux t'en sortir...


Message édité par babasss le 12-03-2008 à 16:39:21

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1701251
boss183
Posté le 12-03-2008 à 16:52:42  profilanswer
 

tu dis que je n'ai pas besoin de SQL pour faire la redirection sur mon lien ce qui veut dire que :
 
$lien = $_POST['lien'];
header('Location: $lien');
 
ça suffirait. Désolé babass mais je débute en prog

n°1701252
babasss
Posté le 12-03-2008 à 16:54:50  profilanswer
 

Tout dépend de ce que tu as dans $_POST['lien'] comme valeur, mais c'est à cela que je pensais...


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1701268
boss183
Posté le 12-03-2008 à 17:21:04  profilanswer
 

ouai mais il me redirige ver sune page qui me met :
Not Found
The requested URL /test/$lien was not found on this server.

mood
Publicité
Posté le 12-03-2008 à 17:21:04  profilanswer
 

n°1701289
dwogsi
Défaillance cérébrale...
Posté le 12-03-2008 à 17:36:28  profilanswer
 

header('Location: $lien');  
C'est normal, entre simple quote les variables ne sont pas remplacées par leur valeurs. Essais donc avec des doubles quote " ou alors une concaténation.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1701296
boss183
Posté le 12-03-2008 à 17:42:15  profilanswer
 

c bon ça marche


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

  Envoyer vers un lien contenu dans une BDD

 

Sujets relatifs
Infos BDD dans menu déroulantDiagramme classe, BDD relationnel, formes normales
encadrement de div selon son contenu ??Copier des données de classeurs Excel fermés vers un classeur ouvert
Conversion VBA word vers VBSConseil sur gestion de la BDD [SQL]
PHP envoyer un RDV sur Outlook[resolu] htaccess et sous-domaine vers dossier..
Comment afficher le code binaire du contenu d'une variable quelconque 
Plus de sujets relatifs à : Envoyer vers un lien contenu dans une BDD


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