Hjælp til nyhedsblog

Tags:    php

Jeg har har haft problemer med at følge guiden om nyhedsblog her på siden. Jeg får fejlen:
<b>Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /web/www/frac/users/avl/nyheder/nyheder.php on line 24</b>

Min kode er således (nyhedssiden):

<?
// Vis alle nyheder
// Husk at der skal være en databaseforbindelse her
mysql_connect ("localhost","avl","kopi_til_udvikleren");
mysql_select_db ("avl");
$getnews = mysql_query("select id, emne, forfatter, dato, nyhed from nyheder order by dato desc");
if(mysql_num_rows($getnews) > 0);

while($r = mysql_fetch_array($getnews))
{
$nyhedsid = $r[id];
$emne = stripslashes($r[emne]);
$forfatter = $r[forfatter];
$dato = $r[dato];
$nyhed = stripslashes(nl2br($r[nyhed]));
// Vi henter nu antallet af kommentarer til denne nyhed
$getcommentcount = mysql_query("select COUNT(id) from kommentarer where nyhedsid='".$nyhedsid."'");
$antalkommentarer = mysql_result($getcommentcount,0,0);

// Vi udskriver nyheden og antallet af kommentarer
echo "<b>".$emne."</b> - skrevet af ".$forfatter." d. ".$dato;
echo " (<a href="#" onclick="window.open('kommentarer.php?id=".$nyhedsid."','flyout',
'toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,
scrollbars=yes,width=400,height=600,top=25,left=25')">
".$antalkommentarer." kommentarer</a>;)";
echo "".$nyhed;
}
}
else
{
echo "Endnu ingen nyheder tilføjet.";
}
?>

Og kommentarsiden sådan:

<?
// Vis alle kommentarer for en nyhed
// Husk at der skal være en databaseforbindelse her
mysql_connect ("localhost","avl","kopi_til_daniel");
mysql_select_db ("avl");
if($_POST[id])
{
$nyhedsid = $_POST[id];
}
else
{
$nyhedsid = $_GET[id];
}

if(!$nyhedsid)
{
echo "Intet nyheds-id angivet.";
}
else
{
if($_POST[add_comment])
{
$navn = $_POST[navn];
$mail = $_POST[mail];
$kommentar = addslashes($_POST[kommentar]);
$addcomment = mysql_query("insert into kommentarer (nyhedsid, forfatternavn, forfattermail, kommentar, dato)
VALUES ('".$nyhedsid."','".$navn."','".$mail."','".$kommentar."',NOW())");
if($addcomment)
{
echo "Din kommentar er tilføjet. Mange tak.";
}
else
{
echo "Fejl: ".mysql_error();
}
}
$getcomments = mysql_query("select id, forfatternavn, forfattermail, dato,
kommentar from kommentarer where nyhedsid='".$nyhedsid."'");
if(mysql_num_rows($getcomments) > 0)
{
while($r = mysql_fetch_array($getcomments))
{
$kommentar = stripslashes($r[kommentar]);
$dato = $r[dato];
$forfatternavn = $r[forfatternavn];
$forfattermail = $r[forfattermail];

echo "<a href="mailto:".$forfattermail."">".$forfatternavn."</a> - ".$dato."";
echo $kommentar."";
}
}
else
{
echo "Ingen kommentarer tilføjet til denne nyhed endnu.";
}
?>
<hr>
<form action="<?=$_SERVER[PHP_SELF];?>" method="post">
<input type="hidden" name="id" value="<?=$nyhedsid;?>">
Dit navn:<br>
<input type="text" name="navn" class="input"><br><br>
Din e-mail adresse:<br>
<input type="text" name="mail" class="input"><br><br>
Kommentar:<br>
<textarea cols="0" rows="5" name="kommentar" class="input"></textarea><br><br>
<div align="center"><input type="submit" name="add_comment" value=" - Tilføj - " class="button">
</form>

<?
}
?>




4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Der er hvertfald noget fejl her

// Vi udskriver nyheden og antallet af kommentarer
echo "<b>".$emne."</b> - skrevet af ".$forfatter." d. ".$dato;
echo " (<a href="#" onclick="window.open(' <------ Her escaper du echo koden ved href og onclick osv. du skal istedet skriver href=\\"#\\" ...altså en \\ før ". Så skulle det virke bedre :D



-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ W++ w PS X+ tv+ b D G e- h! !r z--
------END GEEK CODE BLOCK------



Tak for det, prøver det lige.



ok, nu har jeg escapet koden.

Næste problem er:

<b>Parse error: parse error, unexpected ')' in /web/www/frac/users/avl/nyheder/nyheder.php on line 28</b>

Jeg har så prøvet at slette ')' parentesen, det gik fint indtil næste line (nr. 29 hvor jeg får en fejl meddelse der hedder:

<b>Parse error: parse error, unexpected T_ELSE in /web/www/frac/users/avl/nyheder/nyheder.php on line 29</b>

Altså når jeg løser det første problem ved at slette ")" får jeg så et nyt på linje 29.




Det er vist det samme med ( eller ) (kan ikke lige huske hvilken en) har nemlig haft samme problem da jeg skulle få ex. :-D til at blive til en smiley. Så prøv at putte en \\ ind foran.


-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ W++ w PS X+ tv+ b D G e- h! !r z--
------END GEEK CODE BLOCK------



t