Envoyer vers un lien contenu dans une BDD
Résolu
boss183
Messages postés
181
Date d'inscription
Statut
Membre
Dernière intervention
-
boss183 Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
boss183 Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
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 :
$requete = "SELECT idMAT FROM admin, materiel";
$requete.=" WHERE admin.idADMIN=materiel.idADMIN";
$requete.=" AND admin.idADMIN='".$login."'";
$resultat = mysql_query($requete)
or die ("Exécution de la requête impossible");
echo"<b>Choisissez un materiel</b>\n";
echo"<br><br>";
echo "<form action='acces.php' method='post'><select name='nom'>\n";
while ($liste=mysql_fetch_array($resultat))
{
extract($liste);
echo "<option value='$idMAT'>$idMAT\n";
}
echo " </select>\n";
echo " <BR><BR><BR><BR>";
echo "<input type='submit'"."value='Validez votre choix'></form>\n";
}//Fin de condition d'authentification
}else{//Ici toutes les données n'ont pas été envoyées
echo "Il n'y a pas de login et/ou de mot de passe";
}//Fin de condition de présence des données
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 :
$requete = "SELECT idMAT FROM admin, materiel";
$requete.=" WHERE admin.idADMIN=materiel.idADMIN";
$requete.=" AND admin.idADMIN='".$login."'";
$resultat = mysql_query($requete)
or die ("Exécution de la requête impossible");
echo"<b>Choisissez un materiel</b>\n";
echo"<br><br>";
echo "<form action='acces.php' method='post'><select name='nom'>\n";
while ($liste=mysql_fetch_array($resultat))
{
extract($liste);
echo "<option value='$idMAT'>$idMAT\n";
}
echo " </select>\n";
echo " <BR><BR><BR><BR>";
echo "<input type='submit'"."value='Validez votre choix'></form>\n";
}//Fin de condition d'authentification
}else{//Ici toutes les données n'ont pas été envoyées
echo "Il n'y a pas de login et/ou de mot de passe";
}//Fin de condition de présence des données
A voir également:
- Envoyer vers un lien contenu dans une BDD
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Envoyer vers - Guide
- Lien copié ✓ - Forum Google Chrome
- Verificateur de lien - Guide
8 réponses
Dans ta page acces.php tu vas devoir faire 3 opérations :
- Récupérer la valeur que l'utilisateur a sélectionné dans la liste ($_POST['ID_LISTE'])
- Faire une requête pour récupérer ton lien dans la BD (SELECT URL FROM MA_TABLE WHERE ATTRIBUT = ID_LISTE)
- Faire un forward sur l'url que la requête t'a retournée. (header('Location: $URL') --> voir le sujet suivant : http://www.commentcamarche.net/faq/sujet 878 php rediriger sur une autre page redirection)
Bon courage
- Récupérer la valeur que l'utilisateur a sélectionné dans la liste ($_POST['ID_LISTE'])
- Faire une requête pour récupérer ton lien dans la BD (SELECT URL FROM MA_TABLE WHERE ATTRIBUT = ID_LISTE)
- Faire un forward sur l'url que la requête t'a retournée. (header('Location: $URL') --> voir le sujet suivant : http://www.commentcamarche.net/faq/sujet 878 php rediriger sur une autre page redirection)
Bon courage
tout d'abord ce que je dois récupérer avec le post c bien le nom de <select name=...> non ?
Tout a fait : En supposant que tu ais
<select name="listeMateriel">
<option....
</select>
tu récupères alors $_POST['listeMateriel'];
Je pense par contre que tu ne récupères pas ton URL correctement. Tu devrais un mysql_fetch_array pour récupérer le premier enregistrement comme tu faisais dans ton premier script pour récupérer tous tes matériels.
$idMAT = $_POST['idMAT'];
$rq="SELECT lien FROM materiel";
$rq.="WHERE materiel.idMAT='".$idMAT."'";
$resultat = mysql_query($rq)
or die ("Exécution de la requête impossible");
$liste = mysql_fetch_array($resultat);
extract($liste);
header('Location: $lien ');
J'ai fait l'extract() juste avant. J'ai juste repris ton code que tu avais fait pour la liste déroulante ;-)
d'accord mais ça ne résolue pas le problème de ma variable qui n'est pas reconnue dans header('Location: $lien ');
et puis j'ai fait quelques modifications de mon script dans mon ancienne page c'est peut être pour ça que ça ne marche pas désolé je débute :
et puis j'ai fait quelques modifications de mon script dans mon ancienne page c'est peut être pour ça que ça ne marche pas désolé je débute :
$requete = 'SELECT idMAT, lien FROM admin INNER JOIN materiel ON admin.idADMIN=materiel.idADMIN WHERE admin.idADMIN="'.$login.'"'; $resultat = mysql_query($requete) or die ('Exécution de la requête impossible'); print '<b>Choisissez un materiel</b> <br><br> <form action="acces.php" method="post"> <select name="lien">\n'; while ($liste=mysql_fetch_array($resultat)) { print '<option value="'.$liste['lien'].'">'.$liste['idMAT']; } echo '</select> <BR><BR><BR><BR> <input type="submit" value="Validez votre choix"></form>'; }//Fin de condition d'authentification }else{//Ici toutes les données n'ont pas été envoyées print "Il n'y a pas de login et/ou de mot de passe"; }//Fin de condition de présence des données
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$idMAT = $_POST['idMAT']; $rq="SELECT lien FROM materiel"; $rq.="WHERE materiel.idMAT='".$idMAT."'"; $resultat = mysql_query($rq) or die ('Exécution de la requête impossible'); $list_enr=mysql_fetch_array($resultat) $lien = $list_enr['lien']; header("Location: $lien");
D'après le post ici : http://www.commentcamarche.net/forum/affich 3061396 php variable dans header ca devrait fonctionner.
non ça ne marche pas cette ligne ne va pas.
ça ne doit pas marche car j'ai changer mon autre page :
on m'a dit qu'avec ce code je n'aurais plus besoin de sql sur la page acces mais je suis septique qu'en penses-tu ?
ça ne doit pas marche car j'ai changer mon autre page :
$requete = 'SELECT idMAT, lien FROM admin INNER JOIN materiel ON admin.idADMIN=materiel.idADMIN WHERE admin.idADMIN="'.$login.'"';
$resultat = mysql_query($requete) or die ('Exécution de la requête impossible');
print '<b>Choisissez un materiel</b>
<br><br>
<form action="acces.php" method="post">
<select name="lien">\n';
while ($liste=mysql_fetch_array($resultat))
{
print '<option value="'.$liste['lien'].'">'.$liste['idMAT'];
}
echo '</select>
<BR><BR><BR><BR>
<input type="submit" value="Validez votre choix"></form>';
}//Fin de condition d'authentification
}else{//Ici toutes les données n'ont pas été envoyées
print "Il n'y a pas de login et/ou de mot de passe";
}//Fin de condition de présence des données
on m'a dit qu'avec ce code je n'aurais plus besoin de sql sur la page acces mais je suis septique qu'en penses-tu ?
$idMAT = $_POST['idMAT'];
$rq="SELECT lien FROM materiel";
$rq.="WHERE materiel.idMAT='".$idMAT."'";
$url = mysql_query($rq)
or die ("Exécution de la requête impossible");
header('Location: $url ');
tout d'abord ce que je dois récupérer avec le post c bien le nom de <select name=...> non ?
et puis j'ai un autre petit problème c lorsque je met header('Location: $url ') il ne reconnait pas la variable de quoi faut-il que j'entoure $url pour qu'il le prenne bien comme variable ?
Merci d'avance