Stian Jacobsen Skrevet 7. februar 2008 Del Skrevet 7. februar 2008 (endret) Ok, det som skjer er følgende jeg har en session variabel (array) som jeg legger til info med setError('nummer','feilmelding') Dette fungerer kjekt. setError() legger også denne informasjonen til en mysql database. funksjonen readError() viser alle feilmeldingene, så bruker jeg unset for å fjerne alle meldinger, slik at de ikke vises dobbelt.. Dette fungerer også bra.. Problemet er, at når jeg inkluderer en side med buffer, slik som dette i template classen function fetch($fil) { ob_start(); include_once $fil; $inc = ob_get_contents(); ob_end_clean(); return $inc; } I index setError('123','Test feil'); $template->add_var('content', $template->fetch('enfil.php')); Så vises feilmeldinge en gang (slik den skal), men den blir lagt til i mysql databasen to ganger, akkurat som at setError() blir kjørt to ganger, eller at siden laster to ganger.. Dersom jeg erstatter den ene linjen slik setError('123','Test feil'); $template->add_var('content', 'hei'); fungerer alt, bortsett fra at jeg ikke får inkludert noe innhold da http://pastebin.no/3287 (Skrevet på engelsk, prøvde å få svar på #php) Endret 8. februar 2008 av Stian Jacobsen Lenke til kommentar
grimjoey Skrevet 8. februar 2008 Del Skrevet 8. februar 2008 function quoteSmart( $msg, $quote = '\'', $dbLink = NULL ) { if ( !is_numeric( $msg ) ) { if ( get_magic_quotes_gpq() ) $msg = stripslashes( $msg ); if ( $dbLink ) $msg = $quote . mysql_real_escape_string( $msg, $dbLink ) . $quote; else $msg = $quote . mysql_real_escape_string( $msg ) . $quote; } return $msg; } $message = quoteSmart($message); Lenke til kommentar
Martin A. Skrevet 8. februar 2008 Del Skrevet 8. februar 2008 Vel, du kaller tross alt setError() to ganger, så hva forventer du? 045 $errors = setError(); 046 if($errors = setError()) Lenke til kommentar
Stian Jacobsen Skrevet 8. februar 2008 Forfatter Del Skrevet 8. februar 2008 function quoteSmart( $msg, $quote = '\'', $dbLink = NULL ) { if ( !is_numeric( $msg ) ) { if ( get_magic_quotes_gpq() ) $msg = stripslashes( $msg ); if ( $dbLink ) $msg = $quote . mysql_real_escape_string( $msg, $dbLink ) . $quote; else $msg = $quote . mysql_real_escape_string( $msg ) . $quote; } return $msg; } $message = quoteSmart($message); Hva har det med denne saken å gjøre? Vel, du kaller tross alt setError() to ganger, så hva forventer du? 045 $errors = setError(); 046 if($errors = setError()) Har fjernet det forlengs, men ikke oppdatert pastebin.. Men det funket ikke det heller.. Lenke til kommentar
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å