Avatar billede webmaster-patrick Nybegynder
13. juli 2005 - 22:26 Der er 18 kommentarer og
1 løsning

Fejl i nyhedssystem

Davs folkens

Jeg har lige et spørgsmål ang. opsætning af nyhedssystem fra bogen Start på PHP.

Det kan ses på http://home.no.net/paalbest/NWaN/news.php.

Spørgsmålet er hvorfor det ikke vil virke.

På forhånd tak

Nåååh jo... koderne må jeg jo ikke glemme:

----------Database----------
CREATE TABLE `nyheder` (
  `id` int(11) NOT NULL auto_increment,
  `dato` tinytext NOT NULL,
  `overskrift` tinytext NOT NULL,
  `tekst` text NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

----------nyhed.soeg.php----------
<HTML>
<body  bgcolor="#33CCFF">
<?
if($tekst_soeg){
    $db = mysql_connect("localhost", "nwan",
    "tuborg");
    mysql_select_db("nyheder", $db);
    $foresp = mysql_query("SELECT dato, overskrift,
    tekst FROM nyheder WHERE tekst LIKE
    '%$tekst_soeg%' ORDER BY dato DESC");
    echo mysql_num_rows($foresp) . " forekomst(er)
    fundet<BR><BR>";
    while($data = mysql_fetch_array($foresp)){
        echo "<B>$data[1]</B> - ";
        echo date("j/n - Y", $data[0]);
        echo "<BR>$data[2]<BR><BR>";
    }
} else {
?>
<FORM METHOD=POST ACTION=<? echo
    $PHP_SELF; ?>>
<INPUT TYPE=TEXT NAME=tekst_soeg><BR>
<INPUT TYPE=SUBMIT VALUE=Search>
</FORM>
<?
}
?>
<p>
<FONT FACE="MV Boli" SIZE="+2" COLOR="#000033">
<a href="nyhed.soeg.php?tekst_soeg=%">Press here to show all news.</a>
</font>
</BODY>
</HTML>

----------nyhed.tilfoej.php----------
<HTML>
<body  bgcolor="#33CCFF">
<?
if($kodeord == "kodeord"){
    echo "Nyheden er tilføjet";
    $db = mysql_connect("localhost", "nwan",
    "tuborg");
    mysql_select_db("nyheder", $db);
    $nyhed_dato = time();
   
    mysql_query("INSERT INTO nyheder (dato,
    overskrift, tekst) VALUES ('$nyhed_dato',
    '$nyhed_overskrift', '$nyhed_tekst')");
   
} else {
?>
<FORM METHOD=POST ACTION=<? echo
    $PHP_SELF; ?>>
Password:<BR>
<INPUT TYPE=PASSWORD NAME=kodeord><BR>
User:<BR>
<INPUT TYPE=TEXT NAME=nyhed_overskrift><BR>
Text:<BR>
<TEXTAREA NAME=nyhed_tekst></TEXTAREA><BR>
<INPUT TYPE=SUBMIT VALUE=Write>
</FORM>
<?
}
?>
</BODY>
</HTML>

----------vis.php----------
<HTML>
<body  bgcolor="#33CCFF">
<?
$db = mysql_connect("localhost", "nwan", "tuborg");
mysql_select_db("nyheder", $db);
$foresp = mysql_query("SELECT dato, overskrift,
    tekst FROM nyheder ORDER BY dato DESC
    LIMIT 0, 2");
while($data = mysql_fetch_array($foresp)){
   
    echo "<B>$data[1]</B> - ";
    echo date("j/n - Y", $data[0]);
    echo "<BR>$data[2]<BR><BR>";
}
?>
</BODY>
</HTML>
Avatar billede jakobclausen Nybegynder
13. juli 2005 - 22:29 #1
Linket dur ikke!

Kan du være lidt mere konkret, hvad er det helt præcis der ikke virker? - kommer der  f.eks. en fejlmeddelse ?
Avatar billede webmaster-patrick Nybegynder
13. juli 2005 - 22:31 #2
Jeg kan se at det ovenstående link, hvor bl.a. fejlmeddelelsen kan ses, er nede.

Det kommer nok snart på benene igen. :)
Avatar billede webmaster-patrick Nybegynder
13. juli 2005 - 22:38 #3
Kommer lige i tanke om, at jeg bruger iframe på siden, grundet der ikke er MySQL på serveren.

Derved kan man jo bare linke direkte til siderne, er jeg også lige kommet i tanke om.

Siderne og fejlmeddelelsen kan dermed ses her:
http://nwan.frac.dk/nyhed.soeg.php
http://nwan.frac.dk/nyhed.tilfoej.php
http://nwan.frac.dk/vis.php

Smart. :)
Avatar billede hmortensen Nybegynder
14. juli 2005 - 09:17 #4
"Kommer lige i tanke om, at jeg bruger iframe på siden, grundet der ikke er MySQL på serveren."
?¿?
Du laver forbindelse til localhost, men der er ikke mySQL på serveren ?

Sikker på din database hedder nyheder ?
Avatar billede jakobclausen Nybegynder
14. juli 2005 - 09:28 #5
Ja hvad har iframe og mysql lige med hinanden at gøre ??
Det er klart der er fejl, hvis den prøver at connecte til en database, men der ingen er..
Avatar billede hmortensen Nybegynder
14. juli 2005 - 09:31 #6
Prøv at smide en or die på en af dine forespørgelser:

$foresp = mysql_query("SELECT dato, overskrift,
    tekst FROM nyheder ORDER BY dato DESC
    LIMIT 0, 2") or die(mysql_error());
Avatar billede wuggawugga Nybegynder
14. juli 2005 - 09:39 #7
Jeg går ud fra at de iframes er fordi home.no.net serveren ikke har mySQL, men at nwan.frac.dk har.
Kan du ikke indsætte nogle mysql_error() kald efter hver database operation? Vi får at vide at du ikke har et gyldigt resultatsæt, men ikke hvorfor.
Eftersom ingen af dine sider virker, og dine SQL forespørgsler ikke ser vildt skumle ud, vil jeg tro at det er noget med forbindelsen til database serveren. Skriv nogle fejlbeskeder ud, så bliver det sikkert åbentlyst hvad der er galt.
Avatar billede webmaster-patrick Nybegynder
14. juli 2005 - 12:06 #8
Forklaringen er helt rigtig ang. iframe.

Men kan jeg så få den fulde kode med mysql_error() kald efter hver database operation, som du udtrykker det. Det ville være nice.

Ellers er jeg ret sikker på, at jeg kommer til at gøre et eller andet forkert.
Avatar billede hmortensen Nybegynder
14. juli 2005 - 12:08 #9
Som jeg har vist smider du blot  or die(mysql_error()) i mellem den sidste ) og ;
Så vil den returnere fejlen fra mysql serveren hvis der er en.
Avatar billede webmaster-patrick Nybegynder
14. juli 2005 - 12:13 #10
Ok da, prøver lige.
Avatar billede webmaster-patrick Nybegynder
14. juli 2005 - 12:18 #11
No Database Selected... Det var smart.
Avatar billede hmortensen Nybegynder
14. juli 2005 - 12:20 #12
Som jeg skrev tidligere: "Sikker på din database hedder nyheder ?"

Din database hos frac hedder sikkert noget i retning af dit brugernavn dertil.
Avatar billede webmaster-patrick Nybegynder
14. juli 2005 - 12:24 #13
Grunden til at jeg har skrevet nyheder:
CREATE TABLE `nyheder` (
  `id` int(11) NOT NULL auto_increment, osv.

Jeg prøver lige at eksperimentere lidt med det.
Avatar billede webmaster-patrick Nybegynder
14. juli 2005 - 12:41 #14
SÅ VIRKER DET, YAHOO.
Avatar billede webmaster-patrick Nybegynder
14. juli 2005 - 12:43 #15
Kom med et svar.
Avatar billede hmortensen Nybegynder
14. juli 2005 - 12:43 #16
CREATE TABLE `nyheder`
det er din tabel, som du vælger i din forspørgelse:
SELECT dato, overskrift,
    tekst FROM nyheder ORDER BY dato DESC
    LIMIT 0, 2
Avatar billede hmortensen Nybegynder
14. juli 2005 - 12:44 #17
Ok :)
Avatar billede webmaster-patrick Nybegynder
14. juli 2005 - 12:45 #18
Nu begynder jeg at forstå. :)
Avatar billede webmaster-patrick Nybegynder
14. juli 2005 - 12:46 #19
Godt nok mange point at bruge på det, men jeg gør det med glæde. :D
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