Php Kommentar Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
artikel
boxen
code
datenbank
email
handtuch
hilfe
http
index
kommentar
null
paar
problem
set
stunden
tabelle
target
text
type
url
-
Wie in Blogs schon oft gesehen, gibt es unter manchen Artikeln so "KOMMENTAR-BOXEN".
Ein Gast schreibt in die Felder etwas ein Wie z.B.:
Name: Julian E-mail: X-anonym@anonym.de Kommentar: Hallo, ich finde das........ . . Abschicken
...und das wird dann in der Mysql Datenbank gespeichert und von einem anderen Code unter dem Artikel gepackt.
Artikel der Artikel . Heute ist es wieder passiert als der Philipp T. zu.... .........blabla........ .........bla bla bla........ . . . . Kommentare: _______________________________________________________ Name: Julian . E-mail: X-anonym@anonym.de . Kommentar: Hallo, ich finde das........ _______________________________________________________ Name: Peter . E-mail: P-anonym@anonym.de . Kommentar: Hallo, ich finde Julian hat vollkommen recht mit...... _______________________________________________________
Ich möchte KEIN News-Script haben, sondern nur eine Kommentar-Box.
Gibt es da ein kleines leichtes Script in PHP das mysql benötigt?
Aber auf keinen FALL mit WERBUNG!
Beitrag zuletzt geändert: 7.8.2009 14:28:51 von julian101 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Eine Verständnissfrage: Benutzt du MySQL oder MSSQL... msql kenne ich zumindest noch nicht. Welches du benutzt ist nicht unbedeutend da a) nur wenige eine Datenbankabstraktionsklasse wie PDO nutzen b) Für Kommentare auch SQL-Abfragen anders aussehen können (Limit...)
-
Oh, da hatte ich mich verschrieben. Ich benutze MySql
-
Ist recht einfach:
Gib jedem Artikel eine eineindeutige ID (damit du später die Kommentare zuordnen kannst).
Mach dir eine Tabelle tblComments mit den Spalten id, article, author, email, date, content (oder was du sonst noch willst).
Mit dem Abschicken (submit)-Button der Seite, schickst du die Artikel-ID und das Formular an eine PHP-Seite.
Dort schreibst du alles in deine Tabelle: insert into tblComments (article, author, email etc pp.
Die Artikelseite selbst ist auch wieder php und holt sich aus der Datenbank alle Kommentare, die zu ihr gehören.
select * from tblComments where article=meine_ID
Das schreibst du dann schön formatiert unter den Artikel.
Zeitansatz mit ein bisschen Fehler machen und testen etwa 1 Stunde möcht ich tippen.
Ich hoffe ich konnt dir helfen und wünsch dir viel Spaß beim proggen. -
Kannst du mir den Quellcode der php Datei zeigen, und genau sagen was ich da in meine mysql Datenbank hinein schreiben muss?
Beitrag zuletzt geändert: 7.8.2009 18:44:41 von julian101 -
Wie wär's wenn du dich in PHP einliest, es dann erstmal selber versuchst und wenn dann noch Probleme auftreten und du detaillierte Fragen hast, bin ich mir sicher, hilft dir die Community gern.
-
Ich habe ja schon viel versucht und mich stundenlang damit befasst, aber da gibt es immer probleme.
-
Arbeite das hier durch. Das wird dir weiterhelfen. Wenn Du danach immer noch Hilfe benoetigst hast Du mindestens ein Fachverstaendnis fuer dein Problem.
http://tut.php-quake.net/de/ -
Ich habe ja schon viel versucht und mich stundenlang damit befasst, aber da gibt es immer probleme.
"Stundenlang" wird wohl auch wenig bringen um das Programmieren zu lernen. Wenn du allerdings schon nach ein paar Stunden das Handtuch wirfst. . .
Ich hab mal was zusammengebastelt, damit du dir Denkanstöße holen kannst:
(Das ganze kannst du hier live sehen: http://census.lima-city.de/comments/index.html mit FIREFOX)
index.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script src="script.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="styles.css" /> </head> <body onLoad="init()"> <div class="navbar"> <div class="navitem" onclick="loadArticle(1)"> Artikel 1 </div> <div class="navitem" onclick="loadArticle(2)"> Artikel 2 </div> <div class="navitem" onclick="loadArticle(3)"> Artikel 3 </div> </div> <div class="canvas" id="canvas"> <div class="article" id="article"> </div> <div class="comments" id="comments"> </div> </div> <iframe name="ht" class="hidden"></iframe> </body> </html>
script.js:
function loadContent (req, target, url) { req.open ("GET", url, true); req.onreadystatechange = function() { if (req.readyState == 4) document.getElementById (target).innerHTML = req.responseText; } req.send (null); } function loadArticle (id) { gid = id; req = new XMLHttpRequest (); loadContent (req, 'article', "artikel" + id + ".html"); req2 = new XMLHttpRequest (); loadContent (req2, 'comments', "comments.php?id=" + id); document.cookie = "articleid=" + id + ";"; } function init () { regex = /articleid=(.*?);/; found = regex.exec (document.cookie); if (found [1] != null) loadArticle (found [1] ); } function submit () { req3 = new XMLHttpRequest (); req3.open ("GET", "save.php?id=" + gid + "&name=" + encodeURIComponent(document.getElementById ("name").value) + "&comment=" + encodeURIComponent(document.getElementById ("comment").value) , false); req3.send (null); loadArticle (gid); }
comments.php
<hr> <?php mysql_connect ("mysql.lima-city.de", "waddaw", "adawdwad"); mysql_select_db ("db_142997_1"); mysql_query ("set character set utf8;"); $rs = mysql_query ("select * from tblComments where article=" . $_GET["id"] ); echo "<h2>" . mysql_num_rows ($rs) . " Kommentar" . (mysql_num_rows ($rs) == 1 ? "" : "e") . "</h2>"; while ($row = mysql_fetch_assoc ($rs) ) echo "<p>" . htmlspecialchars ($row ["author"] ) . " (" . htmlspecialchars ($row ["edited"] ) . "): " . htmlspecialchars ($row ["content"] ) . "</p>"; ?> <hr> <table> <tr><td>Dein Name:</td><td><input type="text" id="name"></td></tr> <tr><td>Dein Kommentar:</td><td><textarea id="comment" cols="50" rows="10"></textarea></td></tr> </table> <input type="submit" id="submit" value="Eintragen" onclick="submit()"> </form>
save.php:
<?php mysql_connect ("mysql.lima-city.de", "safsafsafd", "awdwad"); mysql_select_db ("db_142997_1"); mysql_query ("set character set utf8;"); mysql_query ("insert into tblComments (article, author, content) values ('" . $_GET ["id"] . "', '" . $_GET ["name"] . "', '" . $_GET ["comment"] . "')"); ?>
Beitrag zuletzt geändert: 8.8.2009 15:08:50 von census -
unnamednetwork schrieb:
Arbeite das hier durch. Das wird dir weiterhelfen. Wenn Du danach immer noch Hilfe benoetigst hast Du mindestens ein Fachverstaendnis fuer dein Problem.
http://tut.php-quake.net/de/
Das kenne ich schon lang und bin auch fast beim Thema Newssysytem wo das beschrieben ist, aber nur fast. Deshalb hatte ich ja auch ein paar probleme.
census schrieb:
Ich habe ja schon viel versucht und mich stundenlang damit befasst, aber da gibt es immer probleme.
"Stundenlang" wird wohl auch wenig bringen um das Programmieren zu lernen. Wenn du allerdings schon nach ein paar Stunden das Handtuch wirfst. . .
Ich hab mal was zusammengebastelt, damit du dir Denkanstöße holen kannst:
(Das ganze kannst du hier live sehen: http://census.lima-city.de/comments/index.html mit FIREFOX)
index.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script src="script.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="styles.css" /> </head> <body onLoad="init()"> <div class="navbar"> <div class="navitem" onclick="loadArticle(1)"> Artikel 1 </div> <div class="navitem" onclick="loadArticle(2)"> Artikel 2 </div> <div class="navitem" onclick="loadArticle(3)"> Artikel 3 </div> </div> <div class="canvas" id="canvas"> <div class="article" id="article"> </div> <div class="comments" id="comments"> </div> </div> <iframe name="ht" class="hidden"></iframe> </body> </html>
script.js:
function loadContent (req, target, url) { req.open ("GET", url, true); req.onreadystatechange = function() { if (req.readyState == 4) document.getElementById (target).innerHTML = req.responseText; } req.send (null); } function loadArticle (id) { gid = id; req = new XMLHttpRequest (); loadContent (req, 'article', "artikel" + id + ".html"); req2 = new XMLHttpRequest (); loadContent (req2, 'comments', "comments.php?id=" + id); document.cookie = "articleid=" + id + ";"; } function init () { regex = /articleid=(.*?);/; found = regex.exec (document.cookie); if (found [1] != null) loadArticle (found [1] ); } function submit () { req3 = new XMLHttpRequest (); req3.open ("GET", "save.php?id=" + gid + "&name=" + encodeURIComponent(document.getElementById ("name").value) + "&comment=" + encodeURIComponent(document.getElementById ("comment").value) , false); req3.send (null); loadArticle (gid); }
comments.php
<hr> <?php mysql_connect ("mysql.lima-city.de", "waddaw", "adawdwad"); mysql_select_db ("db_142997_1"); mysql_query ("set character set utf8;"); $rs = mysql_query ("select * from tblComments where article=" . $_GET["id"] ); echo "<h2>" . mysql_num_rows ($rs) . " Kommentar" . (mysql_num_rows ($rs) == 1 ? "" : "e") . "</h2>"; while ($row = mysql_fetch_assoc ($rs) ) echo "<p>" . htmlspecialchars ($row ["author"] ) . " (" . htmlspecialchars ($row ["edited"] ) . "): " . htmlspecialchars ($row ["content"] ) . "</p>"; ?> <hr> <table> <tr><td>Dein Name:</td><td><input type="text" id="name"></td></tr> <tr><td>Dein Kommentar:</td><td><textarea id="comment" cols="50" rows="10"></textarea></td></tr> </table> <input type="submit" id="submit" value="Eintragen" onclick="submit()"> </form>
save.php:
<?php mysql_connect ("mysql.lima-city.de", "safsafsafd", "awdwad"); mysql_select_db ("db_142997_1"); mysql_query ("set character set utf8;"); mysql_query ("insert into tblComments (article, author, content) values ('" . $_GET ["id"] . "', '" . $_GET ["name"] . "', '" . $_GET ["comment"] . "')"); ?>
Vielen dank dafür!!! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage