09. juli 2003 - 12:28Der er
26 kommentarer og 2 løsninger
Setcookie efter header!
Jeg har en side med en masse kodeværk, hvor jeg "længere nede på siden" vil sætte nogle cookies ved hjælp af setcookie. Men jeg mener ikke man kan sætte cookies efter man evt. har haft nogle headers, men jeg mener også at have set måde hvorpå det var muligt!
Det jeg søger er en måde at sætte cookies på, uden det afhænger hvor i min kode jeg gør det :-)
Håber I forstår!
PS. Løsningen skal selvfølgelig være lige så stabil, god og sikker som ellers!
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
og prøv derefter evt at lave din side om, så du først har alle beregninger, og derefter din HTML. Man skal lige vænne sig til det, men det er meget mere overskueligt.
Well, der er ikke noget problem i at kalde setcookie() efter et kald af header() Problemet kan være hvis du har lavet noget output inden du kalder setcookie(). I det tilfælde er mit råd at du bør omstrukturere din kode... er det forbesværligt eller hvad ved jeg kan du bruge output buffering - prøv at kig på http://www.reginscorner.dk/index.php/Scripts?Headers+h%E5ndtering Der kan du se hvordan output buffering fungerer
header("location:index.php"); <--- vel dette sender jo brugeren afsted til en helt anden side og afslutter scriptet. Så alt hvad der kommer efter det kald er i realiteten irelevant!
Jeg har kun headeren header("location:index.php"); i en if-sætning, så det er kun hvis der sker en fejl brugeren sendes videre, ellers kommer man videre til setcookie.
Det eneste jeg har ovenover setcookie er if-sætningerne og noget html!
Synes godt om
Slettet bruger
09. juli 2003 - 12:43#8
brevkasserne>>Well, jeg tror vi har svaret på dit spørgsmål... så må du bare sidde og pille ved det indtil det passer!
Jeg kan sagtens placere min PHP-kode over HTML-koderne! Men jeg kan ikke rigtig gøre noget ved at setcookie-funktionen kommer EFTER if-sætningerne med if-sætningerne. For cookies'ne skal kun sætte hvis den "består" if-sætningerne!
Ja, som jeg læser det nu, er det problemløst. Måske lige bortset fra hvis du kører på en (gammel?) IIS, som kan have svært ved at overskue en redirect samtidig med en cookie.
Det gør altså intet hvis jeg kun har headerne og de kun bliver aktiveret hvis if-sætningen ikke bliver opfyldt? Og så at jeg placere al HTML kode under?
Og hvorfor er det at det hele fungerer lokalt, men ikke efter uploading til wannafind.dk?
Jeg kan sagtens sætte cookies'ne på min lokale Apache server med PHP og MySQL, selvom jeg har sendt headers o. lign., og har HTML-kode ovenover???
HTML-koden kommer forresten også kun frem hvis en anden if-sætning er opfyldt! Grunden til at jeg har HTML ovenover er fordi jeg har en side der hedder index.php og i den findes der if-sætninger med if ($_GET['mode'] == "") {
Skulle jeg sætte <?php ob_flush(); ?> i bunden af siden??? Jeg spørger mest fordi at linket jeg fik siger jeg skal, men min editor (editplus) kan ikke genkende ob_flush(); den farver ikke koden som med ob_start();
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.