/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ikke rigtig login, men kan ikke finde fejl~
Fra : sune moldt


Dato : 13-06-05 19:25

jeg har lavet et login system som på hjemmesideskolen.dk, i php
med MySQL database som også virker, men når jeg har indtastet et
brugernavn og kodeord, skiver den"
Warning: session_start(): Cannot send session cache limiter -
headers already sent (output started at
/web/www/frac/users/web4my/forside.php:2) in
/web/www/frac/users/web4my/forside.php on line 11

Ukorrekt login
Du skal være logget ind for at se disse sider. Log in" nogen der
kan hjælpe..

web4my.frac.dk/ny.php



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Martin Ploug (13-06-2005)
Kommentar
Fra : Martin Ploug


Dato : 13-06-05 19:55

> Warning: session_start(): Cannot send session cache limiter -
> headers already sent (output started at
> /web/www/frac/users/web4my/forside.php:2) in
> /web/www/frac/users/web4my/forside.php on line 11


Jeg har lige siddet med det samme problem, og jeg mener det
har noget at gøre med at du skal have den del af din php kode,
som handler om sessions op øverst før din < html>< head> <body>..osv.
Den php del skal vist nok starte på aller øverste linie.

se evt her http://webmaster.hephey.dk/guide/40/

Håber du kan bruge det til noget.

Med venlig hilsen
Martin



Zilla (13-06-2005)
Kommentar
Fra : Zilla


Dato : 13-06-05 20:11

Martin Ploug wrote:
> Den php del skal vist nok starte på aller øverste linie.

Der må ikke være sendt noget til browseren når man kører session_start().
ikke engang et mellemrum, så følgende ville give det samme problem,
fordi der er et mellemrum før <?php

<?php
session_start()
etc. etc.

som der står i fejlmeddelelsen så sendes der et output til browseren på
linie 2:

"(output started at /web/www/frac/users/web4my/forside.php:2)"

Zilla

Martin Ploug (13-06-2005)
Kommentar
Fra : Martin Ploug


Dato : 13-06-05 20:21

> Der må ikke være sendt noget til browseren når man kører session_start().
> ikke engang et mellemrum, så følgende ville give det samme problem,
> fordi der er et mellemrum før <?php

> <?php
>session_start()
> etc. etc.

> som der står i fejlmeddelelsen så sendes der et output til browseren på
> linie 2:

Til Zilla

Ok, så lærte jeg lige lidt ekstra.
Er det som regel ved brug af sessioner, at man kan få den fejlmeddelelser,
eller
er der andre php funktioner/scripts, hvor den fejlmeddelelse ofte kommer?

Ja, undskyld jeg lige indskyder dette spørgsmål, det er jo ikke mig der har
startet
indlæget
Håber det er ok.

- Martin



Jacob Atzen (13-06-2005)
Kommentar
Fra : Jacob Atzen


Dato : 13-06-05 21:25

On 2005-06-13, Martin Ploug <mploug@mail.tele.dk> wrote:
> Er det som regel ved brug af sessioner, at man kan få den
> fejlmeddelelser, eller er der andre php funktioner/scripts, hvor den
> fejlmeddelelse ofte kommer?

Alt, hvor der bruges header().

--
Med venlig hilsen
- Jacob Atzen

Peter Brodersen (13-06-2005)
Kommentar
Fra : Peter Brodersen


Dato : 13-06-05 21:27

On 13 Jun 2005 20:25:24 GMT, Jacob Atzen <jacob@aub.dk> wrote:

>Alt, hvor der bruges header().

... hvilket i praksis også omfatter setcookie() og session_start()

--
- Peter Brodersen

sune moldt (13-06-2005)
Kommentar
Fra : sune moldt


Dato : 13-06-05 22:44

Peter Brodersen wrote in dk.edb.internet.webdesign.serverside.php:
> On 13 Jun 2005 20:25:24 GMT, Jacob Atzen <jacob@aub.dk> wrote:
>
> >Alt, hvor der bruges header().
>
> ... hvilket i praksis også omfatter setcookie() og session_start()
>
> --
> - Peter Brodersen
det skulle være rettet nu.. vil i prøve at se, for nu kommer der
frem med den er logget forkert ind.. Hvad kan der være galt??

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Peter Brodersen (13-06-2005)
Kommentar
Fra : Peter Brodersen


Dato : 13-06-05 23:01

On 13 Jun 2005 21:43:48 GMT, sune moldt <sunemoldt@hotmail.com> wrote:

> det skulle være rettet nu.. vil i prøve at se, for nu kommer der
>frem med den er logget forkert ind.. Hvad kan der være galt??

Det er ikke til at sige, idet vi ikke kender din kode.

Hvis du vil se, hvad session'en indeholder, kan du prøve med følgende
PHP-kode:

print "<pre>";
print_r($_SESSION);
print "</pre>";

Så kan du se, om de rigtige variable er blevet sat.

--
- Peter Brodersen

sune moldt (13-06-2005)
Kommentar
Fra : sune moldt


Dato : 13-06-05 22:37

Martin Ploug wrote in dk.edb.internet.webdesign.serverside.php:
> > Der må ikke være sendt noget til browseren når man kører session_start().
> > ikke engang et mellemrum, så følgende ville give det samme problem,
> > fordi der er et mellemrum før <?php
>
> > <?php
> >session_start()
> > etc. etc.
>
> > som der står i fejlmeddelelsen så sendes der et output til browseren på
> > linie 2:
>
> Til Zilla
>
> Ok, så lærte jeg lige lidt ekstra.
> Er det som regel ved brug af sessioner, at man kan få den fejlmeddelelser,
> eller
> er der andre php funktioner/scripts, hvor den fejlmeddelelse ofte kommer?
>
> Ja, undskyld jeg lige indskyder dette spørgsmål, det er jo ikke mig der har
> startet
> indlæget
> Håber det er ok.
>
> - Martin
>
> Det er helt okay Martin.. :) jeg kan ikk finde ud af phph, så vil gerne have
hjælp... Hvad skulle jeg gøre Zilla?? Undskyld men fik det ikke med..


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Zilla (14-06-2005)
Kommentar
Fra : Zilla


Dato : 14-06-05 13:08

sune moldt wrote:
> hjælp... Hvad skulle jeg gøre Zilla?? Undskyld men fik det ikke med..

I den fejlmeddelelse du skrev, står der at der bliver sendt et eller
andet output til browseren på linie 2 i dit script. Eftersom jeg ikke
kender dit script så kan jeg ikke sige præcist hvad der er i vejen, men
fejlen kan f.eks. skyldes at du echo'er eller printer noget. Så
session_start() skal flyttes op ovenover linie 2.
Når jeg selv bruger sessions, så starter jeg dem altid på linie 2 i mit
script for at undgå fejl:

<?php
session_start();
//Herefter kan du sende alt det du vil til browseren.
echo "Output til browser";
//etc. etc.
?>

Man kan altså godt definere variabler og køre funktioner osv. inden man
starter en session så længe der ikke sendes noget til browseren.
Det kan sommetider være nyttigt først at starte en session hvis nogle
betingelser er opfyldt. Så sætter man den bare ind i en if-sætning:

<?php
$user = $_REQUEST[user];
$pass = $_REQUEST[pass];
if($user != "et eller andet brugernavn" || $pass != "et eller andet
password") {
echo "Forkert brugernavn eller password";
} else {
session_start();
echo "Du er logget ind";
}
?>

I ovenstående skrives der kun noget til browseren hvis brugernavn eller
password er forkert og starter en session hvis begge er rigtige. Her
bliver der altså heller ikke sendt noget til browseren før session'en
startes.

Håber forklaringen hjalp. Se evt. også her: http://www.php.net/session_start

Zilla

sune moldt (14-06-2005)
Kommentar
Fra : sune moldt


Dato : 14-06-05 18:22

Zilla wrote in dk.edb.internet.webdesign.serverside.php:
> sune moldt wrote:
> > hjælp... Hvad skulle jeg gøre Zilla?? Undskyld men fik det ikke med..
>
> I den fejlmeddelelse du skrev, står der at der bliver sendt et eller
> andet output til browseren på linie 2 i dit script. Eftersom jeg ikke
> kender dit script så kan jeg ikke sige præcist hvad der er i vejen, men
> fejlen kan f.eks. skyldes at du echo'er eller printer noget. Så
> session_start() skal flyttes op ovenover linie 2.
> Når jeg selv bruger sessions, så starter jeg dem altid på linie 2 i mit
> script for at undgå fejl:
>
> <?php
> session_start();
> //Herefter kan du sende alt det du vil til browseren.
> echo "Output til browser";
> //etc. etc.
> ?>
>
> Man kan altså godt definere variabler og køre funktioner osv. inden man
> starter en session så længe der ikke sendes noget til browseren.
> Det kan sommetider være nyttigt først at starte en session hvis nogle
> betingelser er opfyldt. Så sætter man den bare ind i en if-sætning:
>
> <?php
> $user = $_REQUEST[user];
> $pass = $_REQUEST[pass];
> if($user != "et eller andet brugernavn" $pass != "et eller andet
> password") {
> echo "Forkert brugernavn eller password";
> } else {
> session_start();
> echo "Du er logget ind";
> }
> ?>
>
> I ovenstående skrives der kun noget til browseren hvis brugernavn eller
> password er forkert og starter en session hvis begge er rigtige. Her
> bliver der altså heller ikke sendt noget til browseren før session'en
> startes.
>
> Håber forklaringen hjalp. Se evt. også her: http://www.php.net/session_start
>
> Zilla

Min side ser sådanne ud:

<? $strTitle="forside";?>

<? include("header.inc"); ?>

<body>

<div class="indhold">

<?php
session_start();
if(isset($_SESSION['logget_ind'])){
echo " <h1> $strTitle </h1>

<p>Dette er indhold på en beskyttet side</p> ";
}
else
{
echo "<h1>Ukorrekt login</h1>

<p>Du skal være logget ind for at se disse sider. <a class=\"tlink\"
href=\"default.php\">Log in</a></p>";
}
?>

</div>

<? include("menu2.inc"); ?>

</body>

</html>


------------------------

Hvad er der galt?? Når man indtaster brugernavn og kodeord kommer man ind på
(www.web4my.frac.dk/ny.php


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Peter Brodersen (15-06-2005)
Kommentar
Fra : Peter Brodersen


Dato : 15-06-05 15:05

On 14 Jun 2005 17:22:14 GMT, sune moldt <sunemoldt@hotmail.com> wrote:

><div class="indhold">
>
><?php
>session_start();

Som nævnt flere steder i tråden, så må du ikke have outputtet noget på
din side før din session_start(). Er du i tvivl, så flyt den linje
helt øverst i dit script.

--
- Peter Brodersen

Erik Ginnerskov (15-06-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 15-06-05 23:31

sune moldt wrote:

> Min side ser sådanne ud:
>
> [klip en masse kode]

Det skal være sådan:

<?php
session_start();
?>
<? $strTitle="forside";?>

<? include("header.inc"); ?>

<body>

<div class="indhold">

<?php
if(isset($_SESSION['logget_ind'])){
echo " <h1> $strTitle </h1>
....
....

Altså, som flere har påpeget og som det også er vist på min side: Session
*skal* startes, før der sendes noget til browseren.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



sune moldt (16-06-2005)
Kommentar
Fra : sune moldt


Dato : 16-06-05 16:06

Erik Ginnerskov wrote in dk.edb.internet.webdesign.serverside.php:
> sune moldt wrote:
>
> > Min side ser sådanne ud:
> >
> > [klip en masse kode]
>
> Det skal være sådan:
>
> <?php
> session_start();
> ?>
> <? $strTitle="forside";?>
>
> <? include("header.inc"); ?>
>
> <body>
>
> <div class="indhold">
>
> <?php
> if(isset($_SESSION['logget_ind'])){
> echo " <h1> $strTitle </h1>
> ....
> ....
>
> Altså, som flere har påpeget og som det også er vist på min side: Session
> *skal* startes, før der sendes noget til browseren.
>
> --
> Med venlig hilsen
> Erik Ginnerskov
> http://hjemmesideskolen.dk - http://ginnerskov.dk
> http://html-faq.dk/
>
> Prøv at kikke nu.. web4my.fracdk/ny.php - hvad skal jeg gøre, hvis jeg har
en side der hedder: galleriet.html som også skal beskyttes af et brugernavn
og kodeord..

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christoffer (16-06-2005)
Kommentar
Fra : Christoffer


Dato : 16-06-05 18:03


"sune moldt" <sunemoldt@hotmail.com> skrev i en meddelelse
news:42b1956e$0$18643$14726298@news.sunsite.dk...
> Erik Ginnerskov wrote in dk.edb.internet.webdesign.serverside.php:
>> sune moldt wrote:
>>
>> > Min side ser sådanne ud:
>> >
>> > [klip en masse kode]
>>
>> Det skal være sådan:
>>
>> <?php
>> session_start();
>> ?>
>> <? $strTitle="forside";?>
>>
>> <? include("header.inc"); ?>
>>
>> <body>
>>
>> <div class="indhold">
>>
>> <?php
>> if(isset($_SESSION['logget_ind'])){
>> echo " <h1> $strTitle </h1>
>> ....
>> ....
>>
>> Altså, som flere har påpeget og som det også er vist på min side: Session
>> *skal* startes, før der sendes noget til browseren.
>>
>> --
>> Med venlig hilsen
>> Erik Ginnerskov
>> http://hjemmesideskolen.dk - http://ginnerskov.dk
>> http://html-faq.dk/
>>
>> Prøv at kikke nu.. web4my.fracdk/ny.php - hvad skal jeg gøre, hvis jeg
>> har
> en side der hedder: galleriet.html som også skal beskyttes af et
> brugernavn
> og kodeord..
Hvis det bare skal tjekkes om brugeren er logget ind så skriv
<?php
session_start();
?>
<html>
<head>....</head>>
<body>
<?php
if(isset($_SESSION['logget_ind'])){
Print "Informationen for de brugere som er logget ind";
}

Else {
Print "Information til de brugere som endnu ikke er logget ind";
}
?>
</body>
</html>

--
Christoffer






sune moldt (16-06-2005)
Kommentar
Fra : sune moldt


Dato : 16-06-05 18:29

Christoffer wrote in dk.edb.internet.webdesign.serverside.php:
> "sune moldt" <sunemoldt@hotmail.com> skrev i en meddelelse
> news:42b1956e$0$18643$14726298@news.sunsite.dk...
> > Erik Ginnerskov wrote in dk.edb.internet.webdesign.serverside.php:
> >> sune moldt wrote:
> >>
> >> > Min side ser sådanne ud:
> >> >
> >> > [klip en masse kode]
> >>
> >> Det skal være sådan:
> >>
> >> <?php
> >> session_start();
> >> ?>
> >> <? $strTitle="forside";?>
> >>
> >> <? include("header.inc"); ?>
> >>
> >> <body>
> >>
> >> <div class="indhold">
> >>
> >> <?php
> >> if(isset($_SESSION['logget_ind'])){
> >> echo " <h1> $strTitle </h1>
> >> ....
> >> ....
> >>
> >> Altså, som flere har påpeget og som det også er vist på min side: Session
> >> *skal* startes, før der sendes noget til browseren.
> >>
> >> --
> >> Med venlig hilsen
> >> Erik Ginnerskov
> >> http://hjemmesideskolen.dk - http://ginnerskov.dk
> >> http://html-faq.dk/
> >>
> >> Prøv at kikke nu.. web4my.fracdk/ny.php - hvad skal jeg gøre, hvis jeg
> >> har
> > en side der hedder: galleriet.html som også skal beskyttes af et
> > brugernavn
> > og kodeord..
> Hvis det bare skal tjekkes om brugeren er logget ind så skriv
> <?php
> session_start();
> ?>
> <html>
> <head>....</head>>
> <body>
> <?php
> if(isset($_SESSION['logget_ind'])){
> Print "Informationen for de brugere som er logget ind";
> }
>
> Else {
> Print "Information til de brugere som endnu ikke er logget ind";
> }
> ?>
> </body>
> </html>
>
> --
> Christoffer
>
>
>
> skal være sådan, hvis man ikk er logget in, så kan man ikke se siden (evt
viderstilles til en anden side)
>


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Erik Ginnerskov (16-06-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 16-06-05 22:16

sune moldt wrote:

>> skal være sådan, hvis man ikk er logget in, så kan man ikke se
>> siden (evt
> viderstilles til en anden side)

Hvis du lige logger ind på mine sider om php og MySql igen:

http://hjemmesideskolen.dk/scripts/phpmysql/default.php

og tager dig tid til at læse og forstå. Læs især punkt 6 på

http://hjemmesideskolen.dk/scripts/phpmysql/login_forside.php

hvor det forklares, at alle beskyttede sider laves over den samme skabelon,
hvor der nederst er et par linjer tekst, som kun vises ved ukorrekt login
(resten af siden vises så ikke). Ved korrekt login vises fejlbeskeden til
gengæld ikke.

Opbygningen af de beskyttede sider er beskrevet her:

http://hjemmesideskolen.dk/scripts/phpmysql/sess.php

PS. Ovenstående links nr. 2 og 3 kan ikke følges, før du er logget ind.

PPS. Din citatteknik halter. Dine indlæg bliver længere og længere, hvis du
ikke skærer det væk, som du ikke svarer på. Det gør det vanskeligt at følge
tråden.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Christoffer (17-06-2005)
Kommentar
Fra : Christoffer


Dato : 17-06-05 12:58

> skal være sådan, hvis man ikk er logget in, så kan man ikke se siden (evt
> viderstilles til en anden side)
I Else retter du print til:

Print "<META HTTP-EQUIV='Refresh' Content='4;
Url='>http://www.ditdomæne.dk/index.php'> <font color='darkred'>Du har ikke
adgang til siden, og viderestilles til index.php</font>";

--
Christoffer



Erik Ginnerskov (17-06-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 17-06-05 14:10

Christoffer wrote:

> I Else retter du print til:
>
> Print "<META HTTP-EQUIV='Refresh' Content='4;
> Url='>http://www.ditdomæne.dk/index.php'> <font color='darkred'>Du har
> ikke adgang til siden, og viderestilles til index.php</font>";

Vil vist ikke virke. En meta-refresh skal stå i sidens head, ikke nede i
body.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Christoffer (17-06-2005)
Kommentar
Fra : Christoffer


Dato : 17-06-05 14:43

>> Print "<META HTTP-EQUIV='Refresh' Content='4;
>> Url='>http://www.ditdomæne.dk/index.php'> <font color='darkred'>Du har
>> ikke adgang til siden, og viderestilles til index.php</font>";
>
> Vil vist ikke virke. En meta-refresh skal stå i sidens head, ikke nede i
> body.
Rigtig, havde lånt det fra min egen side, og der er if sætning bygget
anderledes op. Undskylder fejlen.

--
Christoffer



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste