Avatar billede naxosnaxos Nybegynder
16. april 2003 - 19:06 Der er 20 kommentarer og
1 løsning

hvornår kalder man session_start()?+

Har en side hvor jeg registrer nogle sessions med $_session['blabla'] og bruger dem så senere på siden. Når jeg så vil bruge dem på en anden side jeg kommer til ved tryk på en kanp er mine session variabler tomme.....hvorfor?? har prøvet at lege lidt med session_start men ingen held.. hvad glemmer jeg???
Avatar billede fet321 Nybegynder
16. april 2003 - 19:12 #1
Har du også session_start(); på den side du hopper til?
Det skal du.
Avatar billede schaefner Juniormester
16. april 2003 - 19:17 #2
$_SESSION['blabla'] < Det skal være med stort
Avatar billede schaefner Juniormester
16. april 2003 - 19:24 #3
Og som fet321 skriver, så skal session_start(); også stå i toppen af det dokument du ønsker at udskriver dine sessions på.
Avatar billede htm Nybegynder
16. april 2003 - 20:07 #4
Måske du skulle overveje at lukke nogle af dine mange åbne spørgsmål: http://www.eksperten.dk/bruger.phtml?sort=%40&order=asc&catid=0&q=&navn=naxosnaxos&option=22
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 20:47 #5
jeps I know er faktisk igang ;)
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 22:28 #6
okay nu er der lukket lidt spg. hvis vi så kan blive seriøse....

hvordan skal denne fejl tolkes:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/web/xxxxxx/index.php:11) in /home/web/xxxxxx/test/sessiontest.php on line 7

på linie 7 i sessiontest.php bruger jeg session_start(), men har ikke rørt noget i den index fil den snakker om...
Avatar billede htm Nybegynder
16. april 2003 - 22:34 #7
Ja du har lukket nogle men der er da stadig mange åbne
---------

Du får den fejl fordi du allerede har sendt noget til browseren. Det kan være noget html eller et linieskift eller tekst! Sessions skal startes før der sendes noget output til browseren!
Avatar billede tefcke Nybegynder
16. april 2003 - 22:36 #8
du får den fejl, fordi der er blevet outputtet noget til din browser inden session_start() er blevet kaldt. Husk på, at selve fejlmeddelsen ligeledes er output, så hvis du laver nogen beregninger, eller andet inden dit kald til session_start(), og der kommer en warning, notice eller error, vil du få den ovenstående fejl!
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 22:36 #9
Ja de fleste åbne er uden svar pt.....
-----------------

MEn hvordan kan jeg så undegå denne fejl??
jeg har i toppen af siden

<?
session_start();

?>

og senere kommer så brugen af mine sessions osv.
Avatar billede schaefner Juniormester
16. april 2003 - 22:37 #10
<?php
session_start();
?>
<html>
<head> ...

^ således skal det stå.
Avatar billede htm Nybegynder
16. april 2003 - 22:38 #11
Hvis noget mere kode så - tjek at du ikke evt. har et linieskift før <?
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 22:39 #12
ok prøver lige lidt vender så tilbae
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 22:43 #13
er det nødvendigt at have session_start() med i toppen selv på de sider der ikke benytter mine sessions??
Avatar billede htm Nybegynder
16. april 2003 - 22:44 #14
Hvis du ikke bruger sessions på siden er det selvfølgelig ikke ødvendigt med sessions start! :-)
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 22:52 #15
så fatter jeg simpelthen ikke at den fejl kommer. jeg bruger ikke sessions andre steder og start er i toppen. men at der så kommer noget andet almindeligt html til browseren inden jeg bruger echo "bla bla bla".$_SESSION['mereBla']." irriterende"; men det er vel underordnet
Avatar billede htm Nybegynder
16. april 2003 - 23:00 #16
Jow det er ligegyldigt om du har smidt noget html ind før du udskriver selve sessions værdi - men den skal startes inden!

Prøv og vis noget kode!!
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 23:22 #17
er er siden som udskriver min session

<?php
    session_start();
?>
<html>
<head>
</head>
<body>
    <h1>Session test side</h1>
    <?

        echo"Session navn";
        echo "Navn: ".$_SESSION['navn']."";
    ?>
</body>
</html>

---------------------------------
og siden hvor session bliver lavet:
<?php
    session_start();
?>
if($_POST['navn'])
{
    $_SESSION['navn'] = $_POST['navn'];
}
<html>
<head></head>
<body>
......
...
...
....
</body>
</html>
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 23:23 #18
og på siden hvor den laves udskrives den også så jeg ved er er noget i den. Problemet er på den anden siden hvor den også skal udskrives( den jeg skrev øverst)
Avatar billede htm Nybegynder
16. april 2003 - 23:27 #19
Eks. på simpel session side:

<?php
session_start();
session_register("navn");
$_SESSION["navn"] = $_POST["navn"];
echo $_SESSION["navn"];
?>

Session_start og session_register skal være før output.

Prøv og læs lidt om sessions: http://www.php.net/manual/en/ref.session.php
Avatar billede naxosnaxos Nybegynder
16. april 2003 - 23:43 #20
hm hm hm ud fra linket bliver sessions $_SESSION automatisk registreret uden explicit brug af session_register. og ja jeg kan fint bruge min session variabler på den side hvor de oprettes det er først siden derefter det fejler på...
Avatar billede naxosnaxos Nybegynder
17. april 2003 - 01:06 #21
endelig nu virker det. problemet var at jeg tilgik min side via en anden side hvor session_start() manglede. Takker for de mange forslag
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