Bonjour tout le monde. Je préviens, je ne suis pas un grand du développemnt et je débute en php.
Voilà mon problème : sur mon site que j'ai développé, j'ai voulu proposé aux visiteurs de faire sa propre paylist d'émissions et musique à écouter.
jusque la avec des sessions php je suis arrivé à faire un tableau array qui stocke au fur et à mesure les identifiants de chaques émissions.
Seulement j'aimerais pourvoir effacer, dans un premier temps, les émissions en trop ou que le visiteurs ne veux plus. j'ai vu qu'on pouvais utiliser la fonction unset() puis array_values() pour réinitialiser les indexs.
le problème c'est le comportement et le résultat qu'il m'affiche parfois.
parfois il faut que je clique plusieurs fois sur le lien pour qu'il soit efficace mais pire parfois quand je clique sur le lien pour effacer, il me réaffiche les anciennes émissions effacées juste avant.
voici mes codes :
la page ou s'affiche les list des émissions sélectionnées (j'ai juste mis les éléments importants) :
Puis le fichier drop_playlist.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 . . . for($i=0;$i<sizeof($_SESSION["caddie"]);$i++) { echo "<tr> <td width='20%'> <a href='drop_playlist.php?p=".$i."'> Effacer </a> <td> </tr>"; } . . .
voilà si quelqu'un peut m'expliquer si j'ai fait une erreur quelque part.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?php session_start(); $val = $_GET['p']; unset($_SESSION["caddie"][$val]); $_SESSION["caddie"] = array_values($_SESSION["caddie"]); echo "<script language='javascript' type='text/javascript'> <!-- window.location.replace( 'playlist.php'); --> </script>"; ?>
sachant que sur cahque page du site, il y a un include vers ce code qui permet de savoir combien d'émissions on a selectionné :
Peut être y'a-t-il un conflict ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <? Echo '<center><a href="playlist.php"><img src="img/hdr-playlist.png" border="0" title="Selectionnez toutes les émissions que vous voulez pour vous faire votre propre programmation d\'émissions"></a></center><hr>'; if ($_GET["action"]=="destroy") { // on a demander à tout supprimer session_destroy(); echo "<script language='javascript' type='text/javascript'> <!-- window.location.replace( '?'); --> </script>"; } // Chargement du caddie if (isset($_SESSION["caddie"])) { $caddie = $_SESSION["caddie"]; } else { $caddie = array(); } if (isset($_GET["ajout"])) { // On a demandé à ajouter une émission $emi = $_GET["ajout"]; array_push($caddie, $emi); $_SESSION["caddie"] = $caddie; echo "<script language='javascript' type='text/javascript'> <!-- history.go(-1); --> </script>"; } $result = count($_SESSION["caddie"]); if ($result == '0') { echo "<center>Playlist Vide</center>"; } elseif ($result == '1') { echo "<center>Vous avez sélectionnez <b>1</b> seule émission.</center>"; } else { echo "<center>Vous avez sélectionnez : <b>".$result."</b> émissions.</center>"; } echo "<hr><center> <table width='80%'> <tr> <td align='center' width='50%'><a href='?action=destroy'><img src='img/corbeille.png' title='vider la playlist' border='0'></a></td> <td align='center' width='50%'><a href='playlist.php'><img src='img/voir.gif' border='0' title='Voir la playlist en détails'></a></td> </tr> </table>" ; ?>
je ne sais pas.
si vous avez une idée...
merci d'avance







Répondre avec citation







Partager