Gå til innhold

PHP koder vil ikke skrives ut.


Anbefalte innlegg

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 :grin:

Endret av php_user
Lenke til kommentar
Videoannonse
Annonse

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 av Jonas
Lenke til kommentar

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
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

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 av Lokaltog
Lenke til kommentar
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
- 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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...