Dynamiser son Site en PHP/MYSQL

Fermé
Zedzdead - 19 oct. 2011 à 17:08
jojo673 Messages postés 210 Date d'inscription lundi 19 septembre 2011 Statut Membre Dernière intervention 9 avril 2014 - 19 oct. 2011 à 21:43
Bonjour,

J'ai un site de video de musique ou chaque vidéos (son "titre", son "artiste", sa "description" son "lien") son liées à une base de donnée.
Pour changer de vidéo sur le site je doit modifier la ligne :

$sql = 'SELECT artiste,titre,description,lien WHERE id=5';

de ma page PHP.

J'aimerais pouvoir changer l'id directement sur le site en entrant l'adresse du site suivis de ID=5 (par exemple)

Du style : www.monsitedevideo.com/index.php?id=5

Comment est-ce possible ?

Merci d'avance ;D
A voir également:

3 réponses

jojo673 Messages postés 210 Date d'inscription lundi 19 septembre 2011 Statut Membre Dernière intervention 9 avril 2014 44
19 oct. 2011 à 17:33
Renseigne toi sur les variables GET en php ;)
1
Merci :)
0
Ah et c'est possible de faire en sorte qu'il declenche une autre requete si $id n'existe pas ? (enfin si l'utilisateur n'est pas aller sur www.monsitedevideo.com/index.php?id=5 mais sur www.monsitedevideo.com/index.php)

Du style :

<?php  
// on se connecte à notre base  
$base = mysql_connect ('***', '***', '***');  
mysql_select_db ('***', $base) ;  

// definit la variable "id" de l'url index.php?id=*  
$id = $_GET['id'];   

// lancement de la requete en fonction de l'url  
if (empty($id))   
	$req = mysql_query("SELECT artiste,titre,description,lien Videos ORDER BY id DESC LIMIT 0,1");
	
else

    $req = mysql_query("SELECT artiste,titre,description,lien FROM Videos WHERE id=$id");

// on recupere le resultat sous forme d'un tableau  
$data = mysql_fetch_array($req);  

// on libère l'espace mémoire alloué pour cette interrogation de la base  
mysql_free_result ($req);  

mysql_close ();  
?>


J'ai essayer avec if (empty($id)) mais ça me met des erreurs au niveau de
"$data = mysql_fetch_array($req); " et "mysql_free_result ($req); "

Merci d'avance :p
0
jojo673 Messages postés 210 Date d'inscription lundi 19 septembre 2011 Statut Membre Dernière intervention 9 avril 2014 44
19 oct. 2011 à 21:43
Oui le problème se trouve ici :
// definit la variable "id" de l'url index.php?id=*  
$id = $_GET['id'];   

Si l'utilisateur arrive sur index.php, la variable $_GET['id'] n'existe donc pas.
pour ça on peut utiliser
if(isset($_GET['id'])) {
//Un id à été passé
}
else {
//aucun id, on est donc sur index.php
}

Par contre je te conseil de sécuriser tes requêtes SQL avec par exemple htmlspecialchar() et trim() pour éviter des injections SQL ;).
0