Avatar billede rtfm Nybegynder
20. november 2003 - 23:38 Der er 22 kommentarer og
1 løsning

Sessions ikke sat efter header location

Hej ærede eksperter!

På min side har jeg et community, som benytter session-login. Der bliver efter udfyldning af login-formularen sat to sessions via session_register(), som indeholder hendholdsvis brugernavn & password. Jeg kan nederst på siden, altså efter at disse sessions er sat, godt få vist værdierne af disse, men anvender jeg en header location, som viderestiller til den side, som brugeren skal komme til når han er logget ind, kan jeg ikke længere få værdierne for de to sessions; det ser ud som om at den ikke kan se, at de to sessions er sat. Øverst i alle dokumenter er der en session_start, så dette er ikke problemet.

For godt og vel en måned siden blev serverens software opdateret. Deriblandt PHP, så den nuværende version er 4.3.3. Før virkede det hele optimalt, men herefter er det ikke længere muligt at logge ind grundet det ovennævnte problem. Har prøvet at anvende PHPSESSID i url’s, og det virkede da også, men det vil være et enormt og næsten umuligt arbejde at indsætte dette over hele, så dette ses ikke som en brugbar løsning. Det ville virkelig glæde mig, hvis nogen kunne komme med en anvendelig løsning phpinfo() for serveren kan ses på http://www.webdomain.dk/phpinfo.php.

På forhånd tak
// rtfm
Avatar billede sukos Juniormester
20. november 2003 - 23:59 #1
Virker flg.

<?php
session_start();
$_SESSION["test"] = "Ok du";

echo $_SESSION["test"];
?><p>
<a href="side2.php">side2</a>


side2.php

<?php
session_start();
echo $_SESSION"test"];
?>
Avatar billede sukos Juniormester
21. november 2003 - 00:02 #2
hov!

side2.php

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

eller

side2.php

<?php
session_start();
if(isset($_SESSION["test"])) {
echo $_SESSION["test"];
}else{
echo"Æv!";
}
?>
Avatar billede rtfm Nybegynder
21. november 2003 - 11:27 #3
Ja, det er lige præcis sådan man gør det, men det virker ikke!

Jeg har lavet et par tests, som kan ses på denne adresse: http://www.rolator.dk/community/ses_test/side1.php. Her er både en test, hvor der bliver brugt PHPSESSID, og en hvor det ikke bliver brugt. På hver side vises kilde-koden også! Jeg har lavet det ud fra de kodestumper du gav mig!
Avatar billede sukos Juniormester
21. november 2003 - 12:00 #4
På din side2, skal du bruge $ for _SESSION["test"]
Umiddelbart lader det da til at virke.

Men slår brugeren cookies fra, skal du altid ha' en SID med på hvert link, for at brugeren ka nbruge sessions.

Men umiddelbart lader det da til at virke?
Avatar billede sukos Juniormester
21. november 2003 - 12:04 #5
hehe, mig som ser forkert!

Og lægger først nu mærke til at session.use_trans_sid er sat til off i php.ini
Avatar billede sukos Juniormester
21. november 2003 - 12:07 #6
d.v.s, du skal sikre dig der bruges SID på hvert link, for at bruge sessions.

eller få serveradmin til at ændre i php.ini

Havde den ligget på en apache, hvor du kunne bruge .htaccess, ville du kunne ha' klaret det der.
Avatar billede sukos Juniormester
21. november 2003 - 12:36 #7
hmhmhm, tror lige jeg får rodet lidt rundt i det.
Har heller ikke tid til at sidde her lige nu, så er lidt "stresset"
Avatar billede rtfm Nybegynder
21. november 2003 - 16:06 #8
Har prøvet at kontakte dem det hoster min side, men nu må vi se hvad der sker. Hvis du lige lægger et svar, kan du få dine point.

Tak for hjælpen!
Avatar billede sukos Juniormester
22. november 2003 - 20:17 #9
Nu har jeg lige siddet og testet lidt her, for jeg fattede ikke rigtig at selvom man accepterede cookies, så blev session ikke vist.

Og fandt ud af at med den error_reporting, (vis ikke NOTICE), er det muligt at definere session.save_path forkert uden at få fejlmelding.

En løsning kunne måske så være at definere session.save_path
I hverfald får jeg samme problem, som dit, hvis jeg sætter det til et dir som IKKE findes. Og jeg får ingen fejlmeddelser!

Så prøv at oprette et dir, "sessions", og FØR session_start() bruge:

ini_set('session.save_path', 'E:/rolator.dk/sessions/');
Avatar billede sukos Juniormester
22. november 2003 - 20:18 #10
evt. skal du bruge:

ini_set('session.save_path', 'E:\\rolator.dk\\sessions\\');
Avatar billede rtfm Nybegynder
22. november 2003 - 21:28 #11
Har siddet og rodet lidt mere med det. På hvad du har sagt kan jeg ikke udrede, om session.use_trans_sid skal være sat til ON, før det vil virke, selv om jeg gør som du beskrev i dit sidste indlæg. I hvert fald har jeg, inden session.use_trans_sid er blevet slået til, prøvet at gøre som du sagde, men uden held... samme resultat som før: intet!
Avatar billede sukos Juniormester
22. november 2003 - 21:55 #12
Prøv dem her, 3 filer

Filen ny.php

<?php
// VIS ALLE FEJL
ini_set('error_reporting', 'E_ALL');

// DEFINER HVOR SESSIONS SKAL GEMMES, FULD STI
ini_set('session.save_path', 'D:/til_test/sessions/');

session_start();
?>

Filen ny1.php

<?
include("ny.php");

$_SESSION["nytest"] = "Ny test for sessions";
echo $_SESSION["nytest"];
?>
<p>

<a href="ny2.php">Ny side2</a>

Filen ny2.php

<?
include("ny.php");

echo $_SESSION["nytest"];
?>
<p>

<a href="ny1.php">Ny side1</a>
Avatar billede sukos Juniormester
22. november 2003 - 21:56 #13
hehe, ny.php

<?php
// VIS ALLE FEJL
ini_set('error_reporting', 'E_ALL');

// DEFINER HVOR SESSIONS SKAL GEMMES, FULD STI
ini_set('session.save_path', 'E:/rolator.dk/');

session_start();
?>
Avatar billede sukos Juniormester
22. november 2003 - 21:57 #14
Skal desværre smutte! :O(
Avatar billede rtfm Nybegynder
23. november 2003 - 13:10 #15
Har prøvet at gøre som du sagde, men stadig uden held.
Filerne ligger på følgende adresse: http://www.rolator.dk/community/ses_test/ny1.php

Forstår simpelthen ikke hvad fejlen kan være!
Avatar billede sukos Juniormester
23. november 2003 - 13:13 #16
Har du brug for et nyt host?

Lader til at der er en masse funktioner som ikke er tilladt at bruge med PHP!
Avatar billede sukos Juniormester
23. november 2003 - 13:14 #17
Hvor stor trafik er der på siden?
Avatar billede sukos Juniormester
23. november 2003 - 13:32 #18
æhh, kan tilbyde dig noget billigt hvis du er interesseret.
steffen@showsource.dk
Avatar billede sukos Juniormester
23. november 2003 - 13:33 #19
Og det er ikke mig som får pengene! :O)
Avatar billede rtfm Nybegynder
23. november 2003 - 16:12 #20
Det kunne godt være, at det var det der skulle til. Takker for hjælpen!
Avatar billede sukos Juniormester
23. november 2003 - 23:10 #21
Ja, jeg er i hvert fald tom for ideer
I din phpinfo() kan man f.eks ikke finde/se $_SERVER["DOCUMENT_ROOT"] og det ser ud som om det er en dell comp med et eller andet "prædefineret" opsætning.

Umiddelbart formuleret, "En gang windåze-rod" :O)
Avatar billede sukos Juniormester
23. november 2003 - 23:19 #22
Nu bruger du selvf. IKKE Go-live eller lign til at lave dine PHP filer?
Har oplevet at de kan sende en header, uden at det egentlig står i kildekoden
Avatar billede rtfm Nybegynder
24. november 2003 - 09:08 #23
Nej, slet ikke. Bruger Notepad og HomeSite 5.
Nå, men når der ikke er en reel løsing må jeg vel hellere lukke spørgsmålet.
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