Autor | Zpráva | ||
---|---|---|---|
peta Profil |
#1 · Zasláno: 12. 8. 2011, 08:52:21 · Upravil/a: peta
Potreboval bych z aktualni stranky predat session id pro stranku volanou pres file_get_contents jako napr http://localhost/test-session/test.php?id=123.
Stale mi to pise hlasku, Fatal error: Maximum execution time of 30 seconds exceeded. (v okamziku, kdy odkomentuji radek session_id($_GET[$sid]) v test.php; Rychlejsi je pozavirat okna prohlizece a otevrit znova, protoze si session pamatuje.) Kod vypada nejak takto: --- soub.php --- <?php session_start(); $session = '&prenossid='. session_id(); echo $session; $value = 5; $url = 'http://localhost/test-session/test.php?id='.$value . $session; echo file_get_contents($url).'<hr>'; ?> --- test.php --- <?php //http://localhost/test-session/test.php?id=123 $sid = 'prenossid'; if (isset($_GET[$sid])) { echo '<br>111:'.$_GET[$sid]; //session_name('PHPSESSID'); session_id($_GET[$sid]); } session_start(); echo '<br>222:'.session_id(); ?> Potrebuji to pro cyklus, protoze tam mam ulozene prihlaseni. Adresar je uplne stejny i na vnejsim serveru. Mam to udelane javascriptem, ze to dam do framu, framy natahnu. Jedna se o tohle. Mam program, ktery vygeneruje jakysi formular. Napr fakturu. Tomuto programu predavam id faktury. Potrebuji na strance zobrazit 40 faktur vytisknout. Problem je, ze v te iframove verzi dochazi v ruznych prohlizecich k zajimavym udalostem pri nahledu tisku. Napriklad Opera, kdyz ji to vyjde, tak mi da dve faktury na jednu stranku. A to nechci. Ve FF mi tam sem tam vlozi prazdnou stranku, ale to by nevadilo. Jenze kdyz mu frame vyjde delsi nez stranka, tak zbytek textu neukaze. V tom frame je nejaky div, nejaka tabulka. Takze jsem chtel zkusit vypsat to pres php, co to udela pro tisk ted. |
||
puzzle Profil |
#2 · Zasláno: 12. 8. 2011, 14:46:56
session má podobu
$_SESSION['nazev']="hodnota" |
||
php Profil |
#3 · Zasláno: 13. 8. 2011, 01:23:08 · Upravil/a: php
problém je v tom, že ve skriptu
soub.php session_start(); file_get_contents($url) test.php session_id($_GET[$sid]); session_start(); |
||
peta Profil |
#4 · Zasláno: 13. 8. 2011, 08:45:03 · Upravil/a: peta
php: Ok a jak to teda udelat?
Mam program, kam se prihlasim, prihlaseni ulozim do session. v tom programu kliknu na tlacitko a chci aby se zobrazilo 30 faktur, ktere vygeneruje jiny program, ktery potrebuje take toto prihlaseni. V test.php prave volam start az po nastaveni id a protoze to jde pres file content, tak by to mel byt uplne jiny soubor. Nebo, jak predat do file_get_contents session? |
||
php Profil |
#5 · Zasláno: 13. 8. 2011, 09:38:38 · Upravil/a: php
tak ten problém by mělo vyřešit když přidáš do soubor (soub.php)
<?php session_start(); $session = '&prenossid='. session_id(); echo $session; $value = 5; session_write_close(); //tohle sem přidej a mělo by ti to fungovat $url = 'http://localhost/test-session/test.php?id='.$value . $session; echo file_get_contents($url).'<hr>'; ?> ještě taková malá ukázka jak by to šlo trochu efektivnějc: //soub.php session_id('new-session'); session_start(); $_SESSION['barva'] = "red"; session_write_close(); $url = 'http://localhost/test-session/test.php?' . SID; echo file_get_contents($url); //test.php session_start(); if( isset($_SESSION['barva']) ) echo "barva = $_SESSION[barva]"; else echo "sme bez barvy"; vyzkoušej tohle |
||
peta Profil |
#6 · Zasláno: 15. 8. 2011, 12:32:42
Dik moc, funguje to.
Sice mi neni jasne moc, proc session_write_close, ale neva. V prikladech to pouzivali jen kdyz potrebovali ulozit data z predchozi session a otevrit novou. Coz zrovna muj pripad nebyl, stara data zahodit a otevrit session jiny session soubor. Ale je mozne, ze on se prave na tom zacyklil, ze se snazil pracovat s necim, co nemel dostupne, protoze to mel jiny program otevrene a ze to vlastne bylo bloknute podobne jako to dela flock. Mno, budu o tom jeste rozjimat. To druhe, SID, si zapamatuji a nekdy zkusim. Ted to potrebuji spis pouzivat nez cekat, co vykutim. |
||
Časová prodleva: 13 let
|
0