Tha_Zaynt Skrevet 26. august 2004 Del Skrevet 26. august 2004 Bruker str_replace for å bytte ut spesielle tegn med smileys. Det går fint på noen sider, men funker ikke på andre. Har en mistanke om at det skyldes måten koden er escapet på. $SmileyDir = "smileys"; $nyhet = str_replace(":x","<img src=\"$SmileyDir/dead.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":(","<img src=\"$SmileyDir/frown.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":h","<img src=\"$SmileyDir/cool.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":i","<img src=\"$SmileyDir/idea.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":)","<img src=\"$SmileyDir/smile.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(";)","<img src=\"$SmileyDir/wink.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":l","<img src=\"$SmileyDir/hrmpf.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":o","<img src=\"$SmileyDir/redface.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":00","<img src=\"$SmileyDir/look.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":p","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":P","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":q","<img src=\"$SmileyDir/quest.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":r","<img src=\"$SmileyDir/shame.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":D","<img src=\"$SmileyDir/biggrin.gif\" alt=\"\">",$nyhet); $nyhet = str_replace(":e","<img src=\"$SmileyDir/supergrin.gif\" alt=\"\">",$nyhet); Lenke til kommentar
Ueland Skrevet 27. august 2004 Del Skrevet 27. august 2004 Prøv evnt med \"./$SmileyDir/ Lenke til kommentar
Tha_Zaynt Skrevet 27. august 2004 Forfatter Del Skrevet 27. august 2004 Nope, funka ikke det heller Lenke til kommentar
joffar Skrevet 27. august 2004 Del Skrevet 27. august 2004 prøv med $SmileyDir = "../smileys"; Lenke til kommentar
Tha_Zaynt Skrevet 28. august 2004 Forfatter Del Skrevet 28. august 2004 Nope, funka ikke det heller...Mappa med smileys ligger i samme mappe som php-filen, bare så det er sagt. Kanskje det blir enklere i gi forslag hvis dere ser hele koden i sin helhet? vis.php <link rel="stylesheet" type="text/css" href="style.css"> <? class Paging { var $x; var $display = 10; //antall poster per side var $XX = '<br>Ingen resultater funnet<br>'; var $counter, $number, $pages, $i, $query2,$query, $result2, $result, $num_record; function DoPaging($startrow, $prevrow, $nextrow) { $global_db = mysql_connect('localhost', '****', '*******'); mysql_select_db('news', $global_db); $this->Query = "SELECT * FROM nyhet"; $this->result = mysql_query($this->Query); $this->num_record = mysql_num_rows($this->result); if (empty($startrow)) { $startrow=0; } $this->Query2 = "SELECT * FROM nyhet ORDER BY dato DESC LIMIT $startrow, $this->display"; $this->result2 = mysql_query($this->Query2); $this->counter = 0; $this->number = mysql_num_rows($this->result2); $this->i = 0; $teller = 0; if ($this->number == 0) : print("<br><center><P><b>Det er mest sannsynlig ingen poster registrert i denne kategorien.</b></p></center>"); elseif ($this->number > 0) : while ($this->i < $this->number): //****************************************************** //her må du endre verdiene //****************************************************** //variabel feltnavn i tabellen $tittel = mysql_result($this->result2,$this->i,"tittel"); $navn = mysql_result($this->result2,$this->i,"navn"); $nyhet = mysql_result($this->result2,$this->i,"nyhet"); $dato = mysql_result($this->result2,$this->i,"dato"); $id = mysql_result($this->result2,$this->i,"id"); $nyhet= str_replace("X(","<img src=\"$SmileyDir/angry.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":f","<img src=\"$SmileyDir/flirt.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":x","<img src=\"$SmileyDir/dead.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":(","<img src=\"$SmileyDir/frown.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":h","<img src=\"$SmileyDir/cool.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":i","<img src=\"$SmileyDir/idea.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":)","<img src=\"$SmileyDir/smile.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(";)","<img src=\"$SmileyDir/wink.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":l","<img src=\"$SmileyDir/hrmpf.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":o","<img src=\"$SmileyDir/redface.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":00","<img src=\"$SmileyDir/look.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":p","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":P","<img src=\"$SmileyDir/tounge.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":q","<img src=\"$SmileyDir/quest.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":r","<img src=\"$SmileyDir/shame.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":D","<img src=\"$SmileyDir/biggrin.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":e","<img src=\"$SmileyDir/supergrin.gif\" alt=\"\">",$nyhet); echo " <table class='tdtop' width='50%' cellpadding='2' border='1'> <tr> <td class='tekst' align='left'>$tittel</td> </tr> </table> <table class='tdmid' cellpadding='2' width='50%' border='1'> <tr> <td>$nyhet</td> </tr> </table> <table class='tdbottom' cellpadding='2' width='50%' border='1'> <tr> <td class='tekst2' align='left'>skrevet $dato av $navn </td> <td align='right' class='tekst2'> [ <a href=\"slettinnhold.php?id=$id\">Slett</a> | <a href=\"rediger.php?id=$id\">Rediger</a> ]</td> </tr> </table> <p>"; //****************************************************** //Slutt endre. Resten bør være intakt. Har du ingen ID, så fjerner du denne fra print-statementet nedenfor. //****************************************************** $this->i++; endwhile; endif; if ($startrow != 0) { $prevrow = $startrow - $this->display; print("<a href=\"$PHP_SELF?startrow=$prevrow&ID=$ID\">Forrige</a>\n"); } $this->pages = intval($this->num_record / $this->display); if ($this->num_record % $this->display) { $this->pages++; } if ($this->pages > 1) { for ($i=1; $i <= $this->pages; $i++) { $nextrow = $this->display * ($i - 1); if(!$this->number == 0) { print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">$i</a>\n "); } } } if (!(($startrow / $this->display) == $this->pages - 1) && $this->pages != 1) { if(!$this->number == 0) { $nextrow = $startrow + $this->display; print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">Neste</a>\n"); } } if ($this->num_record < 1) { print("$this->XX"); } } } $p_obj =& new Paging; $p_obj->DoPaging($_GET['startrow'],$_GET['prevrow'],$_GET['nextrow']); ?> $SmileyDir = "smileys"; Lenke til kommentar
magh Skrevet 28. august 2004 Del Skrevet 28. august 2004 Hvor er det $SmileyDir blir satt? Såvidt jeg kan se, blir den ikke global'et i klassen, ei heller satt innad i klassen. Lenke til kommentar
Tha_Zaynt Skrevet 28. august 2004 Forfatter Del Skrevet 28. august 2004 Der var feil ja. $smileyDir er satt i config.php, og den har jegg seff glemt å inkludere. hehe Lenke til kommentar
Tha_Zaynt Skrevet 29. august 2004 Forfatter Del Skrevet 29. august 2004 Hm..funker faktisk ikke nå heller, selv om jeg har includa config.php der $SmileyDir er satt. Koden ser nå slik ut: vis.php <link rel="stylesheet" type="text/css" href="style.css"> <? include ("config.php"); class Paging { var $x; var $display = 10; //antall poster per side var $XX = '<br>Ingen resultater funnet<br>'; var $counter, $number, $pages, $i, $query2,$query, $result2, $result, $num_record; function DoPaging($startrow, $prevrow, $nextrow) { $global_db = mysql_connect('localhost', '****', ******'); mysql_select_db('news', $global_db); $this->Query = "SELECT * FROM nyhet"; $this->result = mysql_query($this->Query); $this->num_record = mysql_num_rows($this->result); if (empty($startrow)) { $startrow=0; } $this->Query2 = "SELECT * FROM nyhet ORDER BY dato DESC LIMIT $startrow, $this->display"; $this->result2 = mysql_query($this->Query2); $this->counter = 0; $this->number = mysql_num_rows($this->result2); $this->i = 0; $teller = 0; if ($this->number == 0) : print("<br><center><P><b>Det er mest sannsynlig ingen poster registrert i denne kategorien.</b></p></center>"); elseif ($this->number > 0) : while ($this->i < $this->number): //****************************************************** //her må du endre verdiene //****************************************************** //variabel feltnavn i tabellen $tittel = mysql_result($this->result2,$this->i,"tittel"); $navn = mysql_result($this->result2,$this->i,"navn"); $nyhet = mysql_result($this->result2,$this->i,"nyhet"); $dato = mysql_result($this->result2,$this->i,"dato"); $id = mysql_result($this->result2,$this->i,"id"); $nyhet= str_replace("X(","<img src=\"./$SmileyDir/angry.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":f","<img src=\"./$SmileyDir/flirt.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":x","<img src=\"./$SmileyDir/dead.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":(","<img src=\"./$SmileyDir/frown.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":h","<img src=\"./$SmileyDir/cool.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":i","<img src=\"./$SmileyDir/idea.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":)","<img src=\"./$SmileyDir//smile.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(";)","<img src=\"./$SmileyDir/wink.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":l","<img src=\"./$SmileyDir/hrmpf.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":o","<img src=\"./$SmileyDir/redface.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":00","<img src=\"./$SmileyDir/look.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":p","<img src=\"./$SmileyDir/tounge.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":P","<img src=\"./$SmileyDir/tounge.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":q","<img src=\"./$SmileyDir/quest.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":r","<img src=\"./$SmileyDir/shame.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":D","<img src=\"./$SmileyDir/biggrin.gif\" alt=\"\">",$nyhet); $nyhet= str_replace(":e","<img src=\"./$SmileyDir/supergrin.gif\" alt=\"\">",$nyhet); echo " <table class='tdtop' width='50%' cellpadding='2' border='1'> <tr> <td class='tekst' align='left'>$tittel</td> </tr> </table> <table class='tdmid' cellpadding='2' width='50%' border='1'> <tr> <td>$nyhet</td> </tr> </table> <table class='tdbottom' cellpadding='2' width='50%' border='1'> <tr> <td class='tekst2' align='left'>skrevet $dato av $navn </td> <td align='right' class='tekst2'> [ <a href=\"slettinnhold.php?id=$id\">Slett</a> | <a href=\"rediger.php?id=$id\">Rediger</a> ]</td> </tr> </table> <p>"; //****************************************************** //Slutt endre. Resten bør være intakt. Har du ingen ID, så fjerner du denne fra print-statementet nedenfor. //****************************************************** $this->i++; endwhile; endif; if ($startrow != 0) { $prevrow = $startrow - $this->display; print("<a href=\"$PHP_SELF?startrow=$prevrow&ID=$ID\">Forrige</a>\n"); } $this->pages = intval($this->num_record / $this->display); if ($this->num_record % $this->display) { $this->pages++; } if ($this->pages > 1) { for ($i=1; $i <= $this->pages; $i++) { $nextrow = $this->display * ($i - 1); if(!$this->number == 0) { print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">$i</a>\n "); } } } if (!(($startrow / $this->display) == $this->pages - 1) && $this->pages != 1) { if(!$this->number == 0) { $nextrow = $startrow + $this->display; print("<a href=\"$PHP_SELF?startrow=$nextrow&ID=$ID\">Neste</a>\n"); } } if ($this->num_record < 1) { print("$this->XX"); } } } $p_obj =& new Paging; $p_obj->DoPaging($_GET['startrow'],$_GET['prevrow'],$_GET['nextrow']); ?> Lenke til kommentar
eXZire Skrevet 29. august 2004 Del Skrevet 29. august 2004 (endret) Hvordan skal klassen Paging få tak i $SmileyDir? Ikke har du brukt global, og ikke peker $SmileyDir til en annen klasse med config-variablen i heller... Det jeg hadde gjort: Putta config-tingene i en klasse i config.php, også på klassen Paging skriver du "extends Config" (Hvor "Config" er "config-klassen" =) ).. da kan du bruke $this->SmileyDir , og da burde det funke (Da må du riktig nok forandre $SmileyDir = "blablabla" til $this->SmileyDir = "blablabla" i config-klassen da.. men det skjønte du vel ) (Altså, classe-statement blir da: class Paging extends Config { Skjønner? =) ) Edit: Hvorfor har du egentlig en separat str_replace for hver smiley? Hvorfor bruker du ikke bare arrays i EN str_replace? =) Endret 29. august 2004 av eXZire Lenke til kommentar
Tha_Zaynt Skrevet 29. august 2004 Forfatter Del Skrevet 29. august 2004 Hm..jeg har ikke så mye erfaring med klasser, men $smileydir trenger ikke ligge i config'en altså...det burde ver gjøre det hele litt enklere? Lenke til kommentar
eXZire Skrevet 29. august 2004 Del Skrevet 29. august 2004 Vel, ja, seff =) Legg den i func'en DoPaging du, så er du sikker Lenke til kommentar
Tha_Zaynt Skrevet 29. august 2004 Forfatter Del Skrevet 29. august 2004 Hvis det ikke er til alt for my bry, kunne du ha skrevet det inn i koden? Hvordan skriver jeg en array som gjør at jeg slipper å bruke str_replace for hver smiley forresten? Lenke til kommentar
Tha_Zaynt Skrevet 30. august 2004 Forfatter Del Skrevet 30. august 2004 (endret) anybody? Endret 30. august 2004 av Tha_Zaynt 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å