Loading...   Upload Image

DownloadCounter ohne MySQLTutorials » PHP/MySQL Tutorials » DownloadCounter ohne MySQL

Verfasst von Alice am 11.10.2008 - wurde schon 8827 mal gelesen

Kategorie: PHP/MySQL
Bewertung:
18x bewertet
Schwierigkeit: einfach
Kommentare: [ 52 ]

Tag - Schlagwort Counter Tag - Schlagwort PHP Tag - Schlagwort Count Tag - Schlagwort Script Tag - Schlagwort Flatfiles

DownloadCounter ohne MySQL - Tutorial

Es wurde ein Tutorial fuer einen Klickcounter/DownloadCounter ohne MySQL Datenbank gewuenscht ...

Okay zugegeben, ein richtiges Tutorial an sich ist es ja nicht geworden,
dazu fehlt mir im Moment leider die Zeit,
aber das Script ist eigentlich recht gut auskommentiert, so dass es leicht nachvollziehbar sein sollte ...

Was wird benoetigt?


- Webspace der PHP unterstuetzt

Wie schauts aus?


- Loginformular
- Adminpanel
- Eintragen
- Editieren
- Loeschen

Step 1 - index.php / count.txt


Das Script benoetigt eine leere Textdatei mit der Bezeichnung count.txt,
diese Datei muss die Rechte(CHMOD)666 besitzen und im selben Verzeichnis liegen, wie die index.php!

Die index.php enthaelt das Login-Formular, damit niemand ohne Zugangsdaten Links eintragen kann.
Die Datei bietet eine komplette Auflistung aller eingetragenen URL's, mit Blaetterfunktion,
mitels index.php koennen neue Eintraegen hinzugefuegt, Loeschen und Editieren werden...

Die CSS-Datei die fuer die index.php genutzt/benoetigt wird, kann hier heruntergeladen werden.

Code der index.php


 


Grafixx - DownloadCounter  ||  Adminpanel  










Grafixx DownloadCounter


'; $error = "1"; } if(empty($login_pass)) { // Pruefen ob Passwort angegeben wurde $message .= 'Bitte geben Sie ihr Passwort ein ...
'; $error = "1"; } if($login_name != $grafixx_name OR $login_pass != $grafixx_pass){ // Angaben auf Korrektheit pruefen $message .= 'Zugriff verweigert ...
'; $error = "1"; } if($error != "1"){ // Wenn kein Fehler war // session handle----------------------------- $_SESSION['login'] = $_SERVER['REMOTE_ADDR']; // Session setzen header("Location: $pfad"); // Weiterleiten } if($error == "1"){ // Fehlermeldung ausgeben wenn vorhanden echo "

Error ...

\n

$message

"; } } } // ----------------------------------------------- Ende Login ------------------------------------- // if(isset($_SESSION['login'])){ // Sofern Session vorhanden ... $db_file = "count.txt"; // Pfadangabe zur count.txt $read_dbfile = file($db_file); // Daten auslesen => Array packen $ermittel_id = count($read_dbfile); // Anzahl der Zeilen in datei ermitteln if($ermittel_id == ""){ $ermittel_id = 0; } // wenn count == 0 $links_per_page = 15; // Anzahl der URL's die Pro Seite angezeigt werden sollen $p = 5; // Anzahl der Links die in der Seitennavigation angezeigt wird //------------------------ Funktion um die letze ID zu ermitteln ------------------ function last_id(){ $array = file('count.txt'); // Datei in ein Array einlesen $count = sizeof($array)-1; // Anzahl der Elemente ermitteln - 1 fuers Array $teile = explode("|", $array[$count]); // Array zerlegen return $teile[0]; // zuletzt eingetragene ID ermitteln } $next_id = last_id() + 1; // naechste ID ermitteln // ---------------------------------------------------------------------------------------------------- // $id = strip_tags($_GET['id']); // Variable definieren $action = strip_tags($_GET['action']); // Variable definieren if(isset($_GET['id'])){ // falls ID uebregeben wurde $datei = fopen($db_file, "r"); // Daten auslesen while($zeile = fgetcsv($datei, 1000, "|")){ // Daten werden aus der Datei // in ein Array $zeile gelesen if($zeile[0] == $id){ $url = $zeile[1]; // Variable definieren $klicks = $zeile[2]; // Variable definieren } } fclose($datei); // Datei schliessen } if($action == ''){ // Wenn Variable $action nicht uebergeben / leer ?> Neuen Link eintragen ...


Uebersicht ...

Zur Zeit sind keine Links vorhanden ...

\n"; // 'Fehler' ausgeben } else { // -------------------------------------------------------- Seitennavigation ------------------------- // $pages = ceil($total_records / $links_per_page); // ermittelt die Anzahl der Seiten // korrigieren der aktuellen Seite if(empty($_GET['go'])) { $go = 1; } elseif($_GET['go'] <= 0 || $_GET['go'] > $pages) { $go = 1; } else { $go = $_GET['go']; } $links = array(); // Linkkette 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[] = "« Erste ...\n"; } if($go != 1){ $prev = $go-1; $links[] = " «\n"; } for($i = $off; $i <= ($go + $nextOffset); $i++){ if ($i != $go){ $links[] = "$i\n"; }elseif($i == $pages) { // aktuelle Seite, braucht keinen Link $links[] = "[ $i ]\n"; } elseif($i == $go){ // aktuelle Seite, braucht keinen Link $links[] = "[ $i ]\n"; } } if($go != $pages){ $next = $go+1; $links[] = " » \n"; } if ($off+$prevOffset*2 < $pages){ // zur letzen Seite springen $last = $pages; $links[] = "... Letzte »\n"; } // Zusammenfügen der einzelnen Links zu einem String $link_string = implode("   ", $links); // --------------------------------------------------------------------------------------------------------------------- // $start = $go * $links_per_page; // AusleseStart ermitteln $ende = $start - $links_per_page; // AusleseEnde ermitteln if ($start > $total_records){ $start = $total_records; } $start = $total_records - $start-1; $ende = $total_records - $ende-1; $nummerdel = $go * $pro - $pro + 1; ?> $start ; $do_zeile--){ $eintraege = explode ("|", $read_dbfile[$do_zeile]); // Eintraege auseinander nehmen $zeile++; // jede 2te Zeile einfaerben if ($zeile % 2 == 0) { echo ""; } else { echo ""; } ?>
ID URL Klicks Option
Edit  |  Delete

\n"; echo "Seite $go von $pages\n"; echo $link_string; // Ausgabe der Seitennavigation echo "
\n"; } // close urls vorhanden } // close action leer // ---------------------------------- / Config / ---// if (isset($_POST['submit'])){ // Wenn submit gedrueckt $url = strip_tags($_POST['url']); // Variable definieren // ------------------------------- Wenn action = new -------------------------------------------------- if ($action == "new") { $suchen = strpos($url, 'http://'); // $url pruefen auf http:// if(empty($url)){ // Fehler wenn keine URL angegeben wurde $message .= "Bitte Danke eine URL angeben ...

\n"; $error = "1"; } if($suchen === false ){ $message .= "Die URL bitte mit http:// angeben ...

"; $error = "1"; } if($error != "1"){ // Wenn kein Fehler war $datei = fopen($db_file, "a"); // Datei oeffnen fputs($datei, $next_id . "|" . $url . "|0 \n"); // Daten eintragen fclose($datei); // Datei schliessen $generate_link = "<a href="go.php?id=$next_id"> - Linkbezeichnung/titel - </a>"; echo "

Prima ...

\n"; echo "

Vielen Dank ...

\n"; echo "Der Eintrag war erfolgreich :)

\n"; echo "Der Link Tag lautet:\n
$generate_link

"; echo "» noch einen Link eintragen

\n"; echo "» Uebersicht ...

\n"; $okay = 1; } if($error == "1"){ // Fehler fals vorhanden ausgeben echo "

Error ...

$message

"; } } // 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 { $datei = fopen($db_file, "r"); // Datei oeffnen - lesen while($zeile = fgetcsv($datei, 1000, "|")){ // Daten werden aus der Datei // in ein Array $zeile gelesen if($zeile[0] == $id){ $write[] = "$id|$url|$klicks\n"; // neue Daten definieren }else{ $write[] = "$zeile[0]|$zeile[1]|$zeile[2]\n"; // Daten definieren } } //while fclose($datei); // Datei schliessen $datei = fopen($db_file, "w"); // Datei oeffnen um zu schreiben $who = 0; while($write[$who] != ""){ fputs($datei, $write[$who]); // In Datei schreiben $who++; $okay = 1; // Variable definieren } fclose($datei); // Datei schliessen if($okay == 1){ echo "

Prima ...

\n"; echo "

Das Update war erfolgreich ...

\n"; echo "» Uebersicht ...

\n"; }else{ // Fehlermeldung ausgeben echo "Es ist ein Fehler aufgetreten"; } } } // close action - edit } // ------------------------------- Wenn action = delete -------------------------------------------------------- if ($action == "delete") { $mode = $_GET['mode']; if(isset($_GET['mode'])){ // Pruefen ob Variable uebergeben wurde $datei = fopen($db_file, "r"); // Datei oeffnen um zu lesen while($zeile = fgetcsv($datei, 1000, "|")){ // Daten werden aus der Datei // in ein Array $zeile gelesen if($zeile[0] == $id){ continue; // weiter geht's - Eintrag raus }else{ $write[] = "$zeile[0]|$zeile[1]|$zeile[2]"; // Daten definieren } } fclose($datei); // Datei schliessen $datei = fopen($db_file, "w"); // Datei oeffnen um zu schreiben $who = 0; while($write[$who] != ""){ fputs($datei, "$write[$who]\n"); // In Datei schreiben $who++; } fclose($datei); // Datei schliessen echo "

Prima ...

\n"; echo "

Die URL wurde erfolgreich geloescht ...

\n"; echo "» Uebersicht ...

\n"; } else { // zur Sicherheit noch mal nachfragen ... echo "

Wirklich ...

\n"; echo "

Ganz sicher loeschen?

\n"; echo "Ja, ganz sicher"; echo "  Nein, lieber doch nicht

"; } }// close action - delete //------------------------------------- close wenn Abschicken geklickt ------------------------------ if(($action == "edit" AND !$okay) OR ($action == "new" AND !$okay)){ if(isset($_GET['id'])) { // pruefen ob Variable uebergeben echo "

Link editieren ...

"; // Headline fuer Edit ausgeben }else{ echo "

Neuen Link eintragen ...

"; // Headline fuer Neuen Link ausgeben } // ----------------------------- Formular zu Eintragen --------------------------------------------- ?>
URL Eintragen
Login



Wichtig!


Die Variable $benutzer = "USERNAMEN"; enthalt den Benutzernamen, dieser MUSS angepasst werden!
Die Variable $passwort = "PASSWORT"; enthalt das Passwort, dieses MUSS angepasst werden!


Step 2 - go.php


Die Datei go.php ist einzig und allein fuer das Zaehlen der Klicks zustaendig



Step 3 - show_klicks.php


Die Datei show_klicks.php enthaelt eine Funktion, die ist fuer das Anzeigen der Klicks einer bestimmten URL zustaendig ist...



Um die Anzahl der Klicks einer bestimmten URL,
in einer Datei (MUSS eine PHP-Datei sein!) wiederzugeben,
muss mittels include-Befehl
die show_klicks.php eingebunden werden!
Sofern sich die Datei show_klicks.php nicht im selben Ordner wie die Datei,
die die Klicks wiedergeben soll, befindet, muss die Pfadangabe beim include-Befehl angepasst werden...

Anschliessend an der Stelle, an der Anzahl der Klicks wiedergegeben werden soll,
muss folgender Code angebracht werden:

Bei linkID MUSS die ID(Zahl) der URL angegeben werden, von dem die Anzahl der Klicks ausgegeben werden soll!

Beispiel



Zur Anwendung der Funktion showklicks...


Tutorialdateien herunterladen

Kommentar schreibenHinterlasse einen Kommentar

Du musst angemeldet sein, um einen Kommentar zu hinterlassen...

Du bist noch kein Mitglied von Alice-Grafixx.de?
Dann kannst du dich hier kostenlos registrieren ...


Neuste Tutorials

Neuste Forenthemen

Neuste Kommentare

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