Page 1 sur 1
garder en memoire variable sans session
Posté : 30 nov. 2006, 11:55
par castelli
Bonjour j'ai un probleme assez compliqué a resoudre .
En effet , je travaille sur une page ou a l'aide d'une requete on recupere un resultat dans un tableau qui est etablit dynamiquement sur plusieur page (si il y a plus d'un certain nombre de resultat indiqué dans un formulaire , un lien vers la page suivante saffiche)
hors le probleme c'est que quand je clique sur une des page qui suivent ou bien qui precedente il oublie les variable du formulaire
et donc la requete ne fonctionne plus
voici les variable recuperer du formulaire:
et la requete:
Code : Tout sélectionner
$select_limit="SELECT * from produit2 WHERE localisation='".$clef."' ORDER BY nom ASC limit ".$debut.",".$nombre.";";
l'echo de la requete a la page suivante donne sa
Code : Tout sélectionner
select * from produit2 where localisation = '' order by.......
enfin voila , mon probleme c'est que je ne peux garder sa en variable de session et donc je me demandai comment m'y predre autrement
merci d'avance
Posté : 30 nov. 2006, 11:58
par fred9999
salut
tu as plusieurs choix je pense :
dont 2 :
-ecrire tes 2 données dans un fichiers de "temporisation"
- passer tes données en get
mais il doit en avoir d'autre

Posté : 30 nov. 2006, 12:01
par jojolapine
pour le coup du fichier de temporisation, il faudra de toute manière garder une variable supplémentaire, en sessions ou en get, pour identifier à qui est ce fichier, donc ça ne résout rien

Posté : 30 nov. 2006, 12:03
par castelli
et les passer en url sa marcherais ?
mais le probleme c'est que j'en ai deja une dans mon url .
On peut en mettre plusieur?
comment faire?
voila l'url que j'utilise :
Posté : 30 nov. 2006, 12:05
par fred9999
bien sur
Code : Tout sélectionner
$url = "./localisation2.php?page=index.php&variable1=3&variables2=5";
Posté : 30 nov. 2006, 12:07
par jojolapine
pour récupérer les variables de l'url, et ne pas les perdres, tu peux utiliser la variable serveur $_SERVER['REQUEST_URI'], qui il me semble te donne l'adresse du script avec les arguments get, ensuite tu as juste à concaténer un "&tavariable=tavaleur"
Posté : 30 nov. 2006, 12:18
par castelli
$_SERVER['REQUEST_URI'] n'est pas dans le manuel tu aurai de la doc dessus pour que je regarde comment sa fonctionne ?
merci encore
Posté : 30 nov. 2006, 12:21
par jojolapine
et si c'est dans le manuel:
http://fr.php.net/manual/fr/reserved.variables.php
mais pas dans les fonctions c'est pour ça que tu ne l'as pas trouvé...

Posté : 30 nov. 2006, 12:42
par castelli
Lol merci jojolapine , avais pas vu
sinon je fais un echo de $_SERVER['REQUEST_URI'] et sa me donne bien la bonne adresse d'accés:
exemple :
localisation2.php?page=38&localisation=R&resultat=7
Maintenant la question que je me pose est comment recuperer mes deux resultat , c'est a dire R et 7 .
je vois pas comment faire dans ces cas la avec un Get:
j'ai tenter sa :
$clef2= $_GET['localisation'];
$nombre2= $_GET['resultat'];
echo "$clef2 <p>";
echo "$nombre2 <p>";
mais bon sa risque pas de renvoyer un quelquonque resultat : / lol
Posté : 30 nov. 2006, 12:44
par jojolapine
si si t'es su r la bonne voie!
Par contre tu dois confondre quelques balises html, pour sauter des lignes c'est <br /> pas <p> qui correspond lui à un paragraphe...
essaye pour le get tu verras bien

Posté : 30 nov. 2006, 14:42
par castelli
Bon mes get fonctionne
Maintenant je voudrais faire que si les variables $_post sont vides qu'il recupere les variables get
j'ai coder sa :
if ($_POST['resultat']= "")
{$nombre=$_GET['resultat'];
}
else
{ $nombre=$_POST['resultat'];}
if ($_POST['localisation']="") {$clef=$_GET['localisation'];}
else{$clef=$_POST['localisation'];}
hors il me dis que mes variables nombres et clef sont toujours vides
vous voyez d'ou sa peu venir ?
Posté : 30 nov. 2006, 14:49
par castelli
c'est bon j'ai corriger fallais mettre == a la place de = dans la declaration de mes if

Posté : 30 nov. 2006, 14:50
par fred9999
non la t'y es pas il faut utiliser la fonction isset()
if (isset($_POST['resultat']))
{
$nombre=$_GET['resultat'];
}
else
{
$nombre=$_POST['resultat'];
}
if (isset($_POST['localisation']))
{
$clef=$_GET['localisation'];
}
else
{
$clef=$_POST['localisation'];
}
Posté : 30 nov. 2006, 14:52
par fred9999
sinon pour comparer une variable dans un if on met tjs ==
ex:
if ($mavariable==1)
{
mon script;
}
Posté : 30 nov. 2006, 16:13
par castelli
sa marche nikel merci encore a tous
