Avatar billede web-geek Nybegynder
21. september 2004 - 15:15 Der er 18 kommentarer og
2 løsninger

Simpel php fejl, hjælp!

Hvorfor vl den ikke dette:

if ($row["tekst"] == 'hej bot' OR $row["tekst"] == 'test' OR $row["tekst"] == '/jeg' )
$row["brugernavn"] = "System";
$before = array("hej bot","Hej bot", "klokken","Admins","/jeg");

$after  = array("Hej ".$_SESSION["brugernavn"],"Hej ".$_SESSION["brugernavn"], "$klokken","Webgeek er admin","<font color=gray>$row["tekst"]</font>");
Avatar billede muddi Praktikant
21. september 2004 - 15:17 #1
Hvad er det den ikke vil? Hvad skal den, og hvilken fejl giver det?
Avatar billede web-geek Nybegynder
21. september 2004 - 15:18 #2
Den viser intet.
Avatar billede muddi Praktikant
21. september 2004 - 15:22 #3
Der er ikke noget output i den kode du har skrevet her... hvis du vil have PHP til at skrive til browseren må du bruge print, echo eller <<<
Avatar billede muddi Praktikant
21. september 2004 - 15:24 #4
Prøv denne her kode. Jeg ved ikke om jeg har sat klammerne rigtigt om din if-sætning.


if (($row['tekst'] == 'hej bot') OR ($row['tekst'] == 'test') OR ($row['tekst'] == '/jeg'))
{
    $row['brugernavn'] = "System";
}
$before = array("hej bot","Hej bot", "klokken","Admins","/jeg");

$after  = array("Hej ".$_SESSION["brugernavn"],"Hej ".$_SESSION["brugernavn"], "$klokken","Webgeek er admin","<font color=gray>{$row['tekst']}</font>");
Avatar billede muddi Praktikant
21. september 2004 - 15:24 #5
ps. det er vidst denne her linie der er vigtig:

$after  = array("Hej ".$_SESSION["brugernavn"],"Hej ".$_SESSION["brugernavn"], "$klokken","Webgeek er admin","<font color=gray>{$row['tekst']}</font>");

Kan også skrives

$after  = array("Hej ".$_SESSION["brugernavn"],"Hej ".$_SESSION["brugernavn"], "$klokken","Webgeek er admin","<font color=gray>".$row['tekst']."</font>");
Avatar billede web-geek Nybegynder
21. september 2004 - 15:43 #6
Virker ikke.
Avatar billede muddi Praktikant
21. september 2004 - 15:48 #7
hvad har du prøvet? jeg tror problemet er at der skal være {} omkring $row['tekst'] i den sidste linie.
Avatar billede web-geek Nybegynder
21. september 2004 - 15:52 #8
har også prøvet.
Avatar billede web-geek Nybegynder
21. september 2004 - 15:54 #9
Den udskriver intet.
Avatar billede web-geek Nybegynder
21. september 2004 - 15:54 #10
Hele koden:


<?php
$txt = "";
include("db.php");
$query = mysql_query("SELECT * FROM chattekst ORDER BY id DESC LIMIT 10");
while($row = mysql_fetch_array($query)) {

if (($row['tekst'] == 'hej bot') OR ($row['tekst'] == 'test') OR ($row['tekst'] == '/jeg'))
{
    $row['brugernavn'] = "System";
}
$before = array("hej bot","Hej bot", "klokken","Admins","/jeg");

$after  = array("Hej ".$_SESSION["brugernavn"],"Hej ".$_SESSION["brugernavn"], "$klokken","Webgeek er admin","<font color=gray>{$row['tekst']}</font>");

  $txt .= " <font size=1 face=Verdana color=black><b>$row['brugernavn']</b>: ".htmlentities($row['tekst'])." <br>"; ?>
Avatar billede muddi Praktikant
21. september 2004 - 16:00 #11
Prøv lige det her for at se om du får en fejl fra databasen


<?php
$txt = "";
include("db.php");
$query = mysql_query("SELECT * FROM chattekst ORDER BY id DESC LIMIT 10") or die("Fejl: " . mysql_errno() . " " . mysql_error());
while($row = mysql_fetch_array($query)) {

if (($row['tekst'] == 'hej bot') OR ($row['tekst'] == 'test') OR ($row['tekst'] == '/jeg'))
{
    $row['brugernavn'] = "System";
}
$before = array("hej bot","Hej bot", "klokken","Admins","/jeg");

$after  = array("Hej ".$_SESSION["brugernavn"],"Hej ".$_SESSION["brugernavn"], "$klokken","Webgeek er admin","<font color=gray>".$row['tekst']."</font>");

$txt .= " <font size=1 face=Verdana color=black><b>$row['brugernavn']</b>: ".htmlentities($row['tekst'])." <br>";
?>
Avatar billede web-geek Nybegynder
21. september 2004 - 16:05 #12
mysql_errno() ??
Avatar billede web-geek Nybegynder
21. september 2004 - 16:08 #13
Virker desværre ikke, den gider ikke det med /jeg..
Altså hvis i ikke forstår mig, så skal man kunne skrive /jeg "noget tekst her"
også bliver teksten udskriver uden /jeg med gråt.
Avatar billede muddi Praktikant
21. september 2004 - 16:40 #14
mysql_errno() udskriver fejlnummeret returneret fra databasen...
Avatar billede web-geek Nybegynder
21. september 2004 - 16:59 #15
Det virker ikke, hvad gør vi? :-s
Avatar billede muddi Praktikant
21. september 2004 - 19:18 #16
Er du sikker på at teksten i feltet "tekst" er FULDSTÆNDIG identisk med den du sammenligned med i din if-sætning? Der må ikke være nogen efterfølgende mellemrum eller anden tekst!
Avatar billede web-geek Nybegynder
21. september 2004 - 19:49 #17
Næsten pinligt..

manglede jo
$row["tekst"] = str_replace($before, $after, $row["tekst"]);

hehe, nu virker det, men da jeg har sat: ".htmlentities($row['tekst'])." på, så vil den ikke vise, hvad gør jeg så?
Avatar billede web-geek Nybegynder
22. september 2004 - 07:44 #18
Øv bøv?
Avatar billede web-geek Nybegynder
22. september 2004 - 18:02 #19
argh!
Avatar billede muddi Praktikant
23. september 2004 - 12:28 #20
takker for point... :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester