![](http://alice-grafixx.de/bilder/tut/php.jpg)
Ajax
PHP
Kalender
Date
Script
Loading...
CREATE TABLE IF NOT EXISTS `grafixx_events` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` date NOT NULL, `event` text NOT NULL, PRIMARY KEY (`id`) );
<?php // config.inc.php //--------------------------- $host = "localhost"; // Adresse des Datenbankservers, fast immer localhost $user = ""; // Dein MySQL Benutzername $pass = ""; // Dein MySQL Passwort $dbase = ""; // Name der Datenbank //--------------------------- $connection = mysql_connect($host, $user, $pass) OR DIE ("Keine Verbindung zu der Datenbank moeglich."); $db = mysql_select_db($dbase, $connection) OR DIE ("Auswahl der Datenbank nicht moeglich."); ?>
<?php // events.php session_start(); // startet die Session include('config.inc.php'); // Config.inc.php einbinden $pfad = $_SERVER['SCRIPT_NAME']; // aktueller Pfad zur Datei //---------------------- Logindaten --------------------------------- // $grafixx_name = "USERNAME"; // Loginname angeben $grafixx_pass = "PASSWORT"; // Loginpasswort angeben //------------------------------------------------------------------ // // Funktion um die DB-Eintraege zu pruefen => SQL Injektions function clean_it($dirty){ // Auswirkungen von magic_quotes_gpc zuruecksetzen, wenn ON if (get_magic_quotes_gpc()) { $clean = mysql_real_escape_string(stripslashes(htmlspecialchars($dirty))); }else{ $clean = mysql_real_escape_string(htmlspecialchars($dirty)); } return $clean; } 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 LayoutManager</title> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <meta http-equiv="Content-Language" content="de" /> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div id="ram"> <div id="header"> <h1>Grafixx EventKalender</h1> </div> <div id="content"> <?php if(!isset($_SESSION['login'])) { // wenn keine Session vorhanden if(isset($_POST['submit_login'])) { // wenn supbit gedrueckt $login_name = strip_tags($_POST['log_user']); // Variable definieren $login_pass = strip_tags($_POST['log_pass']); // Variable definieren if(empty($login_name) OR empty($login_pass)) { // Pruefen ob Username angegeben wurde $message .= 'Bitte geben Sie ihren Usernamen und das 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 "<div class=\"error\"><h2>Error ...</h2>\n <p>$message</p></div>\n"; } } ?> <form action="" method="post"> <fieldset> <legend><span class="color">Grafixx</span> Login</legend> <label>Name</label> <input type="text" name="log_user" /><br /> <label>Passwort</label> <input type="password" name="log_pass" /> <br /><br /> <input type="submit" value="Login" name="submit_login" class="button"/> </fieldset> </form> <?php } // close isset Session login // ----------------------------------------------- Ende Login ------------------------------------- // if(isset($_SESSION['login'])){ // Sofern Session vorhanden ... $action = clean_it($_GET['action']); // Variable definieren // ---------------------------------------------------------------------- // LOGOUT // ---------------------------------------------------------------------- if($action == 'logout'){ session_unset(); // Sessionvariable loeschen session_destroy(); // Session zerstoeren header("Location: $pfad"); // Weiterleitung => Login } // ---------------------------------------------------------------------- // Event Eintragen/Editieren // ---------------------------------------------------------------------- if($action == 'new' OR $action == 'edit'){ $id = clean_it($_GET['id']); // Variable definieren if(isset($_GET['id'])){ // Sofern ID uebergeben wurde // DB Abfragen $abfrage = mysql_query("SELECT event, DATE_FORMAT(date, '%d') AS tag, DATE_FORMAT(date, '%m') AS monat, DATE_FORMAT(date, '%Y') AS jahr FROM grafixx_events WHERE id = '$id'"); $row = mysql_fetch_array($abfrage); extract($row); } if (isset($_POST['submit'])) { $tag = clean_it($_POST['tag']); $monat = clean_it($_POST['monat']); $jahr = clean_it($_POST['jahr']); $event = clean_it($_POST['event']); if(empty($tag) || empty($monat) || empty($jahr) || empty($event)){ // Pruefen ob alles angegeben echo "<div class=\"error\"><h2>Error...</h2><p>Bitte danke alles Felder ausfuellen!</p></div>\n"; }else{ // Sofern alles angegeben wurde // Zeichen zaehlen => Datum if(strlen($tag) != 2 OR strlen($monat) != 2 OR strlen($jahr) != 4){ echo "<div class=\"error\"><h2>Error...</h2><p>Bitte danke das Datum im richtigen Format angeben!</p></div>\n"; }else{ $datum = $jahr."-".$monat."-".$tag; // Datum zusammenwuefeln if(($_GET['action']) == 'edit'){ // Wenn action == edit $eintragen = mysql_query("UPDATE grafixx_events SET event = '$event', date = '$datum' WHERE id ='$id' "); }else{ // Neuer Eintrag $eintragen = mysql_query("INSERT INTO grafixx_events (event, date) VALUES ('$event','$datum')"); } if($eintragen){ // Sofern Eintrag geklappt hat header("Location: $pfad"); // Weiterleitung }else{ // Wenn Eintrag nicht geklappt hat => Fehlermeldung echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Der Eintrag war leider nicht erfolgreich! ".mysql_error()."</p>\n</div>\n"; } } // close Datum korrekt } // close alles angegeben }// close submit ?> <form name="form" action="" method="post" enctype="multipart/form-data"> <fieldset> <legend><?php if($action=='new'){ echo "Event eintragen"; }else{ echo "Event bearbeiten"; } ?></legend> <label>Datum <small>(TT MM JJJJ)</small></label> Tag <input type="text" name="tag" class="small" value="<?php echo $tag; ?>" /> Monat <input type="text" name="monat" class="small" value="<?php echo $monat; ?>" /> Jahr <input type="text" name="jahr" class="small" value="<?php echo $jahr; ?>" /> <br /><br /> <label>Event</label> <textarea name="event" rows="5" cols="75"><?php echo $event; ?></textarea> <br /><br /> <input type="submit" name="submit" value="Event eintragen" class="button" /> </fieldset> </form> <?php } // close action=new/edit // ---------------------------------------------------------------------- // Event Loeschen // ---------------------------------------------------------------------- if($action == 'loeschen'){ $id = clean_it($_GET['id']); // Variable definieren $mode = clean_it($_GET['mode']); // Variable definieren if(!isset($_GET['mode'])){ // Zur Sicherheit lieber noch mal nachfragen echo "<div class=\"error\"><h2>Wirklich ...</h2>\n"; echo "<p>Bist du sicher dass du den Event loeschen moechtest?</p> \n"; echo "<p><a href=\"".$pfad."?action=loeschen&mode=del&id=$id\" class=\"button\"> Ja </a>"; echo " <a href=\"".$pfad."\" class=\"button\"> Nein </a></p>\n </div>"; }else{ // Event loeschen $delete = mysql_query("DELETE FROM events WHERE id='$id'"); if($delete){ // Wenn Loeschung nicht erfolgt header("Location: $pfad"); // Weiterleitung }else{ // Wenn Eintrag nicht geloescht wurde => Fehlermeldung echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Der Eintrag konnte leider nicht geloescht werden! ".mysql_error()."</p>\n</div>\n"; } } // close mode } // close action = loeschen // ---------------------------------------------------------------------- // Event auflisten // ---------------------------------------------------------------------- if(!isset($_GET['action'])){ // Sofern keine Aktion => Events Anzeigen echo "<h2>Events</h2>\n"; // DB-Abfrage => Events $abfrage = mysql_query("SELECT id, event, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM grafixx_events ORDER BY id DESC"); $total = mysql_num_rows($abfrage); // Anzahl Events // Events ausgeben echo "<ul class=\"list\">\n"; if($total > 1){ // Pruefen ob events vorhanden sind while($row = mysql_fetch_object($abfrage)){ echo "<li><div class=\"right\">\n <a href=\"".$pfad."?action=edit&id=".$row->id."\">Bearbeiten</a>\n <a href=\"".$pfad."?action=loeschen&id=".$row->id."\">[x]</a>\n</div>\n"; echo "<strong>".$row->id.".</strong> ".$row->event."<br />\n <small>".$row->datum."</small></li>\n"; } }else{ // Keine Events vorhanden echo "<li>Derzeit sind keine Events vorhanden ...</li>"; }// close events vorhanden echo "</ul>\n"; } // close events anzeigen ?> </div> <div id="sidebar"> <h2>Welcome <?php echo $grafixx_name; ?> <small><a href="?action=logout">Logout</a></small></h2> <p><a href="events.php" class="the_button">Events</a> <a href="events.php?action=new" class="the_button">Event eintragen</a></p> </div> <?php } // close login ob_end_flush(); // leert/beendet den Ausgabepuffer ?> <div id="footer"> <p class="right"> Valid <a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional"><abbr title="eXtensible HyperText Markup Language"> XHTML</abbr></a> | Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" title="CSS ist valide!"><abbr title="Cascading Style Sheets">CSS</abbr></a> </p> <p><a href="http://unnecessary.de">Grafixx EventKalender</a> <a href="http://alice-grafixx.de">Alice-Grafixx.de</a></p> </div> </div> </body> </html>
<?php // kalender.php include('config.inc.php'); // DB-Verbindung einbinden function naechsterMonat(){ // Naechster Monat bestimmen $calendar = explode(',',$_GET['go']); $cali['monat'] = $calendar['0']; $cali['jahr'] = $calendar['1']; if ($cali['monat'] == '12') { $nextCal = '1,' . ($cali['jahr'] + 1); } else { $nextCal = ($cali['monat'] + 1) . ',' . $cali['jahr']; } return $nextCal; } function vorherigerMonat(){ // Monat davor bestimmen $calendar = explode(',',$_GET['go']); $cali['monat'] = $calendar['0']; $cali['jahr'] = $calendar['1']; if ($cali['monat'] == '1') { $lastCal = '12,' . ($cali['jahr'] - 1); } else { $lastCal = ($cali['monat'] - 1) . ',' . $cali['jahr']; } return $lastCal; } function show_calender(){ if (isset($_GET['go'])) { $calendar = explode(',', $_GET['go']); $monat = $calendar['0']; $jahr = $calendar['1']; if ($_GET['go'] == date('n') . ',' . date('Y')) { $heute = date('d'); } }else{ $monat = date('n'); // ermitteln des Jahres $jahr = date('Y'); // ermitteln des Monats $heute = date('d'); // ermitteln des aktuellen Tages $_GET['go'] = $monat . ',' . $jahr; } $first = date("w", mktime(0, 0, 0, $monat, 1, $jahr)); // ermitteln des Wochentages fr den ersten Tages des Monats $last = date("t", mktime(0 ,0 , 0, $monat, 1, $jahr)); // ermitteln des letzten Tages des Monats //Monate und Wochentage $monate = Array("", "Januar", "Februar", "März","April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); $wochentage = Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"); if($first == 0){ $first = 7; // Korrektur fr den Sonntag } echo "<table border=\"0\">\n"; // Monat zurueck blaettern echo "<caption><a href=\"javascript:get_Content('kalender','?go=".vorherigerMonat()."');\" class=\"back\">«</a>\n "; // aktuelles Jahr und Monat ausgeben echo $monate[$monat]." ".$jahr; // Monat vor blaettern echo " <a href=\"javascript:get_Content('kalender','?go=".naechsterMonat()."');\" class=\"vor\">»</a>\n"; echo "</caption>\n"; // Wochen Tage ausgeben echo "<tr>\n"; echo "<th abbr=\"Montag\" title=\"Montag\">Mo</th>\n"; echo "<th abbr=\"Dienstag\" title=\"Dienstag\">Di</th>\n"; echo "<th abbr=\"Mittwoch\" title=\"Mittwoch\">Mi</th>\n"; echo "<th abbr=\"Donnerstag\" title=\"Donnerstag\">Do</th>\n"; echo "<th abbr=\"Freitag\" title=\"Freitag\">Fr</th>\n"; echo "<th abbr=\"Samstag\" title=\"Samstag\">Sa</th>\n"; echo "<th abbr=\"Sonntag\" title=\"Sonntag\">So</th>\n"; echo "</tr>\n<tr>\n"; // Leere Zellen ausgeben, bis zum ersten Tag des Monats for ($j=1; $j < $first; $j++){ echo "<td>\n "; } if(strlen($monat) == 1){ // Null vorran stellen fuer Monat 1-9 $sql_m = "0".$monat; }else{ $sql_m = $monat; } // DB-Abfrage => Events des aktuellen Monats $abfrage = mysql_query("SELECT id, event, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM grafixx_events WHERE date BETWEEN '".$jahr."-".$sql_m."-1' AND '".$jahr."-".$sql_m."-31'"); $total = mysql_num_rows($abfrage); // Anzahl Events if($total >= 1){ // Pruefen ob events vorhanden sind while($row = mysql_fetch_object($abfrage)){ $events["$row->datum"] = "$row->event"; // Array mit Eventdaten fuettern } }// close events vorhanden for ($i=1; $i <= $last; $i++){ // Tage ausgeben $x = $wochentage[date("w", mktime(0 , 0, 0, $monat, $i, $jahr))]; // ermitteln des Wochentages if($total >= 1){ // Pruefen ob Events vorhanden sind if(strlen($i) == 1){ // Null vorran stellen fuer TAG 1-9 $sql_i = "0".$i; }else{ $sql_i = $i; } $event_date = $sql_i.".".$sql_m.".".$jahr; // aktuelles Datum in Schleife bestimmen if(array_key_exists($event_date, $events)){ // Pruefen ob event bei $i vorhanden $show_event = "<a href=\"#\" class=\"tool\">".$i."<span>".$events["$event_date"]."</span></a>\n"; if ($i == $heute){ // Aktueller Tag kennzeichnen echo "<td class=\"today\">".$show_event."</td>\n"; }else{ echo "<td>".$show_event."</td>\n"; } }else{ if ($i == $heute){ // Aktueller Tag kennzeichnen echo "<td class=\"today\">".$i."</td>\n"; }else{ echo "<td>".$i."</td>\n"; } }// close event vorhanden }else{ // Wenn keine Events sind if ($i == $heute){ // Aktueller Tag kennzeichnen echo "<td class=\"today\">".$i."</td>\n"; }else{ echo "<td>".$i."</td>\n"; } } // close check events if($x == "So"){ // Am Sonntag endet die jeweilige Zeile echo "</tr>\n<tr>\n "; } } //close Tage ausgeben echo "</tr>\n"; echo "</table>\n"; } // close function show_calender ?>
<?php // request.php include('kalender.php'); // Funktion einbinden show_calender(); // Kalender ausgeben ?>
<?php include('kalender.php'); show_calender(); // Kalender ausgeben ?>
<!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 LayoutManager</title> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <meta http-equiv="Content-Language" content="de" /> <link rel="stylesheet" href="style.css" type="text/css" /> <script type="text/javascript"> function get_Content(wo, was){ var url = "request.php"+was; // Datei die aufgerufen werden soll var xmlHttp = null; // Mozilla, Opera, Safari sowie Internet Explorer 7 if (typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } if (!xmlHttp) { // Internet Explorer 6 und lter try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xmlHttp = null; } } } if (xmlHttp) { xmlHttp.open('GET', url, true); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { myContent = xmlHttp.responseText; document.getElementById(wo).innerHTML = myContent; } }; xmlHttp.send(null); } } </script> </head> <body> <?php include('kalender.php'); // Funktion fuer Kalender einbinden ?> <div id="ram"> <div id="header"> <h1>Grafixx EventKalender</h1> </div> <div id="content"> <div id="kalender"><?php show_calender(); ?></div> </div> <div id="footer"> <p class="right"> Valid <a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional"><abbr title="eXtensible HyperText Markup Language"> XHTML</abbr></a> | Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" title="CSS ist valide!"><abbr title="Cascading Style Sheets"> CSS</abbr></a> </p> <p><a href="http://unnecessary.de">Grafixx EventKalender</a> <a href="http://alice-grafixx.de"> Alice-Grafixx.de</a></p> </div> </div> </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 ...