Avatar billede diddi Nybegynder
20. maj 2002 - 17:33 Der er 19 kommentarer og
1 løsning

Cookies!!

Det er meget mystisk.. Den skriver:

Warning: Cannot add header information - headers already sent by (output started at xxxxxx in xxxxxxxx on line 59

Warning: Cannot add header information - headers already sent by (output started at xxxxxx in xxxxxxxx on line 60

Warning: Cannot add header information - headers already sent by (output started at xxxxxx in xxxxxxxx on line 80

Warning: Cannot add header information - headers already sent by (output started at xxxxxx in xxxxxxxx on line 81

Warning: Cannot add header information - headers already sent by (output started at xxxxxx in xxxxxxxx on line 94

Warning: Cannot add header information - headers already sent by (output started at xxxxxx in xxxxxxxx on line 95

Warning: Cannot add header information - headers already sent by (output started at xxxxxx in xxxxxxxx on line 96

Warning: Cannot add header information - headers already sent by (output started at xxxxxx in xxxxxxxx on line 97

Hvad er det lige jeg gør galt??

- Jacob
Avatar billede lauer Nybegynder
20. maj 2002 - 17:36 #1
det er fordi du udskriver noget indhold før du prøver at sætte en cookie.
det må man ikke...
enten flytter du lidt rundt på din kode, eller så læser du lidt om :
http://dk.php.net/manual/en/function.ob-start.php
Avatar billede diddi Nybegynder
20. maj 2002 - 17:38 #2
kan jeg ikke vise dig noget af kilden ?? så kan du forsøge at hjælpe ??
Hva vil du se?

- Jacob
Avatar billede lauer Nybegynder
20. maj 2002 - 17:39 #3
det er ikke nødvendigt for mig at se noget kode, fejlen der beskriver det meget godt.
Du har udskrevet noget indhold ud før setcookie() hvikket man ikke må, og det skrev jeg også i min første indlæg
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:43 #4
DVS. du skal rykke din "setcookie" helt op i toppen af dit script
Avatar billede diddi Nybegynder
20. maj 2002 - 17:45 #5
hmm... jeg har forsøgt at flytte lidt rundt, men jeg kan ikke få det til at virke!! hmm... jeg synes da det ser okay ud:

case "go":
    setcookie ("scooter");
    setcookie ("scooter", "", time() - 1800);

<? en masse halløj ?>

break;
case "close":

    setcookie ("scooter");
    setcookie ("scooter", "", time() - 1800);
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:45 #6
i bunden har du en setcookie..
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:45 #7
eller hvad ?
Avatar billede diddi Nybegynder
20. maj 2002 - 17:46 #8
ja..
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:48 #9
det må du ikke
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:48 #10
alle setcookie's skal være i toppen af dit dokument (altså starten)
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:49 #11
- Dette virker ikke
print("hej");
Setcookie("bla", "bla", time()+3600);

- Dette virker
Setcookie("bla", "bla", time()+3600);
print("hej");
Avatar billede diddi Nybegynder
20. maj 2002 - 17:55 #12
ja okay..
men hvad gør jeg så i denne situation?

# Starter med at se om brugeren inde

if ($page_status == "inde") {

ser efter

    if (isset ($scooter)) {
        # Henter cookie'er
        $check_band_id = $scooter[band_id];
        $check_band = $scooter[band];
        $check_kode = $scooter[kode];
        $check_user_ip = $scooter[user_ip];

        $do_search = "yes";
        foreach ($band as $key => $value) {
                if ($do_search == "yes") {
                if (($check_band_id == $band_id[$key]) && (ereg ("^$check_band$", $band[$key])) && ($check_kode == $password[$key])) {
                    # Checker IP
                    if ($REMOTE_ADDR == $check_user_ip) {
                        $page_status = "logged_in";
                        $do_search = "no";
                        # Giver brugeren 30 min mere inden cookie'en forsvinder                   
                        setcookie ("scooter[band_id]", $check_band_id, time() + 1800);
                        setcookie ("scooter[band]", $check_band, time() + 1800);
                        setcookie ("scooter[kode]", $check_kode, time() + 1800);
                        setcookie ("scooter[user_ip]", $check_user_ip, time() + 1800);
                    } else {
                        $page_status = "may_be_attack";
                        $do_search = "no";
                    }
                } elseif ((ereg ("^$check_band$", $band[$key])) && ($check_kode != $password[$key])) {
                    $page_status = "may_be_attack";
                    $do_search = "no";
                } else {
                    $page_status = "may_be_attack";
                }
            }
        }       
    } else {
        $page_status = "no_cookie";
    }
} else {

    $page_status = "default";
    setcookie ("scooter");
    setcookie ("scooter", "", time() - 1800);
}

#
# Finder ud af hvad der skal ske nu
#

switch($action) {

default:
Avatar billede diddi Nybegynder
20. maj 2002 - 17:56 #13
fordi, her tjekker den jo om der er en logget ind!!??
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:57 #14
det burde virke..!:!:
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:57 #15
Som jeg umidlebart ser det :/
Avatar billede shjorth Nybegynder
20. maj 2002 - 17:57 #16
se på de linjer hvor fejlen er, og se hvad der sker der
Avatar billede diddi Nybegynder
20. maj 2002 - 17:59 #17
hovsa.. det gør det også.. det var det jeg lige har ændret!! ;O)
her er det næste det forstår jeg ik:

case "login":

# Logger ind

    setcookie ("scooter");
    setcookie ("scooter", "", time() - 1800);

    # Kryperer den tastede kode
    $krypkode = krypter($tastet_kode);

    # Checker bruger
    $do_search = "yes";
    foreach ($band as $key => $value) {
        if ($do_search == "yes") {
            if ((ereg ("^$tastet_band$", $band[$key])) && ($krypkode == $password[$key])) {
                $page_status = "logged_in";
                # Laver session/cookie
                $user_ip = $REMOTE_ADDR;
                setcookie ("scooter[band_id]", $band_id[$key], time() + 1800);
                setcookie ("scooter[band]", $tastet_band, time() + 1800);
                setcookie ("scooter[kode]", $krypkode, time() + 1800);
                setcookie ("scooter[user_ip]", $user_ip, time() + 1800);
                # Bruges lige efter login, hvor cookie ikke er oprettet endnu
                $temp_set_band_id = $band_id[$key];
                $do_search = "no";
            } elseif ((ereg ("^$tastet_band$", $band[$key])) && ($krypkode != $password[$key])) {
                $page_status = "wrong_password";
                $do_search = "no";
            } else {
                $page_status = "band_not_found";
            }
        }
    }

break;

case "logout":

    # Logger ud

    setcookie ("scooter");
    setcookie ("scooter", "", time() - 1800);
   
    $action = "";

break;
Avatar billede diddi Nybegynder
20. maj 2002 - 18:01 #18
hvad betyder dette ?
output started at /web/xxx/www/detaljer.php:142

det der 142??
Avatar billede shjorth Nybegynder
20. maj 2002 - 18:09 #19
Det vil sige at der sker noget på linje 142 f.eks print("bla");
Avatar billede diddi Nybegynder
20. maj 2002 - 18:10 #20
okay... 2 min lige..
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