Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:01 Der er 33 kommentarer og
1 løsning

Sessions variabler slået fra?!

Hej alle

Jeg har nu prøvet alt muligt (synes jeg selv), men det kan simpelthen ikke lade sig gøre at få slået SESSION variabler til på min maskine. Hvad gør jeg?

Jeg har i 'php.ini' prøvet forskellige ting, men mener at alt i alt det burde være nok at ændre 'register_globals' fra Off til On, hvilket ikke hjælper.

Jeg kan ikke rigtigt finde ud af hvad jeg ellers skal gøre, og kan heller ikke helt finde ud af om der overhovedet bliver læst i min 'php.ini', for omdøber jeg den til noget andet, kommer der ingen fejl når jeg genstarter min Apache server.

Jeg kører med Apache HTTP Server 2.2.3 og PHP Version 5.2.0 (samt MySQL 5.0.27-community-nt).

HJÆÆÆÆÆÆÆÆLP PLEASE...!
Avatar billede whatever Nybegynder
07. januar 2007 - 16:07 #1
Det skulle ikke være nødvendigt at slå register globals til. Hvis det er slået fra skal du bare gribe fat i dine sessions med $_SESSION['sessionnavn'].

Hvordan ser dit script ud?
Avatar billede showsource Seniormester
07. januar 2007 - 16:10 #2
Vær sikker på at session.save_path i php.ini er defineret til et dir som findes.
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:12 #3
Oki, det er så slået fra igen. Det var bare det eneste jeg lige kunne finde der mindede lidt om det jeg søgte.

Mit test script ser således ud:
<?php
    echo "SES-test nu: \"" . $_SESSION['test'] . "\"<br /><br />";

    echo "SES-test - START -";
    $_SESSION['test'] = "Hugo";
    echo "- SLUT - er nu sat.<br /><br />";

    echo "SES-test nu: \"" . $_SESSION['test'] . "\"<br /><br />";
?>

Og den viser den sidste fint nok. Går jeg væk fra siden og tilbage igen (eller blot reloader), skulle den skrive det både på linie 1 og linie 3, men linie 1 er tom uanset hvad.
Avatar billede mccookie Seniormester
07. januar 2007 - 16:13 #4
Kan du evt. smide lidt kode, så vi kan se hvad du gør?

Måske er fejlen ligetil ;)

///McCookie
Avatar billede whatever Nybegynder
07. januar 2007 - 16:13 #5
Du skal have en session_start() i toppen af scriptet.
Avatar billede mccookie Seniormester
07. januar 2007 - 16:14 #6
Hej du

Skriv lige

<?php
session_start();


Ellers virker ikke ;)
Avatar billede mccookie Seniormester
07. januar 2007 - 16:14 #7
Det er et hurtigt spm. det her ;)

///McCookie
Avatar billede whatever Nybegynder
07. januar 2007 - 16:14 #8
Selvfølgelig kun hvis php ikke er konfigueret til automatisk at starte. Men det er php ikke som standard.
Avatar billede whatever Nybegynder
07. januar 2007 - 16:15 #9
Altså starte sessionen automatisk ;-)

Forresten har jeg aldrig set på et webhotel, at sessionen startes automatisk.
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:16 #10
Ja, ok... har jeg faktisk også gjort ;o) Men virker stadig ikke. Jeg har nu en fil der ser sådan ud:

<?php
    session_start();

    echo "SES-test nu: \"" . $_SESSION['test'] . "\"<br /><br />";

    echo "SES-test - START -";
    $_SESSION['test'] = "Hugo";
    echo "- SLUT - er nu sat.<br /><br />";

    echo "SES-test nu: \"" . $_SESSION['test'] . "\"<br /><br />";
?>

Ingenting sker på linie 1. :o(
Avatar billede mccookie Seniormester
07. januar 2007 - 16:17 #11
Men du har jo intet i din variabel

$_SESSION['test'] = "test test";
Avatar billede mccookie Seniormester
07. januar 2007 - 16:17 #12
Skriver den ikke bare SES-test nu: ???
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:19 #13
Øhh... jeg har da "Hugo" i min test var...
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:19 #14
Og jo, den skriver bare "SES-test nu:"
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:20 #15
Altså på siden er der:

SES-test nu: ""

SES-test - START -- SLUT - er nu sat.

SES-test nu: "Hugo"
Avatar billede mccookie Seniormester
07. januar 2007 - 16:20 #16
Den skriver overhovedet ikke noget ud eller?

Fordi du sætter for test i 5. linie......

Er det hos en udbyder eller din egen server?
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:24 #17
Ligger jeg den op på mit webhotel www.forhandler-net.dk/test/session.php fungere det fint.
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:24 #18
Det er min egen server.
Avatar billede mccookie Seniormester
07. januar 2007 - 16:24 #19
Ok, men så virker det.....

<?php
    session_start();

    $_SESSION['test'] = "Hugo";

    echo "SES-test nu: \"" . $_SESSION['test'] . "\"<br /><br />";

    echo "SES-test - START -";
    echo "- SLUT - er nu sat.<br /><br />";

    echo "SES-test nu: \"" . $_SESSION['test'] . "\"<br /><br />";
?>


Prøv det her istedet ;)
Avatar billede erikjacobsen Ekspert
07. januar 2007 - 16:25 #20
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:28 #21
McCookie. Jamen nu skriver den jo selvfølgelig Hugo begge steder:

SES-test nu: "Hugo"

SES-test - START -- SLUT - er nu sat.

SES-test nu: "Hugo"
Avatar billede mccookie Seniormester
07. januar 2007 - 16:29 #22
Men det eksempel du skrevet fungere jo som det skal, du sætter første $_SESSION['test'] efter du udskriver den session - Så kan den jo ikke udskrive data, da der ikke er nogen data ;)

Så sætter du den og udskriver den igen og så er der data som kan udskrives ;)
Avatar billede mccookie Seniormester
07. januar 2007 - 16:30 #23
Læs evt. denne artikel...

http://www.eksperten.dk/artikler/1000
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:31 #24
McCookie> Den burde jo skrive det begge steder efter jeg opdatere siden.

Gå ind på www.forhandler-net.dk/test/session.php og se hvad jeg mener.
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:31 #25
erikjacobsen> Hvad er det der definere mit katalog til sessions-filer?
Avatar billede showsource Seniormester
07. januar 2007 - 16:33 #26
Som sagt, session.save_path som defineres i php.ini! :O)

Hvad med "skoleeksemplet":

<?php
session_start();

if(!isset($_SESSION["hits"]))
{

$_SESSION["hits"] = 1; // "hits" tildeles værdien 1

}else{

$_SESSION["hits"]++; // der lægges 1 til "hits"

}

echo"Du har set denne side ". $_SESSION["hits"] ." gange";

?> <p>
<a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Opdater</a>
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:36 #27
Har uploadet et nyt script:

<?php
session_start();

if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
echo $_SESSION['count'];
?>

Beskriver det måske bedre.

Uanset hvor mange gange jeg opdatere bliver der udskrevet 0.
Avatar billede mccookie Seniormester
07. januar 2007 - 16:36 #28
Brug dette eks.

<?php
    session_start();

    $_SESSION['test'] = "Hugo";

    echo "SES-test nu: \"" . $_SESSION['test'] . "\"<br /><br />";

    echo "SES-test - START -";
    echo "- SLUT - er nu sat.<br /><br />";

    echo "SES-test nu: \"" . $_SESSION['test'] . "\"<br /><br />";
?>

og vær helt sikker på at du får det gemt rigtigt for så brude den udskrive HUGO

;)

Se her: http://www.pcproblemer.dk/testmig/action.php?path=http://www.pcproblemer.dk/testmig/test_session&root=/customers/pcproblemer.dk/pcproblemer.dk/httpd.www/testmig/test_session&name=Test%20session
Avatar billede mccookie Seniormester
07. januar 2007 - 16:37 #29
og der kan du bare trykke på "Vis kildekode"
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:38 #30
PERFEKT! Tak til erikjacobsen og showsource...

Smid i begge et svar... folderen var ikke oprettet.
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:40 #31
Og tak til McCookie for hjælpen også. Mine filer/scripts var dog helt fine, dog manglede blot folderen som beskrevet :)
Avatar billede showsource Seniormester
07. januar 2007 - 16:41 #32
Erik samler vist ikke på point, og 100 er for meget ! :O)
Avatar billede mccookie Seniormester
07. januar 2007 - 16:41 #33
hihi......

erik har altid øje for de helt små detaljer ;) Fantastisk....

///McCookie
Avatar billede ahrensberg Nybegynder
07. januar 2007 - 16:43 #34
Pyt med det... jeg samler heller ikke selv, så værsgo.
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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

IT-JOB
Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging