Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 24. 5. 2006, 11:24:32
Ahoj,
mám problém s předávání parametrů stránky přes pole SESSION do další stránky. Z nějakého důvodu se mi nepředají = pokud je uložím jako pole, pak je na další stránce prázdné pole; pokud je naskládám jako jednotlivé proměnné, tak se opět nepředají. Nevím jestli to může být tím, že do SESSION vkládám moc hodnot? Díky |
||
Retal Profil |
#2 · Zasláno: 24. 5. 2006, 11:30:42
To zjistíš přece jednoduše: předej si jako test jedinou proměnnou. Pokud se ti nepředá, děláš něco špatně.
|
||
Anonymní Profil * |
#3 · Zasláno: 24. 5. 2006, 11:43:51
Pokud si předám jen jednu proměnnou, nebo jen několik, předá se v pořádku
|
||
24k Profil * |
#4 · Zasláno: 24. 5. 2006, 12:00:58
jde o to jak to do te sessiony ukladas...
[code] <?php session_start(); $_SESSION['test']=array("a","b","c"); print_r($_SESSION['test']); ?> [/code] Melo by ti vypsat Array ( [0] => a [1] => b [2] => c ) |
||
Anonymní Profil * |
#5 · Zasláno: 24. 5. 2006, 13:14:02
24k Takhle to funguje bez problému. Ovšem když kliknu na odkaz, a načtu novou stránku, obsah $_SESSION["test"] je Array();
pokud si tam uložím např. $_SESSION["test"] = "ahoj"; tak se to předá v pořádku. Proto si s tím nevím rady. Posílám v SESSION více informací, které se všechny předají až na tohle pole |
||
24k Profil * |
#6 · Zasláno: 24. 5. 2006, 14:33:49
ted presne nevim jak to je, ovsem session_start(); mas v kazdem souboru ze? pokud tedy neincludujes stranky pres index.php ...
mozna by to chtelo pridat SID do odkazu. |
||
Leo Profil |
#7 · Zasláno: 24. 5. 2006, 14:48:08
A konkretni kod (podstatna cast) by nebyl? Takhle je to hadani naslepo kde mate chybu. Leo
|
||
Anonymní Profil * |
#8 · Zasláno: 24. 5. 2006, 15:39:04
session start spouštím přes direktivu auto_prepend_file v .htaccess, taky používám session.use_trans_sid, takže není nutné je vkládat do odkazů, ale stejně to blbne i když je tam přidám:(
zpracování je zhruba následovně: if (!empty($_SESSION["test"])) $_POST += $_SESSION["test"]; // zde je $_SESSION["test"] jenom Array() ... <form method="POST" action=""> nastaveni selectu podle predanych post hodnot </form> ... zobrazeni vyhledanych zaznamu ... zde je funkce, ktera provede vykresleni strankovani vysledku uvnitr provedu $_SESSION["test"] = $_POST; // zapamatuji si tak vybrane policka z formu // print_r($_SESSION["test"]) vypise spravne obsah vsech hodnot <a href="neco">1</a><a href="neco">2</a>... Kdyz predam retezec, nebo jen jedno pole, preda se to spravne |
||
Anonymní Profil * |
#9 · Zasláno: 24. 5. 2006, 15:59:59
Pak je zajímavé že mi to nejede na hostingu nikde. Na lokálu to jede pod FF v pořádku, pod IE to dělá tuhle chybu.
Když si vypíšu obsah pole POST a ručně uložím hodnoty do $_SESSION["test"]["x"] = "y"... pak se předají taktéž správně Chtěl jsem to vyřešit takhle abych se zbavil předávání přes GET, ale nakonec to asi budu muset udělat takto:( |
||
Leo Profil |
#10 · Zasláno: 24. 5. 2006, 16:06:37
Co si myslite, ze udela tohle
$_POST += $_SESSION["test"]; $_POST jsou data urcena ke cteni, ne zapisu, a navic pole, Leo |
||
Anonymní Profil * |
#11 · Zasláno: 24. 5. 2006, 16:23:02
Myslím že to připojí do pole POST pole v SESSION["test"], podle mě je to pole jako každé jiné, takže se do něj zapisovat dá, ostatně mi to vždycky fungovalo... každopádně mi to momentálně nedělá nic, protože SESSION je prázdné:(
|
||
Leo Profil |
#12 · Zasláno: 24. 5. 2006, 16:24:56
Treba vam proste nestartuji session, Leo
|
||
Anonymní Profil * |
#13 · Zasláno: 24. 5. 2006, 16:57:29
startují, však to tu píšu pořád že to jede, když tam přiřadím cokoliv jiného:)
|
||
Leo Profil |
#14 · Zasláno: 24. 5. 2006, 17:28:09
Mozna by neskodilo, kdybyste se podival na zaklady prace s poli, viz muj prispevek o $_POST += .... Leo
|
||
krteczek Profil |
#15 · Zasláno: 24. 5. 2006, 17:38:11
a co:
krteczek |
||
Anonymní Profil * |
#16 · Zasláno: 24. 5. 2006, 20:57:20
Kapituluji...nesmyslně se mi ty hodnoty ztrácejí, nepomáhá ani serialize, takže jsem to předělal na předaní přes GET, čemuž jsem se chtěl vyhnout...ale aspon to jede.
Díky za pomoc při bádání |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0