ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Shoutbox

Geschlossen
  1. #1
    User Pic
    c00p3r Mitglied
    Registriert seit
    13.12.2006
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    Momentan werden bei mir in der SB IP'S angezeigt und zwar bei allen außer bei denen die die namen "webmaster", "admin", "steffen", "lukas", "phil" haben. Außerdem kann sich niemand "webmaster", "admin", "steffen", "lukas", "phil" nennen außer sie selber. Ich hätte jetzt zusätzlich gerne das nur die eingetragenen namen die IP'S sehen!!! ist das möglich.

    Zusammenfassung:
    -> Ip werden gespeichert außer eingetragener Namen
    -> Nur die eingetragenen NAmen sehen die IP's der anderen!!!
    -> Kein "anderer" kann sich wie die eingetragenen NAmen nennen




    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
      if ( loggedin() ) {
        $shoutbox_VALUE_name = $_SESSION['authname'];
      } else {
        $shoutbox_VALUE_name = 'Nickname';
      }
      if ( !empty($_POST['shoutbox_submit']) AND chk_antispam ('shoutbox')) {
            $shoutbox_nickname = escape($_POST['shoutbox_nickname'],'string');
            $shoutbox_nickname1 = substr($shoutbox_nickname, 0, 15).($_SESSION['authright'] <= -7 ? '': ' @ '.$_SERVER['REMOTE_ADDR']);$shoutbox_textarea = escape($_POST['shoutbox_textarea'],'textarea');
            $shoutbox_textarea = preg_replace("/\[.?(url|b|i|u|img|code|quote)[^\]]*?\]/i","",$shoutbox_textarea);
            $shoutbox_textarea = strip_tags($shoutbox_textarea);
    $restricted = array("webmaster", "admin", "steffen", "lukas", "phil");
        if ( !empty($shoutbox_nickname) AND !empty($shoutbox_textarea) AND (!in_array(strtolower($shoutbox_nickname),$restricted) OR in_array(strtolower($_SESSION['authname']),$restricted) )) {
            db_query('INSERT INTO `prefix_shoutbox` VALUES ( "" , "'.$shoutbox_nickname1.'" , "'.$shoutbox_textarea.'" ) ' );
          }
      }
      echo '<form action="index.php" method="POST">';
      echo '<input type="text" size="15" name="shoutbox_nickname" value="'.$shoutbox_VALUE_name.'" onFocus="if (value == \''.$shoutbox_VALUE_name.'\') {value = \'\'}" onBlur="if (value == \'\') {value = \''.$shoutbox_VALUE_name.'\'}" maxlength="15">';
      echo '<br /><textarea style="width: 80%" cols="15" rows="2" name="shoutbox_textarea"></textarea><br />';
        echo get_antispam ('shoutbox', 0);
      echo '<input type="submit" value="'.$lang['formsub'].'" name="shoutbox_submit">';
        echo '</form><table width="90%" class="border" cellpadding="2" cellspacing="1" border="0">';
      $erg = db_query('SELECT * FROM `prefix_shoutbox` ORDER BY id DESC LIMIT 5');
        $class = 'Cnorm';
      while ($row = db_fetch_object($erg) ) {
          $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
        echo '<tr class="'.$class.'"><td><b>'.$row->nickname.':</b> '.preg_replace( '/([^\s]{10})(?=[^\s])/', "$1\n", $row->textarea).'</td></tr>';
      }
      echo '</table><a class="box" href="index.php?shoutbox">'.$lang['archiv'].'</a>';
    
    ?>



    verwendete ilchClan Version: 1.1
    mfg c00p3r
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Hey, c00p3r!

    Klar geht das, ich habs in meinem Gästebuch! Aber so wie dein Code aussieht wird das schlecht machbar sein, WEIL der Nickname der Shouter ja so aussieht
    Nickname IP
    Also ist das ein Eintrag! Ich würde eine neue Zeile in der präfix_shoutbox eintragen mit "shouterip" dann darin die IP speichern lassen und dann einfach ne Abfrage
    if ( $_SESSION['authname'] == 'Webmaster' OR $_SESSION['authname'] == 'admin') {
    $userip = $shouterip}
    else{
    $userip = '';}

    Und dann gibt du in der shoutbox halt $userip aus!

    Mit böhsen Grüßen
    BöhserDavid
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    c00p3r Mitglied
    Registriert seit
    13.12.2006
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    jo kannste mir des dann nochmal posten wie die ganze datei dann außieht und mir bite sagen wie ich des mach des da mehrere namen sind?? Ich weis ich bin php nooB!!!


    Ich muss ja dann noch eine zeile im php anlegen oder??? wie wären dann da die daten???

    Feld
    Typ
    Länge
    Kollation
    Attribute
    Null
    Extra


    Zuletzt modifiziert von c00p3r am 09.02.2007 - 13:52:14
    mfg c00p3r
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    In der DB legst du ne neue Zeile an:
    Feld: shouterip
    Typ: varchar
    Länge: 50

    SPEICHERN

    UND dann änderst du ertmal die nicknamen der Shouter, und schreibst die IP in das Feld shouterip, soweit klar?

    Für den Code brauch ich erstmal ein bißchen!
    Aber warum soll man nur die Namen nicht verwenden, warum machst du nicht gleich einen Namenschutz für alle Registrierten User rein + die Namen, die du haben willst?
    Und dann kannst ja sagen, wenn das RECHT des User kleiner als -6 ist (also mehr Rechte), dann zeig die IP?

    *EDIT: aber noch nichts in der db machen!!!


    Zuletzt modifiziert von boehserdavid am 09.02.2007 - 23:38:19
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    c00p3r Mitglied
    Registriert seit
    13.12.2006
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    ok!
    mfg c00p3r
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Moniwoll Hall Of Fame
    Registriert seit
    18.08.2006
    Beiträge
    1.573
    Beitragswertungen
    0 Beitragspunkte
    -> Kein "anderer" kann sich wie die eingetragenen NAmen nennen

    LÖSUNG: Namensschutz-Modul von Mairu
    2. Link meiner Signatur.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    @ Moniwoll: ich habe auch das Modul drauf, aber es funzt bei mir net, in dem GBook klappt, bei den News auch, aber in der Shoutbox nicht, zu mindestens bei mir net! WEIL bei der Shoutbox Nickname, eine bestimmt Länge hat, bei mir sind die Namen aber länger, das heißt, mein Name wird abgehackt!

    Wäre ne Lösung, wenn die Namen nicht länger sind als die Vorgegebene Länger der Namen in der Shoutbox!

    Jetzt die IP Speicherung:
      if ( !empty($_POST['shoutbox_submit']) AND (has_right(-1) OR chk_antispam ('shoutbox')) ) {
      	$shoutbox_shouterip = $_SERVER['REMOTE_ADDR'];
    		$shoutbox_nickname = escape($_POST['shoutbox_nickname'],'string');

    $shouterip hinzufügen!
    	    db_query('INSERT INTO `prefix_shoutbox` VALUES ( "" , "'.$shoutbox_nickname.'" , "'.$shoutbox_textarea.'", "'.$shoutbox_shouterip.'" ) ' );

    $shoutbox_shouterip ergänzen! +
    $shoutbox_nickname
    nehmen und nicht dein nickname1
      while ($row = db_fetch_object($erg) ) { 
    	  $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    	  if ( $_SESSION['authright'] <= '-7'){
    	  $shouterips = $row->shouterip;}
    	  else{$shouterips = '';}
        echo '<tr class="'.$class.'"><td><b>'.$row->nickname.':</b> '.$shouterips.' <br />'.preg_replace( '/([^s]{18})(?=[^s])/', "$1n", $row->textarea).'</td></tr>';

    if ( $_SESSION['authright'] Abfrage ergänzen
    '.$shouterips.' ergänzen, ABER mit LEERZEICHEN, weil sonst das Design gesprengt wird!

    Jetzt wird die IP in dem Neuen Feld SHOUTERIP in der DB gespeichert, und nur für das USERRECHT -7,-8,-9 ausgegeben!

    Jetzt kannste die Zelle in der DB anlegen und meinen Post befolgen!
    Und dann die Shoutbox.php ergänzen und uploaden!
    Als Tipp, mach erstmal die Shoutbox aus deinem Design raus, damit das keine Fehler gibt!

    *EDIT:
    $shoutbox_nickname1 = substr($shoutbox_nickname, 0, 15).($_SESSION['authright'] <= -7 ? '': ' @ '.$_SERVER['REMOTE_ADDR']);

    ÄNDDERN IN
    $shoutbox_nickname = substr($shoutbox_nickname, 0, 15);



    Zuletzt modifiziert von boehserdavid am 10.02.2007 - 14:54:23
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Moniwoll Hall Of Fame
    Registriert seit
    18.08.2006
    Beiträge
    1.573
    Beitragswertungen
    0 Beitragspunkte
    bei mir funtzt es einwandfrei.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Ja, es funzt ja auch, aber nur bei Namen, DIE NICHT LÄNGER ALS 15 Ziechen haben, meine Nicks auf der Page gehen bis 30, also wird das net funzen, aber dafür kann man ja den Wert ändern, außerdem hab ich das etwas umgeschrieben, und ne FehlerMeldung eingebaut, damit die Leute wissen warum net eingetragen!
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Moniwoll Hall Of Fame
    Registriert seit
    18.08.2006
    Beiträge
    1.573
    Beitragswertungen
    0 Beitragspunkte
    aso^^, na denn ist klar
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Außerdem hab ich das gerade mal mit 30 getestet und was soll ich sagen, es können sich leute unter meinem Namen eintragen, ich bleib dann doch bei meiner Methode, die funzt wenigstens bei mir!


    *EDIT: Hab jetzt wieder mein Script, Fehlermeldung kommt dann in der ShoutBox, kannste ja mal jetzt testen!!!! LOL


    Zuletzt modifiziert von boehserdavid am 10.02.2007 - 15:18:14
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Moniwoll Hall Of Fame
    Registriert seit
    18.08.2006
    Beiträge
    1.573
    Beitragswertungen
    0 Beitragspunkte
    jo das hab ich ebend gemerkt^^.
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    c00p3r Mitglied
    Registriert seit
    13.12.2006
    Beiträge
    123
    Beitragswertungen
    0 Beitragspunkte
    jo ok ich schau mal ob ichs hinbekomm!!
    mfg c00p3r
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten