Verfasst von Alice am 11.10.2008 - wurde schon 10526 mal gelesen
Counter
PHP
Count
Script
Flatfiles
Loading...
![]()
<?php
session_start(); // startet die Session
$pfad = $_SERVER['PHP_SELF']; // aktueller Pfad zur Datei
//---------------------- Logindaten --------------------------------- //
$grafixx_name = "USERNAME"; // Loginname angeben
$grafixx_pass = "PASSWORT"; // 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 - DownloadCounter || 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 <small>DownloadCounter</small></h1>
<br />
<?php
if(!isset($_SESSION['login'])) { // wenn keine Session vorhanden
if(isset($_POST['admin_login'])) { // wenn supbit gedrueckt
$login_name = strip_tags($_POST['admin_name']); // Variable definieren
$login_pass = strip_tags($_POST['admin_pass']); // Variable definieren
if(empty($login_name)) { // Pruefen ob Username angegeben wurde
$message .= 'Bitte geben Sie ihren Usernamen ein ... <br />'; $error = "1";
}
if(empty($login_pass)) { // Pruefen ob Passwort angegeben wurde
$message .= 'Bitte geben Sie ihr Passwort ein ... <br />'; $error = "1";
}
if($login_name != $grafixx_name OR $login_pass != $grafixx_pass){ // Angaben auf Korrektheit pruefen
$message .= 'Zugriff verweigert ... <br />'; $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 "<h1>Error ...</h1>\n <p>$message</p>";
}
}
}
// ----------------------------------------------- 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
?>
<a href="<?php echo $pfad; ?>?action=new" class="button">Neuen Link eintragen ...</a>
<br /><br /><br />
<h1>Uebersicht ...</h1>
<?php
$total_records = count($read_dbfile); // Anzahl der Zeilen in Datei ermitteln
if($total_records == '') { // Falls keine Daten vorhanden
echo "<p>Zur Zeit sind keine Links vorhanden ...</p>\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[] = "<a href=\"".$pfad."?go=$first\" title=\"Zur ersten Seite springen\">« Erste ...</a>\n";
}
if($go != 1){
$prev = $go-1;
$links[] = "<a href=\"".$pfad."?go=$prev\" title=\"Zurueck zur letzen Seite\"> «</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\"> » </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 »</a>\n";
}
// Zusammenfgen 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;
?>
<table width="500" 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
for ($do_zeile = $ende; $do_zeile > $start ; $do_zeile--){
$eintraege = explode ("|", $read_dbfile[$do_zeile]); // Eintraege auseinander nehmen
$zeile++; // jede 2te Zeile einfaerben
if ($zeile % 2 == 0) {
echo "<tr>";
} else {
echo "<tr bgcolor=\"#E6E9EC\">";
}
?>
<td width="21" align="center"><?php echo $eintraege[0]; ?></td>
<td><?php echo $eintraege[1]; ?></td>
<td width="56" align="center"><?php echo $eintraege[2]; ?></td>
<td width="95" align="center">
<a href="<?php echo $pfad; ?>?action=edit&id=<?php echo $eintraege[0]; ?>"> Edit </a> |
<a href="<?php echo $pfad; ?>?action=delete&id=<?php echo $eintraege[0]; ?>"> Delete </a>
</td>
</tr>
<?php
$nummerdel++;
} // close for-schleife
?>
</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'])){ // 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 ...<br /><br />\n"; $error = "1";
}
if($suchen === false ){
$message .= "Die URL bitte mit http:// angeben ...<br /><br />"; $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 "<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\"> Uebersicht ...</a></p>\n";
$okay = 1;
}
if($error == "1"){ // Fehler fals vorhanden ausgeben
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 {
$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 "<h1>Prima ...</h1> \n";
echo "<p>Das Update war erfolgreich ...<br /><br />\n";
echo "<a href=\"$pfad\"> Uebersicht ...</a></p>\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 "<h1>Prima ...</h1> \n";
echo "<p>Die URL wurde erfolgreich geloescht ...<br /><br />\n";
echo "<a href=\"$pfad\"> Uebersicht ...</a></p>\n";
} else { // zur Sicherheit noch mal nachfragen ...
echo "<h1>Wirklich ...</h1>\n";
echo "<p>Ganz sicher loeschen?<br /><br />\n";
echo "<a href=\"$pad?action=delete&mode=yes&id=$id\" class=\"button\">Ja, ganz sicher</a>";
echo " <a href=\"$pfad\" class=\"button\">Nein, lieber doch nicht</a></p> ";
}
}// 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 "<h1>Link editieren ...</h1>"; // Headline fuer Edit ausgeben
}else{
echo "<h1>Neuen Link eintragen ...</h1>"; // Headline fuer Neuen Link ausgeben
}
// ----------------------------- Formular zu Eintragen ---------------------------------------------
?>
<form action="" method="post">
<fieldset style="width: 400px">
<legend> URL Eintragen </legend>
<input type="text" name="url" value="<?php echo $url; ?>" style="width: 390px" /><br />
<input type="submit" value=" Speichern " name="submit" class="button" />
</fieldset>
</form>
<?php } // close action
}else{ // --------------------------- wenn nicht eingeloggt - login formular anzeigen -----------------------
?>
<form action="" method="post">
<fieldset style="width: 300px">
<legend>Login</legend>
<label for="user">Username: </label>
<input type="text" name="admin_name" style="width: 250px" />
<label for="passwort">Passwort: </label>
<input type="password" name="admin_pass" style="width: 250px" />
<br /><br />
<input type="submit" value=" Login " name="admin_login" />
</fieldset>
</form>
<?php } // close login
ob_end_flush(); // leert/beendet den Ausgabepuffer
?>
<h3 id="footer">Grafixx - DownloadCounter <a href="http://alice-grafixx.de">Alice-Grafixx.de</a> <?php echo date('Y'); ?></h3>
</div>
</body>
</html>
<?php
// go.php
//---------------------------
$id = strip_tags($_GET['id']); // Variable definieren
$db_file = "count.txt"; // Pfadangabe zur count.txt
if(!isset($id) OR empty($id)){ // Pruefen ob ID uebergeben wurde
echo "Keine ID angegeben ..."; // Fehlermeldung wiedergeben
}else{
$datei = fopen($db_file, "r"); // Daten oeffnen um zu lesen
while($zeile = fgetcsv($datei, 1000, "|")){ // Daten werden aus der Datei
// in ein Array $zeile gelesen
if($zeile[0] == $id){
$url = $zeile[1]; // URL fuer Weiterleitung
$klicks = $zeile[2]+1; // Klick um eines erhoehen
$yes = 1; // Setzen der Variable = Eintrag vorhanden
$write[] = "$id|$url|$klicks\n"; // neue Daten definieren
}else{
$write[] = "$zeile[0]|$zeile[1]|$zeile[2]\n"; // Daten definieren
}
}
fclose($datei);
if(!$yes){
die("ID wurde nicht gefunden!"); // Fehlermeldung, falls ID nicht vorhanden
}
$datei = fopen($db_file, "w"); // Datei oeffnen um zu schreiben
$who = 0;
while($write[$who] != ""){
fputs($datei, $write[$who]); // Neue Daten in Datei schreiben
$who++;
$okay = 1; // Setzen der Variable fuer evtl. Fehler
}
fclose($datei);
if($okay == 1){ // Wenn alles korrekt dann weiterleiten
header("Location: $url"); // Weiterleiten
}else{ // wenn nicht, dann Fehlermeldung
echo "Es ist ein Fehler aufgetreten";
}
} // close ID angegeben
?><?php
// show_klicks.php
//---------------------------
function showklicks($id){
$datei = fopen("count.txt", "r"); // Datei zum lesen oeffnen
while($zeile = fgetcsv($datei, 1000, "|")){ // Daten werden aus der Datei
// in ein Array $zeile gelesen
if($zeile[0] == $id){
$klicks = $zeile[2]; // Anzahl der Klicks ermitteln
}
}
return $klicks; // Anzahl der Klicks wiedergeben
fclose($datei); // Datei schliessen
}
?><?php include('show_klicks.php'); ?><?php echo showklicks('linkID'); ?><!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 - Beispiel</title>
</head>
<body>
<?php include("show_klicks.php"); ?>
<a href="go.php?id=4"> Alice-Grafixx.de <?php echo showklicks('4'); ?>;</a>
<a href="go.php?id=6"> Design-Grafixx.com <?php echo showklicks('6'); ?></a>
</body>
</html>
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 ...