Envoyer vers un lien contenu dans une BDD
Résolu/Fermé
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
-
12 mars 2008 à 14:04
boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 - 12 mars 2008 à 17:43
boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 - 12 mars 2008 à 17:43
A voir également:
- Envoyer vers un lien contenu dans une BDD
- Verifier un lien - Guide
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Windows 7 vers windows 10 - Guide
- Aucune application permettant d'ouvrir ce lien n'a été trouvée - Forum Mobile
8 réponses
Utilisateur anonyme
12 mars 2008 à 15:07
12 mars 2008 à 15:07
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
Utilisateur anonyme
12 mars 2008 à 15:51
12 mars 2008 à 15:51
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 ');
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
12 mars 2008 à 16:08
12 mars 2008 à 16:08
et sinon je ne comprends pas trop par contre parce que tu récupères dans la variable $liste avec mysql_fetch_array et tu redirige sur $lien ?
Utilisateur anonyme
12 mars 2008 à 16:09
12 mars 2008 à 16:09
J'ai fait l'extract() juste avant. J'ai juste repris ton code que tu avais fait pour la liste déroulante ;-)
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
12 mars 2008 à 16:18
12 mars 2008 à 16:18
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
Utilisateur anonyme
12 mars 2008 à 16:59
12 mars 2008 à 16:59
$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.
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
12 mars 2008 à 17:28
12 mars 2008 à 17:28
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 ?
Utilisateur anonyme
12 mars 2008 à 17:38
12 mars 2008 à 17:38
Je n'avais pas bien regardé désolé :
Tu n'as pas besoin de faire une deuxième requête puisque tu récupères déjà le lien avec la première. Ça devrait mieux fonctionner maintenant ;-)
if(isset($_POST['lien'])){ header("Location: $_POST['lien']"); }
Tu n'as pas besoin de faire une deuxième requête puisque tu récupères déjà le lien avec la première. Ça devrait mieux fonctionner maintenant ;-)
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
12 mars 2008 à 17:43
12 mars 2008 à 17:43
exact ça fonctionne la personne avait bien raison ça marche sans SQL
en tout cas merci pour tout
en tout cas merci pour tout
12 mars 2008 à 15:41
$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