FLV Player + playlist dynamique + ListBox : ma session est vide
Bonjour,
Je viens à vous car je suis bloquer depuis quelques jours sans trouver de solution à mon ploblème .
J'ai un site sous SPIP 1.7 sur lequel je veux mettre une vidéothèque.
J'ai choisi de prendre JW FLVplayer et d'utiliser une playlist XML (RSS media)
cette playlist est généré dynamiquement via une base de donnée .
Expliquation du fonctionnement
1 - J'ai une page composé d'une listbox (qui contient les categorie/thèmes des vidéos) lorsque la valeur de celle-ci change je soumet mon formulaire et les recupère la categorie en session
2 - Le lecteur Flash se met en place et appel playlist.php
3 - Playlist.php appel ma fonction qui genere le XML à la volé et lui passe $_SESSION['categorie']
4 - La page est recharger avec la playlist désiré
Mon problème arrive au point 3 lorsque j'appel la fonction afficheVideos($_SESSION['categorie'])
ma session est vide alors quelle en l'ai pas dans la page 1
du coup je me retrouve avec la playlist du cas 0 ( Les vidéos en Une )
je me demande si cela ne viendrait pas de SPIP
Page 1 - Lecteur flash avec playlist en fonction de la valeur de la listbox
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
<?php
function listCategorie($id)
{
$tab=listType();
$i=1;
echo '<form action ="" method="POST">';
echo '<select name="categorie" onChange=this.form.submit()>';
while($i<count($tab))
{
{
if ($_POST['categorie'] == $i)
{
echo '<option value="'.$i .'" selected="true" >'.$tab[$i]."</option>\n";
}
else
{
echo '<option value="'.$i .'" >'.$tab[$i]."</option>\n";
}
$i++;
}
}
echo '</select>'."\n\n";
echo '</form>';
return $tab; //Tableau contenant le nom des d'ifférentes catégories.
}
listCategorie($_POST['categorie']);
?>
<div id='videotheque'>Erreur d'accées à la liste de lecture vidéo</div>
<script type='text/javascript'>
var s1 = new SWFObject('./video/player.swf','ply','400','500','9','#ffffff');
s1.addParam('allowfullscreen','true');
s1.addParam('allowscriptaccess','always');
s1.addParam('wmode','opaque');
s1.addParam('flashvars','file=./video/playlist/playlist.php&playlist=bottom&screencolor=#ffffff&frontcolor=005c98&lightcolor=ffd204');
s1.write('videotheque');
</script> |
Page 2 - Fichier playlist qui appel la Base de donnée
Code:
1 2 3 4 5
|
session_start();
include ("../bdd.php");
afficheVideos($_SESSION['categorie']); |
Page 3 - Génération de la playlist XML
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
function afficheVideos($idCategorie)
{
$i=0;
connect(); //Connection à la BDD
switch ($idCategorie)
{
case 0: $requete = 'SELECT * FROM videos WHERE enUne ="OUI"'; //Cas 0 = Affiche les vidéos choisi par la COM en UNE de la vidéothéque
break;
case 1: $requete = 'SELECT * FROM videos ORDER BY dateSaisie DESC'; //Cas 1 = Affiche toutes les vidéos de la plus récente à la plus ancienne
break;
case ($idCategorie > 1) :
$requete = 'SELECT * FROM videos WHERE categorie='.$idCategorie.' ORDER BY dateSaisie DESC'; //Cas > 1 Affiche toutes les vidéo d'une catégorie en fonction de l'IDCatégorie
break;
}
$_SESSION['categorie'] = null;
$resultat = mysql_query($requete) or die(mysql_error()); // Exécution de la requête.
echo '
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title></title>
<link></link>';
while ($ligne = mysql_fetch_row($resultat))
{
echo '<item>
<title>'.$ligne[1].'</title>
<description>'.$ligne[2].'</description>
<media:group>
<media:content url="'.$ligne[6].'" type="video/x-flv" duration="'.$ligne[3].'" start="'.$ligne[4].'" />
<media:thumbnail url="'.$ligne[7].'" type="image/png" />
</media:group>
</item>';
}
echo '</channel>
</rss>';
mysql_close();
} |
Auriez vous une idée pour arriver à mes fins car je vous avoue que je commence à être à court d'idée (peut être le javascript ).
D'avance merci