Loading...   Upload Image

MessageboxTutorials » PHP/MySQL Tutorials » Messagebox

Verfasst von PascalErorr am 13.08.2009 - wurde schon 6545 mal gelesen

Kategorie: PHP/MySQL
Bewertung:
10x bewertet
Schwierigkeit: mittel
Kommentare: [ 0 ]

Tag - Schlagwort PHP Tag - Schlagwort Shoutbox Tag - Schlagwort Messagebox Tag - Schlagwort Kommentare Tag - Schlagwort Script

Messagebox - Tutorial

Halli Hallo .. Das is nun mein erstes Tutorial hier ..
Naja, meins ist ein wenig weit aus dem Keller geholt :D Da Alice ein wenig viel Beschäftigt ist, hat sie mich gefragt, ob ich das mal eben veröffenltichen kann.
Also es handelt sich um eine kleine Messagebox, die ganz ohne SQL Datenbank auskommt, der Code ist Auskommentiert und erklärt sich eigentlich fast von selbst.

Wie schauts aus?


- Messagebox

- Admin Login
- Admin Ansicht
- Admin Editieren
- Admin Loeschen

Step 1 - index.php


Zuerst brauchen wir die Datei zum Eintragen, die gleichfalls die schon geschriebenen Messages ausgibt, dazu legt ihr die Datei index.php, welche mit folgenden Code bestueckt wird:

 


Grafixx - Messagebox 











 Array packen
$total_records = count($read_dbfile);		 // Anzahl der Zeilen in Datei ermitteln

if($total_records == ""){ $total_records = 0; }	// wenn count == 0


//------------------------ Funktion um die letze ID zu ermitteln ------------------

