Thomas. Skrevet 4. mai 2008 Del Skrevet 4. mai 2008 (endret) Hei. Jeg har et problem med at php ikke vil skrives ut fra databasen. Slik henter jeg ut: $s = "SELECT * FROM tuts WHERE id = '$d' AND kategori = 'PHP'"; $c = mysql_query($s); while($row = mysql_fetch_array($c)) { Og, her er der sjølve teksten kommer: <?php echo nl2br($row['STekst']); ?> Så har jeg lagt til noen str_replace();: (uten mellomrom: [ code]) $row['STekst'] = str_replace( "[ code]", "<code>", $row['STekst'] ); $row['STekst'] = str_replace( "[/code]", "</code>", $row['STekst'] ); - Altså, problemet mitt er at php koden jeg skriver inn å sender. Den kommer inn i databasen. Men når jeg skal prøve å hente det utigjen, kommer det ingenting opp. Så jeg lurer på: hvorfor ? - $row['STekst'] inneholder vanlig tekst, og kode. Akkurat som dette forumet. * Når jeg printer ut, kommer den "vanlige teksten" fram. Men php koden jeg skriver innefor: [ code] og [/code] kommer ikke opp. mvh php_user Endret 4. mai 2008 av php_user Lenke til kommentar
Lokaltog Skrevet 4. mai 2008 Del Skrevet 4. mai 2008 Har du noen kolonne som heter "STekst" i tabellen din? Har du sjekket hva spørringen din returnerer? Lenke til kommentar
Thomas. Skrevet 4. mai 2008 Forfatter Del Skrevet 4. mai 2008 Har du noen kolonne som heter "STekst" i tabellen din? - Ja. Har du sjekket hva spørringen din returnerer? - Hva vil det si? Hva som skjer ? Lenke til kommentar
Lokaltog Skrevet 4. mai 2008 Del Skrevet 4. mai 2008 Nei. Det vil si om du har prøvd å kjøre spørringen din i f.eks. phpMyAdmin eller en annen applikasjon og sjekket om spørringen din faktisk returnerer noe overhodet. Lenke til kommentar
Thomas. Skrevet 4. mai 2008 Forfatter Del Skrevet 4. mai 2008 (endret) - Jeg vet ikke hvordan man gjør det - Noen som kan forklare ? Endret 4. mai 2008 av php_user Lenke til kommentar
Jonas Skrevet 4. mai 2008 Del Skrevet 4. mai 2008 Last ned MySQL Query Browser og prøv å finn ut litt på egenhånd! Lenke til kommentar
Thomas. Skrevet 4. mai 2008 Forfatter Del Skrevet 4. mai 2008 Jeg fant ut av det selv Satte dette over str_replace: $row['STekst'] = nl2br(htmlspecialchars($row['STekst'])); Men nå fungerer ikke øæå Er det pga. htmlspecialchars ? Lenke til kommentar
Jonas Skrevet 4. mai 2008 Del Skrevet 4. mai 2008 (endret) Hva vil det si at det ikke fungerer? Edit: Det finnes ca. 100 måter å tulle til characterset. Dersom problemet oppstod etter du la til siste kode, er det åpenbart noe feil med den. Har du prøvd å se på tredje parameter til htmlspecialchars()? Endret 4. mai 2008 av Jonas Lenke til kommentar
Lokaltog Skrevet 4. mai 2008 Del Skrevet 4. mai 2008 Du må være verdens dårligste til å forklare et problem. Du gir ingen andre opplysninger enn at det ikke fungerer, og at feilen er et sted i X antall linjer kode. Det er helt håpløst å hjelpe deg, og istedenfor å prøve å lese deg til litt mer kunnskap innen PHP slik at du kan isolere problemet (og kanskje finne ut av det selv!) så spør du for hver minste lille kneik - som f.eks. da du glemte echo. Problemene dine er helt på nybegynnernivå, og jeg er 100% sikker på at du fint kunne løst dem selv ved å LESE! Det er slik alle andre her har lært seg PHP, og det er helt meningsløst å forsøple PHP-forumet med disse trådene. Beklager, men det måtte ut. Lenke til kommentar
Thomas. Skrevet 4. mai 2008 Forfatter Del Skrevet 4. mai 2008 Hva vil det si at det ikke fungerer? Edit: Det finnes ca. 100 måter å tulle til characterset. Dersom problemet oppstod etter du la til siste kode, er det åpenbart noe feil med den. Har du prøvd å se på tredje parameter til htmlspecialchars()? åæ.ø Jeg la til mysql_query("SET NAMES 'utf8'"); under spørringene, så nå fungerer det det ene stedet. Men det er et sted fortsatt der bokstavene er "vrengt" sellom jeg har satt: mysql_query("SET NAMES 'utf8'"); Lenke til kommentar
Lokaltog Skrevet 4. mai 2008 Del Skrevet 4. mai 2008 (endret) You just don't get it, do you? HVOR har du lagt til den spørringen? HVILKE linjer er det som funker? Sender du scriptet ditt med UTF-8-charset? Har du lagret filen din med riktig charset? Har du riktig charset på kolonnene i tabellen din? Har du i det hele tatt PRØVD å flytte spørringen andre steder, prøvd andre løsninger eller søkt på Google for å finne en løsning på problemet ditt? *sukk* For å illustrere hva jeg mener: BRA TRÅD: Hei! Jeg har et problem med et script jeg har laget. Scriptet skal hente ut tekst fra en tabell i MySQL. Når jeg prøver å printe ut teksten blir æ, ø og å vist rart ("åæ.ø"). Slik jeg har forstått det, dreier dette seg om en konflikt mellom forskjellige charsets. Jeg har søkt på Google, men finner ingen løsning for akkurat mitt problem. Filen min er lagret som "ISO-8859-1", men i databasen er kolonnene lagret som "UTF-8". Hvordan kan jeg kode teksten min slik at den vises riktig i scriptet mitt? Merk linje 32 og 56-60 i scriptet (det er der jeg kjører spørringen for å hente ut dataene fra MySQL, og printer dem ut). Her er utdrag fra scriptet mitt: [...] DÅRLIG TRÅD: Hei! Jeg har et script, og æøå funker ikke. Jeg aner ikke hvor feilen oppstår, men her har du et par linjer fra scriptet mitt: [...]. Jeg har også prøvd å legge inn [insert random ting], men det funka ikke. Hjelp! Endret 4. mai 2008 av Lokaltog Lenke til kommentar
Thomas. Skrevet 4. mai 2008 Forfatter Del Skrevet 4. mai 2008 Du må være verdens dårligste til å forklare et problem. Du gir ingen andre opplysninger enn at det ikke fungerer, og at feilen er et sted i X antall linjer kode. Det er helt håpløst å hjelpe deg, og istedenfor å prøve å lese deg til litt mer kunnskap innen PHP slik at du kan isolere problemet (og kanskje finne ut av det selv!) så spør du for hver minste lille kneik - som f.eks. da du glemte echo. Problemene dine er helt på nybegynnernivå, og jeg er 100% sikker på at du fint kunne løst dem selv ved å LESE! Det er slik alle andre her har lært seg PHP, og det er helt meningsløst å forsøple PHP-forumet med disse trådene. Beklager, men det måtte ut. - Greit det, jeg er dårlig til å forklare. Jeg liker ikke å lese heller. Du er nok dårlig til noen ting du også. You just don't get it, do you? HVOR har du lagt til den spørringen? HVILKE linjer er det som funker? Sender du scriptet ditt med UTF-8-charset? Har du lagret filen din med riktig charset? Har du riktig charset på kolonnene i tabellen din? Har du i det hele tatt PRØVD å flytte spørringen andre steder, prøvd andre løsninger eller søkt på Google for å finne en løsning på problemet ditt? *sukk* Her er det satt inn: if(isset($_POST['tsubmit'])) { mysql_query("SET NAMES 'utf8'"); ___________________________________________________ mysql_query("SET NAMES 'utf8'"); mysql_query("INSERT INTO tuts (id, kategori, tittel, LTekst, STekst, dato, ip) VALUES ('0', '$kat', '$tittel', '$sammendrag', '$tutorial', '$dato', '$ip')"); mysql_query("SET NAMES 'utf8'"); echo '<span class="ok">Din tutorial er lagt til!</span>'; ___________________________________________________ $s = "SELECT * FROM tuts WHERE id = '$d' AND kategori = 'PHP'"; mysql_query("SET NAMES 'utf8'"); $c = mysql_query($s); while($row = mysql_fetch_array($c)) { ___________________________________________________ mysql_query("SET NAMES 'utf8'"); $row['STekst'] = nl2br(htmlspecialchars($row['STekst'])); ___________________________________________________ $a = "SELECT * FROM tuts WHERE kategori = 'PHP' ORDER BY dato DESC" or die ("Kunne ikke hente ut data!"); mysql_query("SET NAMES 'utf8'"); $aR = mysql_query($a); while($row = mysql_fetch_array($aR)) { mysql_query("SET NAMES 'utf8'"); $id = $row[id]; ?> <p> <a href="<?php echo $id; ?>/"><?php echo $row[tittel]; ?></a><br> <?php echo $row[LTekst]; ?><br> <br> <?php echo $row[dato]; ?><br> <br> </p> <?php } }// Slutt while ?> - Ja, jeg sender scriptet med utf-8 charset. - Lagre filer med charset ? Hvordan gjør du det i dreamweaver ? Lenke til kommentar
Lokaltog Skrevet 4. mai 2008 Del Skrevet 4. mai 2008 - Greit det, jeg er dårlig til å forklare. Jeg liker ikke å lese heller. Du er nok dårlig til noen ting du også. Det som plager meg er at du søker hjelp fra andre programmerere med nettopp den holdningen. Du har en overlegen, og umoden oppførsel i alle trådene dine, men likevel tar du det for gitt at folk løper til deg for å gi deg hjelp. Hvor er det du setter charsettet til dokumentet ditt? Bruker du header()? Lenke til kommentar
Dryper Skrevet 7. mai 2008 Del Skrevet 7. mai 2008 Du burde nå klare å tenke deg til at du kan åpne denne dreaweaver filen din i notepad også -.- Åpne den der og skift der.. Trodde det var vanskelig å få slike feil som disse, men det er vel mest sansynlig at det er fila som er feil filformat. Om ikke UTF 8 funker så prøver du noen av de andre -.- 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å