ilch Forum » Ilch Clan 1.1 » Allgemein » Kommentarsystem in PHP Datei einbinden?

Geschlossen
  1. #1
    User Pic
    RaiDeR Mitglied
    Registriert seit
    31.03.2009
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Hallo Leute ich habe mal eine frage und zwar,

    habe ich auf meiner Homepage eigene PHP Datein im Menü eingebunden. Also komplett neuerstellt und in include/contents/ eingebunden. Genau im Style der vorgefertigten Datein die da schon drinne sind, da funktioniert auch alles super ohne Probleme. Allerdings habe ich eine Frage dazu und zwar, wie kann ich das News Kommentarsystem in diese PHP Datein einfügen? Und zwar nicht nach dem Style den es bei "News" gibt wo man erst auf die Anzahl der Kommentare klicken muss und dann in dieses Interface gelangt wo man Name/Code/Text eingeben muss. Ich möchte in einem DIV von mir definiert, das Kommentarsystem einbinden so als hätte man schon auf die Anzahl der Kommentare geklickt, und man muss einfach nur noch den Namen/Code/Text eingeben (Eingeloggt natürlich nur dne Text). Dann auf Kommentar hinzufügen klicken, und schon wird der Kommentar hinzugefügt (Natürlich soll der neuste kommentar als erstes angezeigt werden! ;))Wie kann ich das realisieren? Hätte einer vielleicht schon den "fertigen" Code das ich ihn dann nur noch in meine php Datei implementieren muss? Wäre nett wenn ihr mir helfen könntet.

    Gruß
    Raider.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    <?php
    
    $modname = $menu->get(0);
    $id = 1;
    
    if (chk_antispam($modname.'_kom') AND isset($_POST['subkom'])) {
        $name = escape($_POST['name'], 'string');
        $text = escape($_POST['text'], 'string');
        db_query("INSERT INTO prefix_koms (name,text,uid,cat) VALUES ('".$name."', '".$text."', ".$id.", '{$modname}')");
    }
    if ($menu->getA(1) == 'd' AND is_numeric($menu->getE(1)) AND has_right(-7)) {
        $did = escape($menu->getE(1), 'integer');
        db_query("DELETE FROM prefix_koms WHERE uid = ".$id." AND cat = '{$modname}' AND id = ".$did);
    }
    
    $template = '<table width="100%" cellpadding="4" cellspacing="0" border="0" class="rand">
            <tr class="Cnorm">
            <td>
            <form action="index.php?{modname}" method="post">
            <fieldset>
            <legend>{_lang_writecomment}</legend>
            <input type="text" name="name" value="{uname}" /> &nbsp; {ANTISPAM} &nbsp; <input type="submit" name="subkom" value="{_lang_enter}"><br />
            <textarea style="width: 98%" cols="50" rows="2" name="text"></textarea><br />
            </fieldset>
            </form>
            <br />
            {EXPLODE}
    
            <span class="Cmite"># <b>{zahl}</b> von {name}</span>
            <br />{text}<br /><br />
    
            {EXPLODE}
            </td>
            </tr>
            </table>';
    
    $ktpl = new tpl ( $template, 3 );
    $r = array();
    $r['ANTISPAM'] = get_antispam($modname.'_kom', 0);
    $r['uname'] = $_SESSION['authname'];
    $r['modname'] = $modname;
    $ktpl->set_ar_out($r, 0);
    
    $i = 1;
    $erg = db_query("SELECT id, name, text FROM prefix_koms WHERE uid = ".$id." AND cat = '{$modname}' ORDER BY id DESC");
    $anz = db_num_rows($erg)+1;
    while ($r1 = db_fetch_assoc($erg)) {
        $r1['zahl'] = $anz - $i;
        $r1['text'] = bbcode($r1['text']);
        if (has_right(-7)) { $r1['text'] .= '<a href="index.php?'.$modname.'-d'.$r1['id'].'"><img src="include/images/icons/del.gif" alt="'.$lang['delete'].'" border="0" title="'.$lang['delete'].'" /></a>'; }
        $ktpl->set_ar_out($r1, 1);
        $i++;
    }
    $ktpl->out(2);
    
    ?>


    Damit sollte es gehen.


    Zuletzt modifiziert von Mairu am 01.04.2009 - 08:52:25
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    RaiDeR Mitglied
    Registriert seit
    31.03.2009
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Hey,

    leider bekomme ich nur folgende Error Meldung wenn ich den Code einfüge.

    ZitatZitat
    Warning: file(<table width="100%" cellpadding="4" cellspacing="0" border="0" class="rand"> <tr class="Cnorm"> <td> <form action="index.php?{modname}" method="post"> <fieldset> <legend>{_lang_writecomment}</legend> <input type="text" name="name" value="{uname}" /> &nbsp; {ANTISPAM} &nbsp; <input type="submit" name="subkom" value="{_lang_enter}"><br /> <textarea style="width: 98%" cols="50" rows="2" name="text"></textarea><br /> </fieldset> </form> <br /> {EXPLODE} <span class="Cmite"># <b>{zahl}</b> von {name}</span> <br />{text}<br /><br /> {EXPLODE} </td> </tr> </table>.htm) [function.file]: failed to open stream: No such file or directory in /users/raider/www/include/includes/class/tpl.php on line 50

    Warning: implode() [function.implode]: Invalid arguments passed in /users/raider/www/include/includes/class/tpl.php on line 50

    Fatal error: Call to a member function set_out() on a non-object in /users/raider/www/include/contents/ContinuedStory.php on line 162


    Gruß
    Raider.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ok hab mal die Fehler entfernt, die so drin bleiben, wenn man etwas nicht testet zunge
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    RaiDeR Mitglied
    Registriert seit
    31.03.2009
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Ich habe mir "DISQUS" zugelegt und in meine Homepage implemetiert, das ist viel cooler als das ilich Kommentarsystem! zunge
    Trotzdem danke für die Hilfe. Vielleicht mal eine spätere hilfere die, die das selbe wollten wie ich.

    Gruß.


    Zuletzt modifiziert von RaiDeR am 01.04.2009 - 22:16:02
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten