04. august 2002 - 10:54
Der er
24 kommentarer og 1 løsning
SSI & PHP variabler
Hej Kan nogen hjælpe mig med, hvordan jeg får overført php's session variabler til et shtml(ssi) dokument? Kan man på nogen måde få serveren til at først parse dokumentet gennem ssi modulet, og så gennem php ? Eller er der en måde man kan få fat i php's sessions variabler uden php? Det er ikke lykkeds mig at include et php doc... <!-- #include virtual="doc.php" -->
Annonceindlæg fra Computerworld
04. august 2002 - 11:44
#1
Dette virker fint nok for mig: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>SSI og PHP sessions</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </head> <body> <!--#include virtual="sesstest.php" --> </body></html> Hvor sesstest.php ser så'n ud: <?php session_start(); $_SESSION['test'] = "Session_tester!"; $_SESSION['test2'] = "Hvor mange?"; $_SESSION['test3'] = "Vis_alle!"; foreach($_SESSION as $value) { echo $value ."<br>"; } ?>
04. august 2002 - 11:57
#2
Kan du så også fortælle mig hvorfor jeg ikke kan bruge mine sessions variabler? <? session_start(); $_SESSION['sessionnr'] = session_id(); $_SESSION['width'] = $_GET['w']; $_SESSION['height'] = $_GET['h']; session_register("sessionnr"); session_register("width"); session_register("height"); ?> og næste fil ser sådan ud: <? echo $_SESSION['height']; ?>
04. august 2002 - 11:59
#3
Skal: session_register("width"); session_register("height"); ikke være: session_register("w"); session_register("h"); og så: echo $_SESSION['h'];
04. august 2002 - 12:00
#4
session_register("width"); er jo ikke defineret, men det er $_SESSION['w'];
04. august 2002 - 12:06
#5
Jeg har jo skrevet: $_SESSION['width'] = variabel; skal jeg så ikke registrere: session_register('width'); ?
04. august 2002 - 12:08
#6
æh, jo? :O) Jeg prøver lige, men hvad med det eksempel jeg skrev? virker det heller ikke for dig?
04. august 2002 - 12:09
#7
Øh nej, når man bruger: $_SESSION['navn'] = $var skal man ikke bruge session_register("var");
04. august 2002 - 12:10
#8
Kun hvis du skrev: $var = $_GET['w']; session_register("var");
04. august 2002 - 12:11
#9
Jo, det virker fint, men jeg kan også hente sessions-variablerne fra samme side som de er defineret, men ikke fra næste side... Og det er vel hele meningen med sessionerne... :-)
04. august 2002 - 12:12
#10
Du glemmer vel session_start(); på undersiden? :O)
04. august 2002 - 12:16
#11
ok, jeg har skrevet: <? session_start(); $_SESSION['sessionnr'] = session_id(); $_SESSION['width'] = $_GET['w']; $_SESSION['height'] = $_GET['h']; ?> <SCRIPT LANGUAGE="JavaScript"> document.location.href = "sesstest.php"; og i sesstest.php brugt din: <?php foreach($_SESSION as $value) { echo $value ."<br>"; } ?> men der kommer ingenting på skærmen...
04. august 2002 - 12:17
#12
har prøvet at sætte session_start(); ind i sesstest.php, men stadig ingenting...
04. august 2002 - 12:17
#13
Prøv med: <?php session_start(); foreach($_SESSION as $value) { echo $value ."<br>"; } ?>
04. august 2002 - 12:23
#14
Har prøvet det... Du kan prøve at se mine filer på
ftp.pandia.dk (usr:sukos, psw:sukos1234)
04. august 2002 - 12:23
#15
Fire filer: test.shtml: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>SSI og PHP sessions</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </head> <body> <!--#include virtual="sesstest.php" --> </body></html> sesstest.php: <?php session_start(); $_SESSION['test'] = "Session_tester!"; $_SESSION['test2'] = "Hvor mange?"; $_SESSION['test3'] = "Vis_alle!"; foreach($_SESSION as $value) { echo $value ."<br>"; } ?> <p> <a href="test2.shtml">Næste side</a> test2.shtml: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>SSI og PHP sessions</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </head> <body> <!--#include virtual="sesstest2.php" --> </body></html> sesstest2.php: <?php session_start(); foreach($_SESSION as $value) { echo $value ."<br>"; } ?> <p> sesstest2.php er includet på denne side Og det virker fint nok.
04. august 2002 - 12:26
#16
Kommer ikke ind
04. august 2002 - 12:33
#17
hmm... min ftp server... Nå, men jeg forstår ikke hvorfor jeg ikke kan få fat i mine $_SESSION variabler, når jeg forlader siden, hvorpå de er oprettet...? Kan det være serverkonfigurering?
04. august 2002 - 12:36
#18
Har du prøvet at teste med de fire filer som nævnt ovenover?
04. august 2002 - 12:41
#19
Ja, nu har jeg... Der kommer intet på test2.shtml siden...
04. august 2002 - 12:43
#20
Kan jeg se en phpinfo() på din side? <?php phphinfo(); ?> Har defineret en session.save_path i din php.ini?
04. august 2002 - 12:43
#21
Eller vis hvad der står om sessions i din php.ini
04. august 2002 - 13:01
#23
hmm, prøv at lave en mappe, "sessiondata" på f.eks E:\ åben din php.ini, find session.save_path og skriv: session.save_path = E:\sessiondata gem og genstart apache
08. august 2002 - 13:17
#24
Sorry jeg ikke har skrevet tilbage, da min comp gik godt og grundig ned... :-( Takker for den sidste kommentar... Den fik det til at virke :-)) MVH Walker
08. august 2002 - 16:46
#25
Bare din comp funker er alt jo godt! :O) Er iøvrigt blevet lidt klogere på sessions, takket være tipsen, og når man definerer en session på denne måde: $_SESSION['var'] = $var; skal man IKKE bruge session_register Det er kun hvis du gør det på denne måde: $var = $var2; session_register("var"); Og for at slette en session, som er oprettet på den første måde: <?php session_start(); $_SESSION = array(); session_destroy(); header("Location:eller_what_ever"); exit; ?> $_SESSION = array(); er LINIEN !
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.