• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Kommentarfunktion

Witschi262

Blogger
Hi.
Ich habe bei meiner Kommentar Funktion ein Problem. Warscheinlich habe ich es falsch angestellt:
PHP:
if(isset($_SESSION['login']))
{
echo '<form method="post" action="?news=';
echo $newsid;
echo '?comment"><textarea name="comment">Dein Kommentar...</textarea><br> <input type="image" src="images/general/button_ok.png"></form><br>Schreibe einen Kommentar!';
if(isset($_REQUEST['comment']))
{
$comment = $_POST['comment'];
$name = $_SESSION['login'];
mysql_query("INSERT INTO comments (id, newsid, comment, name) VALUES (NULL, '".mysql_real_escape_string($newsid)."', '".mysql_real_escape_string($comment)."', '".mysql_real_escape_string($name)."')");
echo "Du hast deinen Kommentar abgegeben";
}
}

Das Problem ist, dass ich einen Newsbeitrag mit $_GET geöffnet habe. Wenn ich jetzt mit $_REQUEST Arbeite, ist der Ganze Newsbeitrag weg. Somit wird die ID des Newsbeitrags nicht gesendet.

Also habe icheinfach gesagt, ich hänge vor das ?comment, also dem $_REQUEST noch einfach die GET Zeile an. Das Problem: In der Datenbank wird jetzt, nichtnur die ID des Newsbeitrags Gespeichert (dient zur späteren Identifizierung, zu welchem Beitrag der Kommentar abgegeben wurde) sondern auchnoch der Request Teil.

Sprich in der Datenbank steht:
16?comment
statt nur 16. Habe jetzt einfach mal die Spalte in 2 Zeichen geändert. Aber sobald ich 100 News habe, gibts probleme.

Wie löse ich das?
 
Wenn du mehre Daten an eine URL anhängst musst sie mit einem & voneinander trennen (Vor dem ersten bleibt das ? stehen)


Ändere hier:
PHP:
echo '?comment"><textarea name="comment">Dein Kommentar...</textarea><br> <input type="image" src="http://www.html.de/images/general/button_ok.png"></form><br>Schreibe einen Kommentar!';
Das ? zu einem &

PHP:
echo '&comment"><textarea name="comment">Dein Kommentar...</textarea><br> <input type="image" src="http://www.html.de/images/general/button_ok.png"></form><br>Schreibe einen Kommentar!';

 
Oder auch gleich zu einem &amp;. Da du die Ausgabe in ein HTML-Dokument schreibst und in HTML das &-Zeichen dazu dient, Character-Entities einzuleiten, musst du es selbst über seine Character-Entity hinzufügen, da ein Client sonst annimmt, du würdest eine Entity &comment; darstellen wollen.
 

Neueste Beiträge

Zurück
Oben