Tha_Zaynt Skrevet 26. august 2004 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);
Tha_Zaynt Skrevet 28. august 2004 Forfatter 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";
magh Skrevet 28. august 2004 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.
Tha_Zaynt Skrevet 28. august 2004 Forfatter Skrevet 28. august 2004 Der var feil ja. $smileyDir er satt i config.php, og den har jegg seff glemt å inkludere. hehe
Tha_Zaynt Skrevet 29. august 2004 Forfatter 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']); ?>
eXZire Skrevet 29. august 2004 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
Tha_Zaynt Skrevet 29. august 2004 Forfatter 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?
eXZire Skrevet 29. august 2004 Skrevet 29. august 2004 Vel, ja, seff =) Legg den i func'en DoPaging du, så er du sikker
Tha_Zaynt Skrevet 29. august 2004 Forfatter 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?
Tha_Zaynt Skrevet 30. august 2004 Forfatter Skrevet 30. august 2004 (endret) anybody? Endret 30. august 2004 av Tha_Zaynt
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å