Salut je suis entrain de construire un espace permettant de crée un pack de 5 partition. Le concept se compose comme ceci, j'ai une page qui s'appelle pack_perso_cosult.php qui me permet d'afficher la liste des partitions en fonction d'un critère selectionnée sur l'etape 1 (c'est a dire la page précedente).
Ma page se présente comme ceci.
C'est ici qu'il y a mon lien ajouter au pack, qui va m'appellé ma page ou je crée la session. cette page se nomme support_virtuel.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
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 // Nous devons tester que le support virtuel if( count(isset($_SESSION["pack_perso"]) == 0) && count(isset($_SESSION["pack_perso"]) > 5 )) { // Nous devons récuperer les valeurs posté par les différents formulaires des pages précedentes. $sql_partition=" SELECT DISTINCT * FROM partition, instrument, genre, auteur, editeur, appartient, apour"; $sql_partition.=" WHERE partition.id_partition = apour.id_partition"; $sql_partition.=" AND instrument.id_instrument = apour.id_instrument"; $sql_partition.=" AND partition.id_editeur = editeur.id_editeur"; $sql_partition.=" AND partition.id_auteur = auteur.id_auteur"; $sql_partition.=" AND partition.id_partition = appartient.id_partition"; $sql_partition.=" AND genre.id_genre = appartient.id_genre"; $sql_partition.=" AND partition.etat_partition =1"; if(isset($_GET["niveau"])) { $niveau = $_GET["niveau"]; switch($niveau) { case 'deb' : $sql_partition.=" AND partition.niveau_partition=1"; $_SESSION["ssc"] = "deb"; break; case 'int' : $sql_partition.=" AND partition.niveau_partition=2"; $_SESSION["ssc"] = "int"; break; case 'conf' : $sql_partition.=" AND partition.niveau_partition=3"; $_SESSION["ssc"] = "conf"; break; case 'exp' : $sql_partition.=" AND partition.niveau_partition=4"; $_SESSION["ssc"] = "exp"; break; } } ... // suit pour afficher les liste de partition } else { //On commence par passer en revue la liste des partitions du pupitre foreach($_SESSION['pack_perso'] as $id_partition =>$value) { $sql = "SELECT * FROM partition WHERE id_partition='".$id_partition."'"; $result=mysql_query($sql) or die (mysql_error()); $ligne_partition = mysql_fetch_object($result); $id_partition=$ligne_partition->id_partition; $titre_partition=$ligne_partition->titre_partition; $url_photo_partition=$ligne_partition->url_photo_partition; echo $id_partition; echo"<br>"; echo $titre_partition; echo "<br>"; echo $url_photo_partition; } }
Une fois que l'internaute à cliquer sur le bouton, cette page crée la session ou verifie si elle existe deja, et lace dans le tableau de session l'id de la partition. Ensuite elle redirige ver ma page pack_perso_etape2.php, d'ou l'interret de mettre le test en debut de page qui verifie si le tableau est de 0 ou si il est de 5
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 if(isset($_GET["id_partition"])) // test pour verifier l'existence del'id de partition par l'url { // récupération de la valeur de l'id de la partition $valeur_id_partition=$_GET["id_partition"]; // Il faut tout d'abord verifier l'existence du support if(!isset($_SESSION['pack_perso'])) // si le support n'existe pas, il faut le crée { // Déclaration du support virtuel $_SESSION['pack_perso'] = array(); // constitution d'un tableau de session afin de pouvoir stocker les éléments représentatifs des cinq partitions // Mise de l'id de partition dans le tableau de session $_SESSION['pack_perso'][$valeur_id_partition] =1; } else // sinon le tableau de session est bien crée, ce qui signifie que nous pouvons ajouter notre ligne au tableau { $_SESSION['pack_perso'][$valeur_id_partition] =1; } echo "<script language='javascript'>window.location='index2.php?lien_menu=packs&contenu=pack_perso_etape2&".$_GET['categ']."=".$_GET['sscateg']."'</script>"; }
Le problème c'est que sa ne fonctionne pas, il ne me retourne rien de mon else, pourtant su je vais un echo $_sessions["âck_perso"] dans ma page pack_perso_etape2.php il me retourne array, mais sinon pas d'erreur particulière
à l'ai de svp
Partager