function last_id(){	
 $array = file('messages.txt');			// Message.txt 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

// ------------------------------------------------------------------------------------------ //
?>
Messagebox
Noch keine Eintraege vorhanden ...

\n"; // 'Fehler' ausgeben } else { // ----------------------------- Eintraege ausgeben --------------------------------------------------- if(isset($_GET['archiv'])){ // Alle Eintraege anzeigen for ($do_zeile = $total_records-1; $do_zeile > 0-1; $do_zeile--){ // Zeilen auslesen $eintraege = explode ("|", $read_dbfile[$do_zeile]); // Eintraege auseinander nehmen echo " ".$eintraege[1].": "; echo $eintraege[3]; echo "
"; } // close for }else{ // Standard Ausgabe der Eintraege $show = $messages_per_page; // Variable definieren if ($messages_per_page > $total_records){ // Wenn auszulesende Zeilen > als alle vorhandenen Zeilen $show = $total_records; // Variable definieren } $start = $total_records - $show -1; // Anzahl der auszulesenden Zeilen ermitteln for ($do_zeile = $total_records-1; $do_zeile > $start; $do_zeile--){ // Zeilen auslesen $eintraege = explode ("|", $read_dbfile[$do_zeile]); // Eintraege auseinander nehmen echo " ".$eintraege[1].": "; // Namen ausgeben echo $eintraege[3]; // Message ausgeben echo "
"; } // close for-schleife } // close else archiv } // close eintraege vorhanden ?>


Step 2 - admin.php


Dann hätten wir da noch die Datei admin.php, mit welcher der Admin Einträge Löschen und Bearbeiten kann an:


 


Grafixx - Messagebox || Adminpanel  










Grafixx Messagebox-Administration


'; $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

"; } } } // close isset Session login // ----------------------------------------------- Ende Login ------------------------------------- // if(isset($_SESSION['login'])){ // Sofern Session vorhanden ... $db_file = "messages.txt"; // Pfadangabe zur messages.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 $messages_per_page = 5; // Anzahl der Eintraege 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('messages.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){ $name = $zeile[1]; // Variable definieren $url = $zeile[2]; // Variable definieren $text = $zeile[3]; // Variable definieren $ip = $zeile[4]; // Variable definieren } }// close while fclose($datei); // Datei schliessen } if($action == ''){ // Wenn Variable $action nicht uebergeben / leer ?>

Uebersicht ...

Zur Zeit sind keine Eintraege vorhanden ...

\n"; // 'Fehler' ausgeben } else { // -------------------------------------------------------- Seitennavigation ------------------------- // $pages = ceil($total_records / $messages_per_page); // ermittelt die Anzahl der Seiten insgesammt // 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 bilden if ($go > 1) { // weiterblaettern $i= $go-1; $links[] = "«"; } for($i=1; $i<=$pages; $i++) { if ($i==$go) { $links[] = "[".$i."]"; } else { $links[] = "$i"; } } if ($go < $pages) { // zurueckblaettern $i=$go+1; $links[] = "»"; } // Zusammenfügen der einzelnen Links zu einem String $link_string = implode("   ", $links); // --------------------------------------------------------------------------------------------------------------------- // $start = $go * $messages_per_page; // AusleseStart ermitteln $ende = $start - $messages_per_page; // AusleseEnde ermitteln if ($start > $total_records){ $start = $total_records; } $start = $total_records - $start-1; $ende = $total_records - $ende-1; ?> $start ; $do_zeile--){ $eintraege = explode ("|", $read_dbfile[$do_zeile]); // Eintraege auseinander nehmen ?>
ID: | von | IP: 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 $name = strip_tags($_POST['who']); // Variable definieren $url = strip_tags($_POST['url']); // Variable definieren $text = strip_tags($_POST['text']); // Variable definieren $ip = strip_tags($_POST['ip']); // Variable definieren $n_text = wordwrap($text, 45, "-
", true); // ------------------------------- Wenn action = edit ---------------------------------------------------- if ($action == "edit") { if(empty($name)){ // Fehler wenn keine URL angegeben wurde $message .= "Keinen Namen angeben!\n"; $error = "1"; } if(empty($text)){ // Fehler wenn keine URL angegeben wurde $message .= "Keine Nachricht eingeben!\n"; $error = "1"; } if($error != "1"){ // Wenn kein Fehler war $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|$name|$url|$n_text|$ip\n"; // neue Daten definieren }else{ $write[] = "$zeile[0]|$zeile[1]|$zeile[2]|$zeile[3]|$zeile[4]\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 ""; // Weiterleitung => Uebersicht }else{ // Fehlermeldung ausgeben echo "Es ist ein Fehler aufgetreten"; } }// close !$error } // 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]|$zeile[3]|$zeile[4]"; // 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 ""; // Weiterleitung => Uebersicht } 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)){ // ----------------------------- Formular zu Eintragen --------------------------------------------- ?>
Eintrag bearbeiten

Login


Wichtig ...


Bei den Logindaten euren gewünschten Nick und Passwort eintragen!


Step 3 - archiv.php


Jetzt brauchen wir noch eine Datei für das Archiv, hierzu erstellen wir eine Datei mit der Bezeichnung archiv.php, die enthaelt dann folgenden Code:

 


Grafixx - Messagebox 











 Array packen

$total_records = count($read_dbfile);		 // Anzahl der Zeilen in Datei ermitteln

if($total_records == ""){ $total_records = 0; }	// wenn count == 0

?>
Messagebox
Noch keine Eintraege vorhanden ...

\n"; // 'Fehler' ausgeben } else { // ----------------------------- Eintraege ausgeben --------------------------------------------------- for ($do_zeile = $total_records-1; $do_zeile > 0-1; $do_zeile--){ // Zeilen auslesen $eintraege = explode ("|", $read_dbfile[$do_zeile]); // Eintraege auseinander nehmen echo " ".$eintraege[1].": "; echo $eintraege[3]; echo "
"; } } // close eintraege vorhanden ?>


Step 3 - mesages.txt


Und zu guter Letzt müsst ihr noch eine Text Datei mit der Bezeichnung messages.txt erstellen, bei dieser muessen die Rechte (CHMOD) auf 777 gesetzt sein.

Tutorial Dateien herunterladen

Liebe Grüße Pascal

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:   The Seduction  •   Design Grafixx  •   Pat DG  •   Gallery Yuri  •   Colorful Gfx  •   Chibi Graphics  •   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