Bonjour,
Le titre du topic est ce que je pense être l'erreur, mais à vrai dire je n'en ai aucune idée : il se trouve que le comportement de mon programme est entièrement défini par les paramètres GET passés (il s'agit d'onglets avec des données communes, donc qui doivent être passées de la même manière), et en le testant sous WAMP, tout va bien, alors qu'une fois en ligne j'ai une erreur à un foreach pour je ne sais quelle raison.
Au cas où ce ne soit pas un problème connu, voici le code.
Paramètres :
- added : UV (onglet) qui a été ajoutée
- UVs : liste des UVs (tableau serialisé)
- page : page actuelle (onglet en visualisation)
Aidez-moi svp... Merci d'avance.
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 <body> <div class="view"> <ul id="tabs"> <?php if(isset($_GET['UVs']) && !empty($_GET['UVs'])) $UVs = $_GET['UVs']; else $UVs = ''; if(!isset($_GET['page'])) $page = 'add'; else $page = $_GET['page']; //Ajout d'une UV if(isset($_GET['added'])) { if(!empty($UVs)) $UVs = unserialize($UVs); else $UVs = array(); array_push($UVs, $_GET['added']); $UVs = serialize($UVs); } ?> <!-- page d accueil : pour ajouter un onglet (une UV) --> <li <?php if($page == 'add') echo 'class="active"'; ?>><a href=<?php echo "schedules.php?page=add&UVs=$UVs"; ?>>Ajout</a></li> <!-- un onglet (une UV) --> <?php if(!empty($UVs)) { $UVs = unserialize($UVs); foreach($UVs as $uv) { // <- Ici l erreur echo '<li'; if($page == $uv) echo ' class="active"'; echo '><a href=schedules.php?page='.$uv.'&UVs='.serialize($UVs).'>'.$uv.'</a> '; //Bouton pour la suppression de l'UV $UVs_trunc = $UVs; unset($UVs_trunc[array_search($uv, $UVs_trunc)]); echo '<a class="remove" href=schedules.php?page=add&UVs='.serialize($UVs_trunc).'>(x)</a></li>'; } } ?> </ul> <?php //Page d accueil : formulaire if($page == 'add') { ?> UV dont vous aimeriez connaître l emploi du temps : <form method="get" action="schedules.php"> <input type="text" name="added"> <input type="submit" value="Ajouter"> <?php if(!empty($UVs)) { ?> <input type="hidden" name="UVs" value=<?php echo serialize($UVs); ?>> <?php } ?> </form> Cliquez sur l UV d un des onglets ajoutés pour voir son emploi du temps.<br/> Cliquez sur la croix jouxtant celle-ci pour la supprimer des onglets. <?php } //Traitement d'un onglet (d'une UV) else { //... } ?> </body>
Kidpaddle2
Partager