Beethoven Skrevet 1. mai 2006 Skrevet 1. mai 2006 Hei, Jeg har denne rare koden som et eksempel: <?php ob_start(); class testClass { function classFunction() { global $test; return $test; } } $class_testClass = new testClass; function dust($str) { global $class_testClass, $test; header ('Location: tester.php?file=dss'); $test = $str; echo $class_testClass->classFunction(); } dust('vær så snill, kom til meg!'); ?> Hele koden min er større en som så, men dette er en slags... mindre versjon av hvordan det hele er bygd, kanskje dumt men sånn er det nå. Det som skjer, er at headeren bare går og går. Jeg blir aldri kastet til den adressen jeg vil... kan man ikke kjøre header(); location inni en funksjon, eller? Takker for svar.
eivind_82 Skrevet 1. mai 2006 Skrevet 1. mai 2006 Prøv å fjerne ob_start() (evt. legg den under koden for header() )? Vær obs på at det som står under header ('Location: tester.php?file=dss'); ikke blir kjørt.
Beethoven Skrevet 1. mai 2006 Forfatter Skrevet 1. mai 2006 Irriterende... det gikk ikke. Andre forslag... skal det i det hele tatt være mulig å kjøre header i en funksjon?
eivind_82 Skrevet 1. mai 2006 Skrevet 1. mai 2006 Ja, det skal ikke være noe problem. Det høres egentlig ut som du har en uendelig løkke et sted, men kan ikke se noe ut i fra koden din.
eivind_82 Skrevet 1. mai 2006 Skrevet 1. mai 2006 BTW: Hvis du ikke får problemer med execution timeout så vil jeg tro det har noe med at headeren kjører igjen og igjen (dersom koden din ligger i tester.php).
Beethoven Skrevet 1. mai 2006 Forfatter Skrevet 1. mai 2006 (endret) Hehe, ja, du har rett. Men... ok... fra selve koden ikke illustrasjonskoden: if ($error && !findInString('#commentError', $_SERVER['REQUEST_URI'])) { ob_start(); header('Location: ' . $_SERVER['REQUEST_URI'] . '#commentError'); } elseif ($finished && !findInString('#commentAdded', $_SERVER['REQUEST_URI'])) { ob_start(); header('Location: ' . $_SERVER['REQUEST_URI'] . '#commentAdded'); } findInString bruker strpos så dere er klar over det. Den skal jo bare ikke kjøre om igjen nå da... den skal jo ikke gå når den kjører dit. findInString funker, det er jeg HUNDRE prosent sikker på. Endret 1. mai 2006 av Beethoven
Torbjørn Skrevet 2. mai 2006 Skrevet 2. mai 2006 kan du likevel legge fram kode som viser at den funker?
trondes Skrevet 2. mai 2006 Skrevet 2. mai 2006 (endret) Jeg blir aldri kastet til den adressen jeg vil... kan man ikke kjøre header(); location inni en funksjon, eller? Dette er fult mulig jo, men problemet her er at når du bruker ob_start() så samler den opp alt som blir sendt til browseren. Får å sende det som blir skrevet må du bruke ob_end_flush() eller en annen lignene funksjon. Normal så skal den bli sendt utansett om ob_start() blir brukt, men har vært borti at den ikke blir det, kanskje en innstiling i php.ini ? EDIT: koden i post 1 virker fint hos meg Endret 2. mai 2006 av trondes
Beethoven Skrevet 2. mai 2006 Forfatter Skrevet 2. mai 2006 Hei, Jeg er svært takknemmelig for hjelp nå . Men, jeg har funnet løsningen på problemet mitt, men trenger svar på noe annet. Se på den andre koden jeg postet til dere, jeg leter etter en sånn #commentError i adresselinja. Det ser ut til at $_SERVER['REQUEST_URI'] ikke tar med seg sånn. Er det da noen som vet om hvordan jeg får hentet ut slik: klasse greier i headeren, altså: #commentError f. eks? Så det hele har gått i ond sirkel for å si det slik, dere hadde rett . Takk for hjelp.
kakkle Skrevet 2. mai 2006 Skrevet 2. mai 2006 (endret) Den funksjonen du er ute etter er: parse_url. Du vil da få de forskjellige delene av urlen tilbake som et array. "Anchor Name" vil da ha "nøkkelen" fragment Eks: $url = "http://www.domene.com/index.php#read"; $parsed = parse_url($url); echo "<pre>"; print_r($parsed); echo "</pre>"; Vil gi deg noe ala dette: Array ( [scheme] => http [host] => www.domene.com [path] => /index.php [fragment] => read ) Endret 2. mai 2006 av kakkle
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå