ilch Forum » Allgemein » HTML, PHP, SQL,... » Gästebuch zu Bannliste Umschreiben Hilfe

Geschlossen
  1. #1
    User Pic
    Kingderek Mitglied
    Registriert seit
    23.12.2008
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Hi an alle..Hab da ein Problem, wollte das Ilch Gästebuch zu einer Bannliste Umschreiben.
    Das Problem ich kenne mich nicht so mit PHP und SQL aus und mein Englisch ist miserabel..habe die Installation vorlage von Ilch verwendet um die SQL Datenbank anzulegen, das hat aber glaub net so richtig gefunzt. Die Datenbank wurde zwar angelegt aber es kommt immer eine Fehlermeldung wenn ich die Bannlist auf der HP aufrufe.

    MySQL Error:
    1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0,20' at line 1
    in Query:
    SELECT * FROM ic2_bannlist 0,20

    Debug backtrace:
    @ mysql.php:32 -- debug_bt()
    @ mysql.php:50 -- db_check_error(...)
    @ bannlist.php:124 -- db_query(...)
    @ index.php:24 -- require_once(...)


    Fatal error: Call to undefined function: db_error() in /home/www/include/contents/bannlist.php on line 124

    Hier mal die PHP.

    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: Bannliste';
    $hmenu = 'Bannliste';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    # time sperre in sekunden
    $timeSperre = $allgAr['Gsperre'];
    
    /*
    
      bannlist
    
    	id , name , banname , map , ip , time , txt
    
    */
    
    switch($menu->get(1)) {
    case 1 :
    
    	$tpl = new tpl ( 'bannlist.htm' );
    	$ar = array (
        'uname' => $_SESSION['authname'],
        'SMILIES' => getsmilies(),
    		'ANTISPAM' => get_antispam ('gbook', 1),
        'TXTL' => $allgAr['Gtxtl']
      );
    	$tpl->set_ar_out($ar,3);
    
      if (!isset($_SESSION['klicktime_gbook'])) { $_SESSION['klicktime_gbook'] = 0; }
    
    break;
    case 2 :
    
      $dppk_time = time();
    
      if (($_SESSION['klicktime_gbook'] + $timeSperre) < $dppk_time
      AND isset($_POST['name'])
      AND isset($_POST['txt'])
      AND trim($_POST['name']) != ""
      AND trim($_POST['txt']) != ""
      AND chk_antispam ('gbook' )
      AND strlen ($_POST['txt']) <= $allgAr['Gtxtl'] ) {
    
        $txt = escape($_POST['txt'], 'textarea');
    	  $name = escape($_POST['name'], 'string');
    	  $banname = escape($_POST['banname'], 'string');
    	  $map = escape($_POST['map'], 'string');
    
      	db_query("INSERT INTO prefix_bannlist (`name`,`banname`,`map`,`time`,`ip`,`txt`) VALUES ('".$name."', '".$banname."', '".$map."', '".time()."', '".getip()."', '".$txt."')");
    
    
        $_SESSION['klicktime_gbook'] = $dppk_time;
        wd('index.php?bannlist',$lang['insertsuccessful']);
    	} else {
    	  echo '- '.$lang['donotpostsofast'];
    	  echo '<br />- '.sprintf($lang['gbooktexttolong'], $allgAr['Gtxtl']);
    	  echo '<br />- '.$lang['plsfilloutallfields'];
    	}
      break;
    case 'show' :
      if ($allgAr['gbook_koms_for_inserts'] == 1) {
        $id = escape($menu->get(2), 'integer');
        if (chk_antispam('gbookkom') AND isset($_POST['name']) AND isset($_POST['text'])) {
          $name = escape($_POST['name'], 'string');
          $text = escape($_POST['text'], 'string');
          db_query("INSERT INTO prefix_koms (name,text,uid,cat) VALUES ('".$name."', '".$text."', ".$id.", 'GBOOK')");
        }
        if ($menu->getA(3) == 'd' AND is_numeric($menu->getE(3)) AND has_right(-7, 'gbook')) {
          $did = escape($menu->getE(3), 'integer');
          db_query("DELETE FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK' AND id = ".$did);
        }
    
    
        $r  = db_fetch_assoc(db_query("SELECT time, name, banname, map, txt as text, id FROM prefix_gbook WHERE id = ".$id));
        $r['datum'] = date('d.m.Y', $r['time']);
        if ($r['page'] != '') {
          $r['page'] = get_homepage($r['page']);
          $r['page'] = ' &nbsp; <a href="'.$r['page'].'" target="_blank"><img src="include/images/icons/page.gif" border="0" alt="Homepage '.$lang['from'].' '.$r['name'].'"></a>';
    		}
    		if ($r['mail'] != '') {
    	    $r['mail'] = ' &nbsp; <a href="mailto:'.escape_email_to_show($r['mail']).'"><img src="include/images/icons/mail.gif" border="0" alt="E-Mail '.$lang['from'].' '.$r['name'].'"></a>';
    		}
    
        $tpl = new tpl ( 'bannlist.htm' );
    		$r['ANTISPAM'] = get_antispam('gbookkom', 0);
        $r['uname'] = $_SESSION['authname'];
        $r['text'] = bbcode($r['text']);
        $tpl->set_ar_out($r, 4);
        $i = 1;
        $erg = db_query("SELECT id, name, text FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK' 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, 'gbook')) { $r1['text'] .= '<a href="index.php?bannlist-show-'.$id.'-d'.$r1['id'].'"><img src="include/images/icons/del.gif" alt="'.$lang['delete'].'" border="0" title="'.$lang['delete'].'" /></a>'; }
          $tpl->set_ar_out($r1, 5);
          $i++;
        }
        $tpl->out(6);
      }
      break;
    default :
    
      $limit = $allgAr['gbook_posts_per_site'];  // Limit
      $page = ( $menu->getA(1) == 'p' ? escape($menu->getE(1), 'integer') : 1 );
      $MPL = db_make_sites ($page , "" , $limit , "?gbook" , 'gbook' );
      $anfang = ($page - 1) * $limit;
    
    	$tpl = new tpl ( 'bannlist.htm' );
    
      $ei1 = @db_query("SELECT COUNT(ID) FROM prefix_bannlist");
      $ein    = @db_result($ei1,0);
    
    	$ar = array ('EINTRAGE' => $ein );
    	$tpl->set_ar_out($ar,0);
    
    	$erg = db_query("SELECT * FROM prefix_bannlist ".$anfang.",".$limit) or die (db_error());
    	while ($row = db_fetch_object($erg)) {
    
        $page = '';
        $mail = '';
    		if ($row->page) {
          $row->page = get_homepage($row->page);
          $page = ' &nbsp; <a href="'.$row->page.'" target="_blank"><img src="include/images/icons/page.gif" border="0" alt="Homepage '.$lang['from'].' '.$row->name.'"></a>';
    		}
    		if ($row->mail) {
    	    $mail = ' &nbsp; <a href="mailto:'.escape_email_to_show($row->mail).'"><img src="include/images/icons/mail.gif" border="0" alt="E-Mail '.$lang['from'].' '.$row->name.'"></a>';
    		}
        $koms = '';
        if ($allgAr['gbook_koms_for_inserts'] == 1) {
          $koms = db_result(db_query("SELECT COUNT(*) FROM prefix_koms WHERE uid = ".$row->id." AND cat = 'GBOOK'"),0,0);
          $koms = '<a href="index.php?bannlist-show-'.$row->id.'">'.$koms.' '.$lang['comments'].'</a>';
        }
    
    		$ar = array ( 'NAME' => $row->name,
    		                'DATE' => date("d.m.Y",$row->time),
                        'koms' => $koms,
    										'banname' => $banname,
    										'ID'   => $row->id,
    										'map' => $map,
    										'TEXT' => BBCode($row->txt)
    		  );
    
    			$tpl->set_ar_out($ar,1);
    	}
    	$tpl->set_out('SITELINK', $MPL, 2 );
    break;
    }
    
    //-----------------------------------------------------------|
    
    $design->footer();
    
    ?>


    Hier die HTM

     <table width="100%">
    	  <tr>
    		  <td width="50%" align="right">
    			  {EINTRAGE} {_lang_entries}
    			</td>
    		  <td width="50%" align="center">
    			  <a href="index.php?bannlist-1">{_lang_insert}</a>
    			</td>
    		</tr>
    	 </table>
    	
    	<br>
    {EXPLODE}
    
    <table width="100%" cellpadding="4" cellspacing="0" border="0" class="rand">
    	<tr class="Cmite">
    	    <td width="40%"><b>{NAME}</b></td>
    			<td width="20%">{banname}{map}</td>
          <td width="30%" align="right">{DATE}</td>
     	</tr>
    	<tr class="Cnorm">
    		  <td colspan="3">{TEXT}</td>
    	</tr>
    </table>
    {koms}
    <br />
    <br />
    {EXPLODE}
    
    
    <br />
    <br />
    
    <div align="center">{SITELINK}</div>
    
    {EXPLODE}
    
    <!-- G &auml; S T E B U C H   E N T E R   F O R M U L A R -->
    
    
    <script language="JavaScript" type="text/javascript">
    <!--
      
    	var ErlaubteAnzahl={TXTL};
    	
    	
    	function checkg ( ) {
    	  if ( document.form.txt.value.length > ErlaubteAnzahl ) {
    		  alert('Du hast mehr als ' + ErlaubteAnzahl + ' Zeichen verwendet');
    			return false;
    		} else {
    		  var fehler = '';
    			if ( document.form.txt.value.length == 0 ) {
    			  fehler += 'Bitte einen Text eingeben';
    			}
    			if ( document.form.name.value.length == 0 ) {
    			  if ( fehler != '' ) {
    				  fehler += "\n";
    				}
    				fehler += 'Bitte einen Namen eingeben';
    			}
    			if ( fehler != '' ) {
    			  alert ( fehler );
    				return false;
    			} else {
    			  return true;
    			}
    		}
    	}
    
    function RestlicheZeichenErmitteln(d)
    {
    	Laenge=document.form.txt.value.length;
    	if(Laenge>ErlaubteAnzahl)
    	{
    		document.form.txt.value=document.form.txt.value.substring(0,ErlaubteAnzahl);
    		RestlicheZeichen=0;
    	}
    	else
    	{
    		RestlicheZeichen=ErlaubteAnzahl-Laenge;
    	}
    	document.form.Laenge.value=RestlicheZeichen;
    }
    
    //-->
    </script>
    
    <script type="text/javascript" src="include/includes/js/bbcode.js"></script>
    <form action="index.php?bannlist-2" onsubmit="return checkg()" method="POST" name="form">
    
    <table width="100%" class="border" cellspacing="1" border="0" cellpadding="5">
      <tr>
        <td class="Chead" colspan="2"><b>{_lang_insert}</b></td>
    	</tr><tr>
        <td class="Cmite" width="100"><b>{_lang_name}</b></td>
    		<td class="Cnorm"><input type="text" value="{uname}" tabindex="1" name="name"></td>
    	</tr><tr>
        <td class="Cmite"><b>{_lang_banname}</b></td>
    		<td class="Cnorm"><input type="text" name="banname" tabindex="2"></td>
    	</tr><tr>
        <td class="Cmite"><b>{_lang_map}</b></td>
    		<td class="Cnorm"><input type="text" name="map" tabindex="3"></td>
    	</tr><tr>
      <td class="Cmite" valign="top"><b>{_lang_komm}</b><br><br>{SMILIES}</td>
    	<td class="Cnorm">
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td width="100%">
          <!-- BB Code START -->{__BBCodeButtons__}<!-- BB Code START -->
    				</td>
          </tr><tr class="Cnorm">
            <td width="100%"><textarea style="width: 98%" onblur="RestlicheZeichenErmitteln(this);" onchange="RestlicheZeichenErmitteln(this);" onfocus="RestlicheZeichenErmitteln(this);" onkeydown="RestlicheZeichenErmitteln(this);" onkeyup="RestlicheZeichenErmitteln(this);" cols="50" rows="10" tabindex="4" name="txt"></textarea><br />Noch <input size="3" name="Laenge" value="{TXTL}"> {_lang_signs}</td>
          </tr>
        </table></td>
    	</tr>{ANTISPAM}<tr class="Cdark">
      <td></td><td><input type="submit" value="{_lang_formsub}" tabindex="5" accesskey="s"></td>
    	</tr></table></form>
    
    {EXPLODE}
    <table width="100%" cellpadding="4" cellspacing="0" border="0" class="rand">
    	<tr class="Cmite">
    	    <td width="40%"><b>{name}</b></td>
    			<td width="20%">{banname}{map}</td>
          <td width="30%" align="right">{datum}</td>
     	</tr>
    	<tr class="Cnorm">
    		  <td colspan="3">{text}</td>
    	</tr>
    </table>
    <br />
    <table width="100%" cellpadding="4" cellspacing="0" border="0" class="rand">
    	<tr class="Cnorm">
        <td>
    	    <form action="index.php?bannlist-show-{id}" method="POST">
            <fieldset>
              <legend>{_lang_writecomment}</legend>
              <input type="text" name="name" value="{uname}" /> &nbsp; {ANTISPAM} &nbsp; <input type="submit" 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>


    und die install.sql

    CREATE TABLE `prefix_bannlist` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `tid` smallint(6) NOT NULL default '0',
      `name` varchar(100) NOT NULL default '',
      `banname` varchar(100) NOT NULL default '',
      `map` varchar(100) NULL default '',
      `komm` varchar(100) NOT NULL default '',
      PRIMARY KEY  (`id`)
    )TYPE=MyISAM;


    Ich komm irgendwie nicht weiter ich Hoffe es kann mir jemand Helfen..MFG..Kingderek

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Frostball Mitglied
    Registriert seit
    07.09.2008
    Beiträge
    229
    Beitragswertungen
    0 Beitragspunkte
    kann dir zwar nicht wirklich helfen, da ich selber keine ahnung, bzw nur sehr wenig, von PHP und SQL habe, doch glaube ich wäre es sinnvoll mal kurz und knackig zu erklären wie deine banlist nachher aussehn soll.
    weil wie soll man was ändern, wenn man nich genau weiß was geändert werden soll.^^ (das wäre jedenfalls meine erste frage wenn ich dir helfen wollte/könnte)
    externer Link | stark editiertes Jetixblue Design
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Kingderek Mitglied
    Registriert seit
    23.12.2008
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Das is ne gute idee...lol..
    Sie soll wie das Gästebuch funktionieren, Member die jemanden gebannt haben sollen dort den bann eintragen. Name vom Member, Name des Gebannten, Map, Sollen als Eingabefeld angezeigt werden und unten wo das Textfeld ist für den Gästebuch eitrag soll dan der Banngrund eingetragen werden. Das hab ich ja soweit hinbekommen, das was nicht funzt ist das die sql datenbank wahrscheinlich falsch ist oder das ich irgendwas in der php falsch gemacht habe und das der eintrag dann nicht eingetragen wird.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    annemarie gelöschter User
    mir fällt da ganz spontan nur ein wort zu ein, Scriptpfuscher weiß auch welches zwinker
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Kingderek Mitglied
    Registriert seit
    23.12.2008
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von annemarie

    mir fällt da ganz spontan nur ein wort zu ein, Scriptpfuscher weiß auch welches zwinker


    Oh Sorry..kann ja nicht jeder ein Profi Progamierer sein..naja..
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    DjGeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    Scriptpfuscher ist ein User von hier zwinker

    würde das aber trotzdem nicht mit dem Gästebuch lösen ^^
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Frostball Mitglied
    Registriert seit
    07.09.2008
    Beiträge
    229
    Beitragswertungen
    0 Beitragspunkte
    hm..., also am einfachsten wäre es doch, ein Topic im forum zu erstellen, das du dann im menü verlinkst, auf das nur die leute zugriff haben die bannen dürfen. und dann schreiben die das da einfach rein.
    wäre finde ich am einfachsten, so würdest du das G-Book nicht zweckentfremden xD
    externer Link | stark editiertes Jetixblue Design
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Kingderek Mitglied
    Registriert seit
    23.12.2008
    Beiträge
    32
    Beitragswertungen
    0 Beitragspunkte
    Oh Sorry..Ja im Forum haben wir es ja, das ist aber unübersichlich wegen den Signaturen Avatars usw..naja egal..


    Zuletzt modifiziert von Kingderek am 19.07.2009 - 13:53:44
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Scriptpfuscher Mitglied
    Registriert seit
    24.06.2009
    Beiträge
    44
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von annemarie

    mir fällt da ganz spontan nur ein wort zu ein, Scriptpfuscher weiß auch welches zwinker


    was? ich hab meinen namen "gehört" ?
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten