Bonjour,
je souhaiterai réaliser sur mon site un marque page pour les visiteurs.
Son but, sur chaque page un bouton "sauver page" permet aux visiteurs de sauvegarder la page et ainsi de la retrouver rapidement en accédant à la page "mespages".
Ainsi, pour réaliser ce script, j'ai pensé utiliser les sessions php
Le bouton "sauver page" envoie les données à cette page pour ajouter une session
Ensuite, la page mespages.php affiche toute les pages sauvée par le visiteur dans un formulaire balise select afin de permettre au visiteur de pouvoir retourner en 1 clics sur sa page favorite (ps: je fais une include de mespages.php sur chaque page, afin de permettre au visiteur de voir ses pages favorites).
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 <?php session_start(); $_SESSION['favoris']['titre'] = $titre ; $_SESSION['favoris']['url'] = $url; if ($_POST['ajout'] == "AJOUT") { $_SESSION['achats'][] = array ( "url" => $_POST['url'], "titre" => $_POST['titre'] ); } ?> <?php if (! empty($HTTP_REFERER)) { header("Location: $HTTP_REFERER"); } else { header("Location: mespages.php"); } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form name="form1" id="form1"> <select name="maliste" onchange="MM_jumpMenu('parent',this,0)"> <? while (list($titre, $url) = each($_SESSION['favoris'])) { echo " <option value=\"$url\">$titre</option>"; } if (!isset($_SESSION)) {echo '<option>Page de favoris</option>';} ?> </select> </form>
Or, avec ce script, je suis confronté à deux erreurs
La premiére: mon menu ne s'affiche pas correctement, seul la varible titre s'affiche correctement.
La seconde: a chaque fois que je sélectionne une nouvelle page, la précédente disparait, soit une seule page s'affiche maximum.
N'étant pas trés callé sur les sessions et aprés avoir lu plusieurs tutoriels, j'en suis toujours au même point ça ne marche pas.
Donc si quelqu'un pouvait m'aider et je jeter un oeil sur mon code, ça serai vraiment sympa.
En vous remerciant par avance.
Thibaut
Partager