ilch Forum » Ilch Clan 1.1 » Allgemein » Problem mit meinem Gästebuchmod

Geschlossen
  1. #1
    User Pic
    Treicio gelöschter User
    Hallo Leutchen :-)
    Hab mir aus Langeweile mal mein Gästebuch n bssl umgechrieben ^^

    Hab einiges geändert wie z.B. n Feld für nen Avatar hinzugefügt, eins für eine Bewertung und eine Funktion zum Freigeben von Beiträgen welche man Aktivieren oder Deaktivieren kann.

    Jetzt habe ich das Problem das ich wenn ich im Admin Bereich einen Beitrag freigeben oder Sperren möchte die Seite nach dem Absenden sehr sehr lange Zeit lädt.

    Wobei nur die beiden Funktionen so lange brauchen.

    Anmerkung: Das GB besteht aus 5 php DAtein im Adminbereich.. für Übersicht, Sperren, Freigeben und Schreiben und die gbook.php wo alles dann halt aufgerufen wird durch include über gbook-1 , -2, -3

    Für die die es gerne selbst erleben wollen.. tr3icio.de/Demo/index.php?news <-- da gibts die Daten für den User ^^

    Hier einmal mein Code von der Seite zum sperren ( fast identisch wie die zum freigeben) :
    <?php
    $design->header();
    // Gästebuchmod von hier
    $tpl = new tpl ( '../admin/templates/gbook.htm' );
    if (isset($_POST['submit2'])) {
    echo '<meta http-equiv="refresh" content="0; URL=index.php?gbook">';
    echo '
    <table width="300" border="0" cellspacing="1" cellpadding="3" align="center" class="border">
      <tr>
        <th class="Chead">Weiterleitung</th>
      </tr><tr>
        <td class="Cnorm">
    		  Sie werden automatisch weitergeleitet.
    		  <br />
    			<br />
    			
    			  Dieser Vorgang nimmt eine gewisse Zeit in Anspruch. Bitte haben sie Geduld.
    		</td>
    	</tr>
    </table>';
    };
    echo '<td width="50%" style="vertical-align:top;" class="case"><table width="100%" class="border">
      <td colspan="4" class="Chead">Gesperrte Eintraege</td>';
      
    $erg = db_query('SELECT name, mail, txt, id FROM `prefix_gbook` WHERE status = "0" ORDER BY time DESC');
    while ($r = db_fetch_assoc($erg) ) {
      $text  = substr(preg_replace("/\015\012|\015|\012/", " ", htmlentities(strip_tags(stripslashes($r['txt'])))),0,75);
      echo '<tr class="Cmite">';
      echo '<td width="20px;"><a href="admin.php?gbook=0&edit='.$r['id'].'"><img src="include/images/icons/edit.gif" /></a></td>';
      echo '<td width="20px;"><a href="javascript:delcheck('.$r['id'].')"><img src="include/images/icons/del.gif"></a></td>';
      echo '<td><b><a href="mailto:'.$r['mail'].'">'.$r['name'].'</a></b>&nbsp;<span class="smalfont">';
      echo $text.'</span></td>
      <td width="20"><form action="" method="post">
      <input type="checkbox" name="'.$r['id'].'" id="check2" />
      </td>
      </tr>';
    
    		
    	if (isset($_POST['submit2'])) {
    		while ( isset($_POST['submit2']) ) {
    			db_query("UPDATE prefix_gbook SET status = '1' WHERE id = ".$r['id']);
    		};
    		
    	};
    
    };
    
      echo '<tr>
      <td colspan="4" class="Cmite" style="text-align:center;">
      <input type="submit" name="submit2" /></form>
      </td>
      </tr>
      </table></td></tr>';
    
    // Bis hier 
    $design->footer();
    ?>


    Schonmal Danke im vorraus :-)

    MfG,
    Treicio

    betroffene Homepage: tr3icio.de/Demo/index.php?gbook


    Zuletzt modifiziert von Treicio am 03.03.2011 - 20:43:23
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    $tpl = new tpl ( '../admin/templates/gbook.htm' );

    in
    $tpl = new tpl ( 'gbook', 1);
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Sunshine Live Mitglied
    Registriert seit
    03.06.2009
    Beiträge
    1.029
    Beitragswertungen
    109 Beitragspunkte
    Schoenes gästebuch lächeln
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Treicio gelöschter User
    Wenns fertig ist ( muss nur noch das hinbekommen ) dann lade ichs auf meine seite und packs in den dl bereich ^^

    hab tpl geändert aber kein unterschied traurig
    lädt trotzdem wie verrückt.. dauert immer etwa ne minute ..
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Naja dieser Code was du hier stehen hast ist dann der falsche. Musst schon ein wenig mehr schicken.
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Treicio gelöschter User
    ein wenig? kannst du haben xD

    default.php
    <?php
    	$tpl = new tpl ( 'gbook',1 );
    	// Anfang Gästebuchmod
      $ei1 = @db_query("SELECT COUNT(ID) FROM prefix_gbook");
      $ein    = @db_result($ei1,0);
      
      $koms1 = @db_query("SELECT COUNT(ID) FROM prefix_koms");
      $koms    = @db_result($koms1,0);
      
      $durchschnitt1 = @db_query("SELECT COUNT(RATING) FROM prefix_gbook WHERE !rating='Keine Angabe'");
      $ds1    = @db_result($durchschnitt1,0);
      $durchschnitt2 = @db_query("SELECT sum(RATING) FROM prefix_gbook");
      $ds2    = @db_result($durchschnitt2,0);
      if ( $ds1 > "0" && $ds2 > "0" ) {
      $ds = $ds2 / $ds1;
      } else {
    	$ds = '-';  
      }
      	$get_gesperrt = db_query("SELECT * FROM prefix_gbook WHERE status='0'");
    	$gesperrt = db_num_rows($get_gesperrt);
    	$get_free = db_query("SELECT * FROM prefix_gbook WHERE status='1'");
    	$free = db_num_rows($get_free);
    	$get_last = db_query("SELECT * FROM prefix_gbook ORDER by id DESC");
    	$last = db_fetch_assoc($get_last);
     
     	if ( $last['status'] == 1 ) {
    	$status = '<a href="?gbook-1">Frei</a>';
    	} else {
    	$status = '<a href="?gbook-2">Gesperrt</a>';	
    	};
    
     
    	$ar = array ('EINTRAGE' => $ein, 'KOMMENTARE' => $koms, 'DURCHSCHNITT' => $ds, 'GESPERRT' => $gesperrt, 'ENTSPERRT' => $free, 'LAST' => $last['txt'], 'ID' => $last['id'], 'STATUS' => $status, 'NEWEST' => $newest );
    	$tpl->set_ar_out($ar,0);
    	echo '<br />Mod by <a href="http://tr3icio.de">Tr3icio</a>';
    ?>


    case.php
    <?php
    
    
    if (isset($_POST['sub'])) {
      $name = escape($_POST['name'], 'string');
      $mail = escape($_POST['mail'], 'string');
      $page = escape($_POST['page'], 'string');
      $text = escape($_POST['text'], 'string');
      $gavatar = escape($_POST['avatar'], 'string');
      $rating = escape($_POST['rating'], 'string');
      if (empty($_POST['gid'])) {
        db_query("INSERT INTO prefix_gbook (name, mail, page, txt, time, avatar, rating, status) VALUES ('".$name."','".$mail."','".$page."','".$text."', '".time()."', '".$gavatar."', '".$rating."', '1')");
      } else {
        $gid  = escape($_POST['gid'], 'integer');
        db_query("UPDATE prefix_gbook SET name = '".$name."', mail = '".$mail."', page = '".$page."', txt = '".$text."' WHERE id = ".$gid);
      }
    }
    
    
    $r = array ('name'=>'','mail'=>'','page'=>'','text'=>'','id'=>'');
    if (isset($_GET['edit'])) {
      $id = escape($_GET['edit'], 'integer');
      $r = db_fetch_assoc(db_query("SELECT id, name, mail, page, txt as text FROM prefix_gbook WHERE id = ".$id));
    }
    
    $tpl = new tpl ('gbook', 1);
    $tpl->set_ar_out($r,1);
    ?>


    case1.php
    <?php
    $design->header();
    // Ab hier Gästebuchmod
    $tpl = new tpl ( 'gbook', 1);
    
    if ( !empty ($_GET['del']) ) {
      $id = escape($_GET['del'], 'integer');
      db_query("DELETE FROM `prefix_gbook` WHERE id = ".$id." LIMIT 1");
      db_query("DELETE FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK'");
    
    }
    
    if (isset($_POST['submit1'])) {
    echo '<meta http-equiv="refresh" content="0; URL=index.php?gbook">';
    echo '
    <table width="300" border="0" cellspacing="1" cellpadding="3" align="center" class="border">
      <tr>
        <th class="Chead">Weiterleitung</th>
      </tr><tr>
        <td class="Cnorm">
    		  Sie werden automatisch weitergeleitet.
    		  <br />
    			<br />
    			
    			  Dieser Vorgang nimmt eine gewisse Zeit in Anspruch. Bitte haben sie Geduld.
    		</td>
    	</tr>
    </table>';
    };
      echo '<tr><td width="50%" style="vertical-align:top;" class="case"><table width="100%" class="border">
      <td colspan="4" class="Chead">Freigegebene Eintraege</td>
      <form method="post" action="">';
    $erg = db_query('SELECT name, mail, txt, id FROM `prefix_gbook` WHERE status = "1" ORDER BY time DESC');
    while ($r = db_fetch_assoc($erg) ) {
      $text  = substr(preg_replace("/\015\012|\015|\012/", " ", htmlentities(strip_tags(stripslashes($r['txt'])))),0,75);
      echo '<tr class="Cmite">
      <td width="20px;"><a href="admin.php?gbook=0&edit='.$r['id'].'"><img src="include/images/icons/edit.gif" /></a></td>
      <td width="20px;"><a href="?gbook-1&del='.$r['id'].'"><img src="include/images/icons/del.gif"></a></td>
      <td><b><a href="mailto:'.$r['mail'].'">'.$r['name'].'</a></b>&nbsp;<span class="smalfont">
      '.$text.' </span></td>
      <td width="20"><form action="" method="post">
      <input type="checkbox" name="'.$r['id'].'"  id="check1" />
      </td>
      </tr>';
    
    	if (isset($_POST['submit1'])) {
    		while ( isset($_POST['submit1']) ) {
    			db_query("UPDATE prefix_gbook SET status = '0' WHERE id = ".$r['id']);
    		};
    	
    	};
    
    };
    
    
      echo '<tr>
      <td colspan="4" class="Cmite" style="text-align:center;">
      <input type="submit" name="submit1" /></form>
      </td>
      </tr>
      
      </table></td>';
    
    // Bis hier
    $design->footer();
    ?>


    case2.php
    <?php
    $design->header();
    // Gästebuchmod von hier
    $tpl = new tpl ( 'gbook', 1);
    
    if ( !empty ($_GET['del']) ) {
      $id = escape($_GET['del'], 'integer');
      db_query("DELETE FROM `prefix_gbook` WHERE id = ".$id." LIMIT 1");
      db_query("DELETE FROM prefix_koms WHERE uid = ".$id." AND cat = 'GBOOK'");
    
    }
    
    if (isset($_POST['submit2'])) {
    echo '<meta http-equiv="refresh" content="0; URL=index.php?gbook">';
    echo '
    <table width="300" border="0" cellspacing="1" cellpadding="3" align="center" class="border">
      <tr>
        <th class="Chead">Weiterleitung</th>
      </tr><tr>
        <td class="Cnorm">
    		  Sie werden automatisch weitergeleitet.
    		  <br />
    			<br />
    			
    			  Dieser Vorgang nimmt eine gewisse Zeit in Anspruch. Bitte haben sie Geduld.
    		</td>
    	</tr>
    </table>';
    };
    echo '<td width="50%" style="vertical-align:top;" class="case"><table width="100%" class="border">
      <td colspan="4" class="Chead">Gesperrte Eintraege</td>';
      
    $erg = db_query('SELECT name, mail, txt, id FROM `prefix_gbook` WHERE status = "0" ORDER BY time DESC');
    while ($r = db_fetch_assoc($erg) ) {
      $text  = substr(preg_replace("/\015\012|\015|\012/", " ", htmlentities(strip_tags(stripslashes($r['txt'])))),0,75);
      echo '<tr class="Cmite">';
      echo '<td width="20px;"><a href="admin.php?gbook=0&edit='.$r['id'].'"><img src="include/images/icons/edit.gif" /></a></td>';
      echo '<td width="20px;"><a href="?gbook-2&del='.$r['id'].'"><img src="include/images/icons/del.gif"></a></td>';
      echo '<td><b><a href="mailto:'.$r['mail'].'">'.$r['name'].'</a></b>&nbsp;<span class="smalfont">';
      echo $text.'</span></td>
      <td width="20"><form action="" method="post">
      <input type="checkbox" name="'.$r['id'].'" id="check2" />
      </td>
      </tr>';
    
    		
    	if (isset($_POST['submit2'])) {
    		while ( isset($_POST['submit2']) ) {
    			db_query("UPDATE prefix_gbook SET status = '1' WHERE id = ".$r['id']);
    		};
    		
    	};
    
    };
    
      echo '<tr>
      <td colspan="4" class="Cmite" style="text-align:center;">
      <input type="submit" name="submit2" /></form>
      </td>
      </tr>
      </table></td></tr>';
    
    // Bis hier 
    $design->footer();
    ?>


    gbook.php
    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    defined ('admin') or die ( 'only admin access' );
    
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();
    
    $page = ( $menu->getA(1) == 'p' ? escape($menu->getE(1), 'integer') : 1 );
      $anfang = ($page - 1);
    switch($menu->get(1)) {
    default:
    include("gbook/default.php");
    include("gbook/case.php");
    break;
    case 1 :
    include("gbook/case1.php");
    break;
    case 2 :
    include("gbook/case2.php");
    break;
    };
    
    
    $design->footer();
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    kdl Mitglied
    Registriert seit
    21.08.2010
    Beiträge
    333
    Beitragswertungen
    62 Beitragspunkte
        if (isset($_POST['submit2'])) {
            while ( isset($_POST['submit2']) ) {
                db_query("UPDATE prefix_gbook SET status = '1' WHERE id = ".$r['id']);
            };
           
        };


    Sicher, dass die Schleife da benötigt wird? Ich glaube das nämlich nicht ^^

    Außerdem begreife ich nicht, warum du ein neues Template Objekt erstellst, obwohl du ja scheinbar gar keine Templates nutzt.
    .
    1 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Treicio gelöschter User
    Ich mag kdl :-)
    Danke !! Geht alles ^^

    Jetzt nur noch alle Sachen sichern und den kak auf meiner Seite installieren^^

    Edit: Habs auf meiner Seite und läuft alles ^^
    Auf meiner Seite finden registrierte User auch den Dl ^^


    Zuletzt modifiziert von Treicio am 04.03.2011 - 15:25:44
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten