Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2006, 18h14   #1
Futur Membre du Club
 
Inscription : avril 2005
Messages : 104
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 104
Points : 18
Points : 18
Par défaut Session php

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
Code :
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");
}
?>
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 :
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
thibaut06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 18h37   #2
Membre émérite
 
Avatar de Yobs
 
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 808
Points : 808
Envoyer un message via MSN à Yobs
dans ta page traitant ta session remplace ceci:
Code :
1
2
3
 
$_SESSION['favoris']['titre'][] = $titre ; 
$_SESSION['favoris']['url'][] = $url;
et dans mespages.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<form name="form1" id="form1"> 
  <select name="maliste" onchange="MM_jumpMenu('parent',this,0)"> 
<? 
for ($i=0;$i<sizeof($_SESSION['favoris']['titre']);$i++) {
    echo ' <option value=".'$_SESSION['favoris']['url'][$i]'.">
    '.$_SESSION['favoris']['titre'][$i].'</option>';
}
if (!isset($_SESSION)) {echo '<option>Page de favoris</option>';} 
 
?> 
  </select> 
</form>
voilà sa devrait etre bon là
__________________
Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés
Yobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 22h35   #3
Futur Membre du Club
 
Inscription : avril 2005
Messages : 104
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 104
Points : 18
Points : 18
Par défaut Merci beaucoup

Je te remercie beaucoup pour ton aide, ça marche impec

le seul truc, c'est si je clique plusieur fois sur le bouton de la meme page, ça m'enregistre la page a chaque fois.

Y'a t'il une boucle pour éviter ce genre de répétition.


Merci encore et bonne soirée
thibaut06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2006, 22h55   #4
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Tu contrôle dans ton tableau de session que la valeur ne s'y trouve pas déjà avec in_array() ou isset() par exemple.
__________________
Consultant idéaliste.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h36.


 
 
 
 
Partenaires

Hébergement Web