PDA

Bekijk Volledige Versie : nieuwsscript



Anja O.
18/05/03, 21:05
Hallo allemaal,
Ik heb een script dat me ideaal lijkt voor op m'n site. Het voegt met
toevoegen.php nieuws toe aan een mysql database. Met laatste5.php is het
mogelijk de laatste 5 berichten op de website te laten zien, de laatste
bovenaan. Bij archief.php komen alle berichten te staan. Dat werkt allemaal
prima, volgens mij.
Alleen het toonbericht.php (het laatste bestandje, onderaan) krijg ik niet
aan de gang (blanko scherm, geen melding), en ik kan maar niet ontdekken wat
er fout aan is.
Kan iemand me helpen?

-------------------toevoegen.php----------------------------------------
<?php
if ($submit){
include("../inc_connect.php");

// Maak query om gegevens in tabel te stoppen
$query = "INSERT INTO nieuws (titel, bericht) VALUES
('$titel','$bericht')";

// Voer query uit
mysql_query($query) or die ("query mislukt");

}else{
?>
<FORM ACTION="toevoegen.php" METHOD="post">
<INPUT TYPE="hidden" NAME="submit" VALUE="toevoegen">
Voer een <B>titel</B> in:
<BR><INPUT TYPE="text" NAME="titel" SIZE=30 MAXLENGTH=120>
<P>Voer het <B>bericht</B> in:
<BR><TEXTAREA NAME="bericht" COLS=30 ROWS=4></TEXTAREA>
<P><INPUT TYPE="submit" VALUE="Voeg bericht toe">
</FORM>

<?php
// Einde if-else statement
}
?>

------------------------laatste5.php----------------------------------------
---
<?php
include("../inc_connect.php");

// Selecteer alle id's en titels van de tabel
$query = "SELECT id, titel FROM nieuws ORDER BY id DESC LIMIT 0, 5";
// Voer query uit
$resultaat = mysql_query($query) or die ("query mislukt");

// Maak OO van $resultaat

while ($obj = mysql_fetch_object($resultaat)){
// Echo titel met link naar toonbericht.php
echo "<A HREF=\"toonbericht.php?id=$obj->id\">$obj->titel</A><BR>";

}
?>

----------------------------------archief.php-----------------------------
<?php
include("../inc_connect.php");

// Selecteer alle id's en titels van de tabel
$query = "SELECT id, titel FROM nieuws";

// Voer query uit
$resultaat = mysql_query($query) or die ("query mislukt");

// Maak OO van $resultaat
while ($obj = mysql_fetch_object($resultaat)){
// Echo titel met link naar toonbericht.php
echo "<A HREF=\"toonbericht.php?id=$obj->id\">$obj->titel</A><BR>";

}
?>

----------------------------------toonbericht.php------------------------

<?php
include("../inc_connect.php");

$query = "SELECT titel, bericht FROM nieuws WHERE id = '$id'";

$resultaat = mysql_query($query) or die ("query mislukt");

while($obj = mysql_fetch_object($resultaat)){
// Echo titel en bericht

echo "<H4>$obj->titel</H4><P>$obj->bericht";
}
?>

Marcus
19/05/03, 09:05
Anja O. wrote:
> Hallo allemaal,
> Ik heb een script dat me ideaal lijkt voor op m'n site. Het voegt met
> toevoegen.php nieuws toe aan een mysql database. Met laatste5.php is
> het mogelijk de laatste 5 berichten op de website te laten zien, de
> laatste bovenaan. Bij archief.php komen alle berichten te staan. Dat
> werkt allemaal prima, volgens mij.
> Alleen het toonbericht.php (het laatste bestandje, onderaan) krijg ik
> niet aan de gang (blanko scherm, geen melding), en ik kan maar niet
> ontdekken wat er fout aan is.
> Kan iemand me helpen?
>
> $query = "SELECT titel, bericht FROM nieuws WHERE id = '$id'";

Is id een string of een integer? Ik gok het tweede, en dan moet je de
enkele quotes ff weghalen.

Mark

PS. je hebt magicquotes wel aanstaan toch?
PPS. check of id in de laatste regel wel voldoet aan m/[0..9]+/ anders
kunnen mensen random queries op je database loslaten en dat zou wel eens
ongewenst kunnen zijn als er elders in die database bijvoorbeeld ook nog
passwords of zo staan.