Avatar billede saison Nybegynder
12. april 2008 - 17:35 Der er 17 kommentarer

Kan ikke få sessions til at virke

Jeg har en hjemmeside på ONE.coms servere.
Jeg kan ikke få sessions til at virke, fatter simpelthen ikke hvorfor, håber nogen kan hjælpe.


<?
session_start();
$HTTP_SESSION_VARS['hhj'] = "reg";
echo $HTTP_SESSION_VARS['hhj'];
?>
Avatar billede w13 Novice
12. april 2008 - 17:50 #1
Gør sådan her i stedet:

<?
session_start();
$_SESSION['hhj']="reg";
echo $_SESSION['hhj'];
?>

Ref.: http://www.tizag.com/phpT/phpsessions.php
Avatar billede saison Nybegynder
12. april 2008 - 18:13 #2
Men det skulle jo gerne være det samme, jeg har prøvet det og det virker heller ikke.
Avatar billede w13 Novice
12. april 2008 - 18:18 #3
Får du fejl eller bliver den bare ikke sat?
Avatar billede dkfire Nybegynder
12. april 2008 - 18:29 #4
Måske <?php i stedet for bare <?
Avatar billede saison Nybegynder
13. april 2008 - 19:01 #5
Den bliver ikke sat. Jeg har gjort det præcis som jeg plejer at gøre, men der sker intet.. Forstår det simpelthen ikke, ville bare lige sikre mig at jeg ikke havde stiret mig blind på en eller anden dum fejl..
Avatar billede erikjacobsen Ekspert
13. april 2008 - 19:12 #6
1) Hvad siger "Vis kilde" ?
2) Hedder din fil .php til sidste?
3) Har du et link?
Avatar billede saison Nybegynder
13. april 2008 - 19:31 #7
Jeg har lige prøvet den af på et andet webhotel.. der virker det fint. Jeg kan heller ikke få Cookies til at virke.. kan der være noget galt med serveren?
Avatar billede saison Nybegynder
13. april 2008 - 19:48 #8
Desuden viser "Vis kilde":
<html><body>Kom nu</body></html>

med følgende kode:


<?php
session_start();

echo "<html>";
echo "<body>";

setcookie("test1", "test1", time()+(3600));
$HTTP_SESSION_VARS['test2'] = "test2";
$_SESSION['test3'] = "test3";

echo "</body>";
echo "</html>";

?>

og med følgende side, der gerne skulle vise cookies/sessions:


<?php
session_start();

echo "<html>";
echo "<body>";

echo $HTTP_COOKIE_VARS['test1'];
echo $HTTP_COOKIE_VARS["test1"];

echo $_SESSION['test2'];
echo $HTTP_SESSION_VARS['test2'];
echo $HTTP_SESSION_VARS["test2"];

echo $_SESSION['test3'];

echo "Kom nu";

echo "</body>";
echo "</html>";
?>



og ja, det er en php fil :)
Avatar billede saison Nybegynder
13. april 2008 - 20:07 #9
Hvis jeg prøver følgende:

<?
if(isset($_GET['1'])){
session_start();
$_SESSION['user']['type'] = "logged";
}
echo $HTTP_SESSION_VARS['user']['type'];
?>

så får jeg teksten "logged" hvis jeg går ind på "test.php?1=ja"
Men hvis jeg går ind på "test.php" efterfølgende, står der intet.. Så det virker som om at sessionen bliver sat, men forsvinder igen?!
Avatar billede erikjacobsen Ekspert
13. april 2008 - 20:11 #10
Den ser ud til at forsvinde lige så hurtigt som månedslønnen. Men har du et link, så vi kan få det opklaret?
Avatar billede saison Nybegynder
13. april 2008 - 22:47 #11
Jeg kan desværre ikke give et link. Men kan simpelthen ikke forstå hvad problemet kan være, jeg har lavet det præcis som jeg plejer, det virker bare ikke. Kan der være problemer med serveren, så den sletter sessions? jeg har også prøvet fra andre computere end den jeg sidder ved nu, det virker bare ikke.
Avatar billede saison Nybegynder
15. april 2008 - 09:55 #12
Nu virker det - præcis samme sider som jeg gav op på i weekenden.. Kan se at der er en anden herinde der har haft samme problem, hvor de også pludselig virkede igen.

Meget mystisk!

Men tak for hjælpen til jer!!
Avatar billede saison Nybegynder
15. april 2008 - 13:55 #13
Hm, nu virker det sgu ikke igen. Jeg har prøvet at oprette en bruget på whitehat.dk, for at se om det kunne have noget med one.com at gøre. men det ser ikke sådan ud for der er også fejl på whitehat. Til gengæld får jeg en fejlmeddelelse. Jeg har følgendefil:

<?php
session_start();
$_SESSION['test'] = "Test";
echo $_SESSION['test'];
?>

Det giver denne udskrift:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /usr/home/whitehat/users/aaakkk/aaaj.php:1) in /usr/home/whitehat/users/aaakkk/aaaj.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/home/whitehat/users/aaakkk/aaaj.php:1) in /usr/home/whitehat/users/aaakkk/aaaj.php on line 2
Test
Avatar billede erikjacobsen Ekspert
15. april 2008 - 13:59 #14
Godt det begynder at virke, hvad årsagen så er.

"headers already sent..." betyder at du sender noget tekst til browseren inden din session_start().
Avatar billede erikjacobsen Ekspert
15. april 2008 - 14:00 #15
Men det er da ikke på one.com ... ;)
Avatar billede saison Nybegynder
15. april 2008 - 14:03 #16
Ej, nu er jeg vidst blevet sindssyg. Jeg har altid skrevet direkte i Notepad. Jeg har ikke fået en ny computer, opdateret den eller noget som helst. Men jeg får jo en fejlmeddelelse, der siger at jeg allerede har sendt noget, så tænkte at det kunne være det var noget jeg ikke kunne se pga. formateringen i notepad.Så jeg prøvede at kopiere teksten ind i Wordpad og gemme den. nu er der ingen fejl. Det har jeg sgu aldrig oplevet før.. men det virker. Men tak for dit forsøg på at hjælpe, erikjacobsen.

:)
Avatar billede erikjacobsen Ekspert
15. april 2008 - 14:10 #17
Joh, notesblok sætter 3 halvusynlige tegn forrest i filen, hvis den gemmes som UTF-8, også kaldet BOM.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester