/ 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
problemer med session cookie
Fra : keffy


Dato : 27-04-02 18:41

Hejsa
Hvem er friske til at hjælpe mig. Problemet er der kommer
Warning: Cannot send session cookie - headers already sent by (output
started at C:\apache\htdocs\a\login1.php:10) in
C:\apache\htdocs\a\login1.php on line 12

Warning: Cannot send session cache limiter - headers already sent
(output started at C:\apache\htdocs\a\login1.php:10) in
C:\apache\htdocs\a\login1.php on line 12
Scriptet ser sådan ud.
<html>
<body>
<form action="login.php" method="post">
Brugernavn: <input type="text" name="brugernavn"><br>
Kodeord: <input type="password" name="password"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
<?php
/*** Kode eksempel: login.php ***/
session_start();

// Krypter det indtastede kodeord
$md5Kode = md5($password);

// Check om brugeren findes i databasen med det indtastede kodeord
if (bruger && password) {
mysql_connect("localhost","","");
$result = mysql_db_query("vik","SELECT brugerid FROM booking WHERE
brugerid like '$brugernavn' AND password like '$md5Kode'")
or die( mysql_error() );
if(mysql_num_rows($result) != 0) {
$verified_user = $brugernavn;
session_register("verified_user");
Header("Location: http://localhost/index.php");
}
}
else {
   Header("Location: authfailed.html");
}
exit;
?>
Hvem kan hjælpe?

100 point i dusør
Hilsen
Kenneth Majgaard
http://www.mymusic.dk/doktor-fjols



--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
JMo. (27-04-2002)
Kommentar
Fra : JMo.


Dato : 27-04-02 19:14

On Sat, 27 Apr 2002 17:41:18 GMT, "keffy" <keffy.news@kandu.dk> wrote:


....du må ikke sende noget output til browseren før du aktiverer
sessions... (heller ikke linefeeds o.lign.)

Kasper Garnæs (28-04-2002)
Kommentar
Fra : Kasper Garnæs


Dato : 28-04-02 11:33

> ...du må ikke sende noget output til browseren før du aktiverer
> sessions... (heller ikke linefeeds o.lign.)

Korrekt. Du kan løse problemet ved at starte sessionen som det _første_ på
siden eller ved at benytte output buffering. Output buffering kan dog skabe
problemer i det bufferens indhold ikke bliver vist hvis den ikke bliver
flushet.

Mvh.
Kasper Garnæs





Johan Holst Nielsen (28-04-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 28-04-02 14:38

> Korrekt. Du kan løse problemet ved at starte sessionen som det _første_ på
> siden eller ved at benytte output buffering. Output buffering kan dog skabe
> problemer i det bufferens indhold ikke bliver vist hvis den ikke bliver
> flushet.

Men HUSK. Benyt kun output buffering hvis det er strengt nødvendig, eller man
er glad for at bruge en masse penge på serverkraft. Jeg vil aldrig anbefale en
løsning med output buffering hvis det er muligt på anderledes vis, det vil
nærmest kunne resultere i en anmeldese for "misbrug af serverkraft"?

Så brug det endelig ikke ;) Selvom det er en teoretisk mulighed...

Med venlig hilsen
Johan Holst Nielsen
Servernes Værn
- vi udfører operationer hvor vi hiver netstik ud på webservere som misbruges.


-Martin- (27-04-2002)
Kommentar
Fra : -Martin-


Dato : 27-04-02 19:28

><html>
><body>
><form action="login.php" method="post">
>Brugernavn: <input type="text" name="brugernavn"><br>
>Kodeord: <input type="password" name="password"><br>
><input type="submit" value="Login">
></form>
></body>
></html>
><?php
>/*** Kode eksempel: login.php ***/
>session_start();
>
>// Krypter det indtastede kodeord
>$md5Kode = md5($password);
>
>// Check om brugeren findes i databasen med det indtastede kodeord
>if (bruger && password) {
> mysql_connect("localhost","","");
> $result = mysql_db_query("vik","SELECT brugerid FROM booking WHERE
>brugerid like '$brugernavn' AND password like '$md5Kode'")
> or die( mysql_error() );
> if(mysql_num_rows($result) != 0) {
> $verified_user = $brugernavn;
> session_register("verified_user");
>Header("Location: http://localhost/index.php");
> }
>}
>else {
>   Header("Location: authfailed.html");
>}
>exit;
>?>

Hvis din side ser sådan ud.

Så skal du nok bruge nogen if'er rundt omkring

fx.
<?php
session_start();

if($bruger && $password) {
login mysql sætning
} else { // Hvis man ikke er logget ind
login form
}

Kenneth Majgaard (02-05-2002)
Kommentar
Fra : Kenneth Majgaard


Dato : 02-05-02 00:45

Hej og undskyld jeg ikke gik videre, det skyldtes flere forskellige
ideer der skulles af. Ny er der byttet om på php og html, det var
vejen, men det er svært at få det til at virke.
Med venlig hilsen
Kenneth

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

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste