Loading...   Upload Image

Frage zu Link-CounterForum » Tutorials » Help » Frage zu Link-Counter

Neues Thema verfassen Neues Thema

  • berliner63User ist offline
    Newbie


    berliner63

    Registriert: 21.03.2011
    Beitraege: 3

    21.03.2011 um 09:33 Uhr

    Hallo zusammen,
    nach langem Suchen bin ich hier endlich auf das gestoßen, was meinen Vorstellungen am besten entspricht. Der Link-Counter ist fast perfekt für meine Bedürfnisse. Ich wollte eine kleine Änderung vornehmen, finde aber keinen Ansatz und brauche deswegen Hilfe. Wenn ich einen neuen Link eintrage, hätte ich gern ein zusätzliches Feld \"Seitenname\". In der Datenbank habe ich dieses Feld schon angelegt und vorerst direkt über mySQL mit Daten gefüllt. Außerdem habe ich ein kleines Abfragescript erstellt, dass mir eine Übersicht ausgibt. www.kuhl-berlin.webspace24.de/counter/go.php?id=3 Nach intensivem Studium des Quelltextes der klick_counter.php bin ich noch keinen Schritt weiter. Kann mir jemand helfen?



    Ich habe keine besondere Begabung, sondern bin nur leidenschaftlich neugierig.
    Albert Einstein
  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    21.03.2011 um 22:40 Uhr

    Hallo Berliner,

    damit wir uns richtig verstehen, es handelt sich bei deiner Frage um dieses Tutorial - http://alice-grafixx.de/PHP-MYSQL-Tutorial/Klick-Counter-mit-Adminpanel-und-MySQL-85, ja?

    Nun denn fangen wir an - ICH gehe jetzt einfach mal davon aus, dass dein zusaetzliches Feld sitename heisst, ich hab's nicht so mit deutschen feldnamen -
    muesstest du dann fuer dich abaendern!!!


    In Zeile 340 der klick_count.php muesstest du dazu ein neues input feld anlegen,

    <label for="url">Sitename: </label>
    <input type="text" name="sitename" value="<?php echo $sitename; ?>" style="width: 250px" />


    In Zeile 228 steckst du folgendes:
    $sitename = mysql_real_escape_string($_POST['sitename']);


    Die Variable Eintrag in Zeile 246 aenderst du wie folgt:
    $eintrag ="INSERT INTO link_count (id, url, sitename)VALUES ('','$url','$sitename')";


    Zeile 279 ist fuers Bearbeiten eines vorhandenen DB-Eintrags zustaendig und wird wie folgt geaendert:
    $update = "UPDATE link_count SET url='$url', sitename = '$sitename' WHERE id='$id'";


    Das muessten nun alle nennenswerten Aendernungen sein, damit das zusaetzliche Feld beim Eintragen/Bearbeiten angesprochen wird...

    Liebe Gruesse
    Alice



    Der Beitrag wurde insgesamt 3 mal editiert, zuletzt 22.03.2011 um 21:37 Uhr ...
    ... { signatur } ...
  • berliner63User ist offline
    Newbie


    berliner63

    Registriert: 21.03.2011
    Beitraege: 3

    22.03.2011 um 11:48 Uhr

    Hallo Alice,
    danke für die schnelle Antwort. Ich habe die Änderungen eingefügt, \"sitename\" in \"seitenname\" geändert und das Ergebnis ist folgendes:



    Nach dem Klick auf \"Eintragen\":


    Die url war mit http:// eigegeben.

    Hier mal der komplette Code, wie er jetzt aussieht:

    <?php 
    
    session_start(); // startet die Session 
    
    //---------------------- Logindate --------------------------------- //
    $grafixx_name = \"xxxxxxxx\";				// Loginname angeben
    $grafixx_pass = \"xxxxxxxx\";				// Loginpasswort angeben
    //------------------------------------------------------------------ //
    
    ob_start();	// startet den Ausgabepuffer
    ?>
    <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
    <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"de\"> 
    
    <head>
    <title>Grafixx - News || Adminpanel</title> 
    
    <meta http-equiv=\"Content-Language\" content=\"de\" />
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
    <meta http-equiv=\"imagetoolbar\" content=\"no\" />
    
    <link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />
    
    </head>
    <body>
    
    <div id=\"ram\">
    <h1 id=\"header\">Grafixx - KlickCounter</h1>
    <br />
    <?php 
    
    if(!isset($_SESSION[\'login\'])) { 
    
    if(isset($_POST[\'admin_login\'])) {
    
    $login_name = strip_tags($_POST[\'admin_name\']);
    $login_pass = strip_tags($_POST[\'admin_pass\']);
    
        if(empty($login_name)) { 
        	$message .= \'Bitte geben Sie ihren Usernamen ein ... <br />\'; $error = \"1\";
     	} 	
     	if(empty($login_pass)) { 
        	$message .= \'Bitte geben Sie ihr Passwort ein ... <br />\'; $error = \"1\";
     	} 	
     	
     	if($login_name != $grafixx_name OR $login_pass != $grafixx_pass){
        	$message .= \'Zugriff verweigert ... <br />\'; $error = \"1\";
     	}
    	
    	if($error != \"1\"){
            
    			// session handle-----------------------------
    			$_SESSION[\'login\'] = $_SERVER[\'REMOTE_ADDR\'];
    
    			header(\"Location: klick_counter.php\");
    	}
    	
    	if($error == \"1\"){
    		echo \"<h1>Error ...</h1>\n <p>$message</p>\";
    	}
    
    }
    
    }
    // ----------------------------------------------- Ende Login ------------------------------------- //
    if(isset($_SESSION[\'login\'])){ 
    
    include(\'config.inc.php\');
    
    $tab = \"link_count\";
    
    $links_per_page = \"35\";					// Anzahl der Links die Pro Seite angezeigt werden sollen
    
    $pfad = $_SERVER[\'PHP_SELF\'];			// aktueller Pfad zur Datei
    
    // ---------------------------------------------------------------------------------------------------- //
    
    $id = strip_tags($_GET[\'id\']);
    $action = $_GET[\'action\'];
    
    if(isset($_GET[\'id\'])){
    
        $abfrage = \"SELECT id, url, klicks FROM $tab WHERE id=\'$id\'\";
        $ergebnis = mysql_query($abfrage) OR DIE (mysql_error());
    
        while ($ausgabe = mysql_fetch_array($ergebnis)){
    		extract($ausgabe);
        }
    }
    
    if($action == \'\'){
    
    	echo \"<a href=\\"$pfad?action=new\\" style=\\"padding: 3px 5px; border: 1px solid #B5B8BB;\\">
    		  Neuen Link eintragen ...</a>\n\";
    ?>
    <br /><br />
    
    <h1>&Uuml;bersicht ...</h1>
    <?php 
    		
    $q = \"SELECT id from $tab\";
    $result = mysql_query($q) or die (mysql_error());
    
    if(!$result || mysql_num_rows($result)<1) {
        	echo \"<p>Zur Zeit sind keine Links vorhanden ...</p>\n\";
    } else {
    
    $total_records = mysql_num_rows($result); 
    $pages = ceil($total_records / $links_per_page); 
    $p = \"5\";
    
    // korrigieren der aktuellen Seite
    if(empty($_GET[\'go\'])) {
        $go = 1;
    } elseif($_GET[\'go\'] <= 0 || $_GET[\'go\'] > $pages) {
        $go = 1;
    } else {
        $go = $_GET[\'go\'];
    }
    
    // Linkkette
    $links = array();
    
    if(($go - $p) < 1){          
      $prevOffset = $go - 1;      
    }else {          
      $prevOffset = $p;      
    }            
    if(($go + $p) > $pages) {          
      $nextOffset = $pages - $go;      
    }else {          
      $nextOffset = $p;      
    }          
    $off = ($go - $prevOffset);    
                    
    if ($go- $prevOffset > 1){          
        $first = 1;
        $links[] = \"<a href=\\"\".$pfad.\"?go=$first\\" title=\\"Zur ersten Seite springen\\">&laquo; Erste ...</a>\n\";      
    }      
    if($go != 1){          
        $prev = $go-1;
        $links[] = \"<a href=\\"\".$pfad.\"?go=$prev\\" title=\\"Zurueck zur letzen Seite\\"> &laquo;</a>\n\";     
    }   
           
    for($i = $off; $i <= ($go + $nextOffset); $i++){  
      if ($i != $go){              
            $links[] = \"<a href=\\"\".$pfad.\"?go=$i\\" title=\\"Seite $i anzeigen\\">$i</a>\n\";
      }elseif($i == $pages) {              
            // aktuelle Seite, braucht keinen Link
            $links[] = \"<span class=\\"current\\">[ $i ]</span>\n\";  
            }          
      elseif($i == $go){              
            // aktuelle Seite, braucht keinen Link
            $links[] = \"<span class=\\"current\\">[ $i ]</span>\n\";  
            }      
    }                
    if($go != $pages){          
        $next = $go+1;
        $links[] = \"<a href=\\"\".$pfad.\"?go=$next\\" title=\\"Weiter zur naechsten Seite\\"> &raquo; </a>\n\";
    }      
    
    if ($off+$prevOffset*2 < $pages){          
        // zur letzen Seite springen
        $last = $pages;
        $links[] = \"<a href=\\"\".$pfad.\"?go=$last\\" title=\\"Zur letzen Seite springen\\">... Letzte &raquo;</a>\n\";
    }      
     
    
    
    // Zusammenf³gen der einzelnen Links zu einem String
    $link_string = implode(\" &nbsp; \", $links);
    
    $start = ($go-1) * $links_per_page; 
    
    // --------------------------------------------------------------------------------------------------------------------- //
    
    $links_ab = \"SELECT id, url, klicks FROM $tab ORDER BY id DESC LIMIT $start,$links_per_page\";
    $ergebnis = mysql_query($links_ab, $connection) or die (mysql_error()); 
    
    ?>
    <table width=\"700\" style=\"border: 1px solid #B5B8BB;\">
    <tr>
    <th width=\"21\" align=\"center\">ID</th>
    <th>URL</th>
    <th align=\"center\">Klicks</th>
    <th align=\"center\">Option</th>
    </tr>
    <?php
    while ($links = mysql_fetch_array($ergebnis)){
    extract($links);
    
     $zeile++;  // jede 2te Zeile einfaerben
       if ($zeile % 2 == 0) {
           echo \"<tr>\";
       } else {
              echo \"<tr bgcolor=\\"#E6E9EC\\">\";
       }
    ?>
    <td width=\"21\" align=\"center\"><?php echo $id; ?></td>
    <td><?php echo $url; ?></td>
    <td width=\"56\" align=\"center\"><?php echo $klicks; ?></td>
    <td width=\"95\" align=\"center\">
    <a href=\"<?php echo $pfad; ?>?action=edit&amp;id=<?php echo $id; ?>\"> Edit </a>&nbsp;|&nbsp;
    <a href=\"<?php echo $pfad; ?>?action=delete&amp;id=<?php echo $id; ?>\"> Delete </a>
    </td>
    </tr>
    <?php 
    } // close while
    ?>
    </table>
    <br />
    <?php
     echo \"<div id=\\"navigation\\">\n\";
    
     echo \"<span class=\\"pages\\">Seite $go von $pages</span>\n\";
    
     echo $link_string; // Ausgabe der Seitennavigation
     
     echo \"</div>\n\"; 
    
     } // close urls vorhanden
     
    } // close action leer
    
    // ---------------------------------- / Config / ---//
    
    if (isset($_POST[\'submit\'])){
    $seitenname = mysql_real_escape_string($_POST[\\'seitenname\\']);
    $url = mysql_real_escape_string($_POST[\\'url\'\]);
    
    // ------------------------------- Wenn action = new --------------------------------------------------
    
    if ($action == \"new\") {  
    
    $suchen = strpos($url, \'http://\');
    
        if(empty($url)){ // wenn keine URL angegeben wurde
        	$message .= \"Bitte Danke eine URL angeben ...<br /><br />\n\";  $error = \"1\";
        }
        
        if($suchen === false ){
        	$message .= \"Die URL bitte mit http:// angeben ...<br /><br />\";  $error = \"1\";
        }
        
        if($error != \"1\"){
        
            $eintrag =\"INSERT INTO link_count (id, url, seitenname) 
            		   VALUES (\'\',\'$url\',\'$seitenname\')\";
            $okay = mysql_query($eintrag, $connection);
     
       	   if ($okay) { // wenn eingetragen
       	   
       	   $count_id = mysql_insert_id();
       	   $generate_link = \"&lt;a href=&quot;http://www.kuhl-berlin.webspace24.de/counter/go.php?id=$count_id&quot;&gt; - Linkbezeichnung/titel - &lt;/a&gt;\";
       	     echo \"<h1>Prima ...</h1> \n\";
       	     echo \"<p>Vielen Dank ...<br /><br /> \n\";
       	     echo \"Der Eintrag war erfolgreich :)<br /><br />\n\";
       	     echo \"Der Link Tag lautet:\n <br /><strong> $generate_link </strong> <br /><br />\";
       	     echo \"<a href=\\"$pfad?action=new\\">+ noch einen Link eintragen</a><br /><br />\n\";
       	     echo \"<a href=\\"$pfad\\">+ &Uuml;bersicht ...</a></p>\n\";
    	
    			
       	   }else {
       	     echo \'<p>Der Eintrag war nicht erfolgreich \' .
       	     mysql_error() . \'</p>\';
       	   }
    	}
    
    	if($error == \"1\"){
    		echo \"<h1>Error ...</h1><p>$message</p>\";
    	}
    } // close action - new
    
    // ------------------------------- Wenn action = edit ----------------------------------------------------
    if ($action == \"edit\") {  
    
        if (empty($url)){ // wenn keine URL angegeben wurde
        	echo \"Bitte Danke eine URL angeben ...\n\";
        }else {
    
          $update = \"UPDATE link_count SET url=\'$url\', \'$seitenname\' WHERE id=\'$id\'\";
          $okay = mysql_query($update, $connection);
    
          if ($okay){ // wenn update erfolgreich
            echo \"<h1>Prima ...</h1> \n\";
            echo \"<p>Das Update war erfolgreich ...<br /><br />\n\";
    	    echo \"<a href=\\"$pfad\\">+ &Uuml;bersicht ...</a></p>\n\";
            
          }else{
            echo \"<h1>Error ...</h1> \n\";
            echo \'<p>Fehler beim Aktualisieren der Details: \' .
            mysql_error() . \'</p>\';
          }
      
      }
    } // close action - edit
    // ------------------------------- Wenn action = delete --------------------------------------------------------
    
    }
    
    if ($action == \"delete\") {
      
    $mode = $_GET[\'mode\'];
       
       if(isset($_GET[\'mode\'])){
       
        $loeschen = \"DELETE FROM link_count WHERE id=\'$id\'\";
        $ergebnis = mysql_query($loeschen) or die (mysql_error());
        
            if ($ergebnis) {
                echo \"<h1>Prima ...</h1> \n\";
                echo \"<p>Die URL wurde erfolgreich geloescht ...<br /><br />\n\";
                echo \"<a href=\\"$pfad\\">+ &Uuml;bersicht ...</a></p>\n\";
            }else{
            	echo \"<h1>Error</h1>\n\";
            	echo \"<p>Der Eintrag konnte nicht geloescht werden ...\". mysql_error() .\"</p>\n\";
            }
        
        } else {
        	echo \"<h1>Wirklich ...</h1>\n\";
            echo \"<p>Ganz sicher loeschen?<br /><br />\n\";
            echo \"<a href=\\"$pad?action=delete&amp;mode=yes&id=$id\\">Ja</a>\";
            echo \"&nbsp;&nbsp;<a href=\\"$pad\\">Nein</a></p> \";
        }
        
    }// close action - delete
       
    //------------------------------------- close wenn Abschicken geklickt ------------------------------------
    
    if(($action == \"edit\" AND !$okay) OR ($action == \"new\" AND !$okay)){
    
        if(isset($_GET[\'id\'])) {
            echo \"<h1>Link editieren ...</h1>\";
        }else{
            echo \"<h1>Neuen Link eintragen ...</h1>\";
        }
    ?>
    <form action=\"\" method=\"post\">
    <fieldset style=\"width: 400px\">
    <label for=\\"url\\">Seitenname: </label>
    <input type=\\"text\\" name=\\"seitenname\\" value=\\"<?php echo $seitenname; ?>\\" style=\\"width: 250px\\" />
    <label for=\"url\">URL: </label>
    <input type=\"text\" name=\"url\" value=\"<?php echo $url; ?>\" style=\"width: 250px\" />
    
    <input type=\"submit\" value=\" Eintragen \" name=\"submit\" />
    </fieldset>
    
    </form>
    <?php } // close action 
    
    }else{ // wenn nicht eingeloggt - login anzeigen
    ?>
    <form action=\"\" method=\"post\">
    <fieldset style=\"width: 300px\">
    <label for=\"user\">Username: </label>
    <input type=\"text\" name=\"admin_name\" style=\"width: 250px\" />
    
    <label for=\"passwort\">Passwort:&nbsp; </label>
    <input type=\"password\" name=\"admin_pass\" style=\"width: 250px\" />
    <br /><br />
    <input type=\"submit\" value=\" Login \" name=\"admin_login\" />
    </fieldset>
    
    </form>
    <?php }
    ob_end_flush(); // leert/beendet den Ausgabepuffer
    ?>
    <h3>Grafixx - KlickCounter ® <a href=\"http://alice-grafixx.de\">Alice-Grafixx.de</a> <?php echo date(\'Y\'); ?></h3>
    
    </div>
    </body>
    </html>



    Ich habe keine besondere Begabung, sondern bin nur leidenschaftlich neugierig.
    Albert Einstein
  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    22.03.2011 um 21:40 Uhr

    Ahhh, mein Forum hat irgendwie wohl ne kleine Meise, da waren ein paar / zu viel des guten im Code.

    Schau dir mal meinen vorherigen Beitrag an, der Code muesste nun stimmen, probiers mal ohne die ganzen / aus, dann sollte es theoretisch funktionieren =)



    ... { signatur } ...
  • berliner63User ist offline
    Newbie


    berliner63

    Registriert: 21.03.2011
    Beitraege: 3

    23.03.2011 um 02:06 Uhr

    Hallo Alice,
    und auch diesmal vielen Dank für die schnelle Antwort. Was so ein paar / doch ausmachen können ;-) Der Eintrag funktioniert jetzt mit dem zusätzlichen Feld. Ich habe gleich noch die Zeile 254 meinen Bedürfnissen angepasst:

    $generate_link = \"&lt;a href=&quot;http://www.kuhl-berlin.webspace24.de/counter/go.php?id=$count_id&quot;&gt;$seitenname&lt;/a&gt;\";




    Das einzige, was noch nicht ganz funzt, ist der edit-Abschnitt. Beim Klick auf edit wird zwar die url ausgegeben, aber nicht der seitenname.

    // --------- Wenn action = edit -------
    if ($action == \"edit\") {  
    
        if (empty($url)){ // wenn keine URL angegeben wurde
        	echo \"Bitte Danke eine URL angeben ...\n\";
        }else {
    
          $update = \"UPDATE link_count SET url=\'$url\', seitenname=\'$seitenname\' WHERE id=\'$id\'\";
          $okay = mysql_query($update, $connection);
    
          if ($okay){ // wenn update erfolgreich
            echo \"<h1>Prima ...</h1> \n\";
            echo \"<p>Das Update war erfolgreich ...<br /><br />\n\";
    	    echo \"<a href=\\"$pfad\\">+ &Uuml;bersicht ...</a></p>\n\";
            
          }else{
            echo \"<h1>Error ...</h1> \n\";
            echo \'<p>Fehler beim Aktualisieren der Details: \' .
            mysql_error() . \'</p>\';
          }
      
      }
    } // close action - edit


    Damit kann ich aber leben.



    Liebe Grüße aus Berlin
    Andreas

    EDIT: Hab noch ein bisschen rumprobiert, sodass in der Übersicht mein zusätzliches Feld jetzt auch mit ausgegeben wird und siehe da - jetzt ist auch die Edit-Funktion komplett!

    EDIT#2: Hier mal der komplette Code, so wie er jetzt aussieht www.kuhl-berlin.webspace24.de/counter/klick_counter.txt



    Der Beitrag wurde insgesamt 2 mal editiert, zuletzt 23.03.2011 um 02:37 Uhr ...
    Ich habe keine besondere Begabung, sondern bin nur leidenschaftlich neugierig.
    Albert Einstein

  • unregistriert

    23.03.2011 um 09:36 Uhr

    xanax for sale - xanax online illegal



    Der Beitrag wurde insgesamt 119 mal editiert, zuletzt 14.02.2012 um 20:51 Uhr ...

[ 1 ] Seite 1 von 1


Affiliates:   Chibi Graphics  •   The Seduction  •   Colorful Gfx  •   Gallery Yuri  •   Design Grafixx  •   Pat DG  •   Blue-Graphics  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider