Ergebnis 1 bis 10 von 10

Thema: PHP Kalender ohne MySQL

  1. #1

    PHP Kalender ohne MySQL

    hi!

    ich hab die letzten 3 tage damit zugebracht im netz nach einem anständigen Webcalendar zu suchen der ein paar kleinere anforderungen erfüllen müsste:
    1. er darf kein MySQL benötigen
    2. er sollte so aufgebaut sein dass man in einem Raster jeden Tag des Monats sieht (also ein ca. 70x70 px kasten für jeden Tag) wo ich einen Text hineinschreiben kann. Sieht also genau wieder handelsüblicher Stehkalender aus.
    event. 3.: wenn möglich sollten Gäste in der Lage sein selber einen Eintrag zu machen (nicht zwingend notwendig)

    der kalender der wohl am ehesten dem entspricht was ich suche ist der FlatCalendar/. Der hat alles genau so wie es haben will, aber leider funktionert dieser bei mir nicht (kA wieso).

    Also zu meiner frage: kennt jemand zufälligerweise einen brauchbaren kalender mit den oben genannten funktionen und könnte er mir da vielleicht nen link schicken?

    MERCI!
    [JLA]

    P.S. mein host unterstützt bis PHP 4.4.0

  2. #2
    Hmhjo...
    So'n Kalender selbst zu scripten ist gar nicht so schwer. Das fiese ist nur die korrekte Anordnung der Tage. Wenn man das gelöst hat, ist der Rest Kinderkacke.

    Well... mein Kalender schaut so aus:


    Hier das Script dazu:
    PHP-Code:
    <?php
    if(!isset($_GET[m])){$_GET[m]=date("n");}
    if(!isset(
    $_GET[y])){$_GET[y]=date("Y");}
    $m=$_GET[m];

    $month[1]="Januar";
    $month[2]="Februar";
    $month[3]="März";
    $month[4]="April";
    $month[5]="Mai";
    $month[6]="Juni";
    $month[7]="Juli";
    $month[8]="August";
    $month[9]="September";
    $month[10]="Oktober";
    $month[11]="November";
    $month[12]="Dezember";

    $m_days=date("t",mktime(0,0,0,$_GET[m],1,$_GET[y]));
    $first_day=date("D",mktime(0,0,0,$_GET[m],1,$_GET[y]));

    switch(
    $first_day){
     case 
    "Mon":
      
    $first_day2=0;
      break;
     case 
    "Tue":
      
    $first_day2=1;
      break;
     case 
    "Wed":
      
    $first_day2=2;
      break;
     case 
    "Thu":
      
    $first_day2=3;
      break;
     case 
    "Fri":
      
    $first_day2=4;
     case 
    "Sat":
      
    $first_day2=5;
      break;
     case 
    "Sun":
      
    $first_day2=6;
      break;
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html>
    <head>
    <title>Kalender</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#FFFFFF" text="#000000">
    <div align="center"><b>
      <?php if($m>1){ ?><a href="kalender.php?m=<?php echo $_GET[m]-1?>">&lt;&lt;</a><?php ?> <?php echo $month[$m]; ?> <?php if($m<12){ ?><a href="kalender.php?m=<?php echo $m+1?>">&gt;&gt;</a><?php ?><br>
      <a href="kalender.php?m=<?php echo $_GET[m]; ?>&y=<?php echo $_GET[y]-1?>">&lt;&lt;</a> <?php echo $_GET[y]; ?> <a href="kalender.php?m=<?php echo $_GET[m]; ?>&y=<?php echo $_GET[y]+1?>">&gt;&gt;</a>
      </b> <br>
      <br>
      <table border="0" cellspacing="0" cellpadding="1" bgcolor="#003300">
        <tr>
          <td>
            <table border="0" cellspacing="1" cellpadding="0">
              <tr bgcolor="#FFFFFF">
                <td width="100" height="20">
                  <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#003300">Montag</font></div>
                </td>
                <td width="100" height="20">
                  <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#003300">Dienstag</font></div>
                </td>
                <td width="100" height="20">
                  <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#003300">Mittwoch</font></div>
                </td>
                <td width="100" height="20">
                  <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#003300">Donnerstag</font></div>
                </td>
                <td width="100" height="20">
                  <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#003300">Freitag</font></div>
                </td>
                <td width="100" height="20">
                  <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#003300">Samstag</font></div>
                </td>
                <td width="100" height="20">
                  <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#003300">Sonntag</font></div>
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
      <table border="0" cellspacing="0" cellpadding="1" bgcolor="#003300">
        <tr>
          <td>
            <table border="0" cellspacing="1" cellpadding="0">
              <tr>
                <?php
             $j
    =1+$first_day2;
             for(
    $i=0;$i<$first_day2;$i++){ ?>
                <td width="100" height="100">
                  <div align="center"></div>
                </td>
                <?php ?>
                <?php
             
    for($i=1;$i<=$m_days;$i++){
            
    ?>
                <td width="100" height="100" bgcolor="#FFFFFF">
                  <table>
                    <tr>
                      <td width="100">
                        <div align="center"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#003300">
                          <?php echo(date("d",mktime(0,0,0,$_GET[m],$i,$_GET[y]))); ?>
                          </font></div>
                      </td>
                    </tr>
                    <tr>
                      <td width="100" height="80">
                        <div align="center">Sux</div>
                      </td>
                    </tr>
                  </table>
                </td>
                <?php
           
    if($j==7){echo"\n</tr>\n<tr>\n"$j=0;}
               
    $j++;
              }
              
    ?>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </div>
    </body>
    </html>
    Allerdings hab ich den Kalender tatsächlich nur soweit gescriptet, dass er die Tage eines gewählten Monats in logischer Anordnung ausgibt.
    Eintragen in den Kalender kann man noch nichts. Steht halt überall "Sux" wo man später was eintragen können sollte. Ich hatte keine Muße mehr gehabt das weiterzuscripten, auch wenns sicherlich sehr einfach ist.

    Als Tipp zur Eintragsfunktion:
    Man speichert die Einträge in einzelnen Textdateien, für jeden Kalendereintrag eine Datei.
    Als Dateinamen wählt man den Timestamp zum gewählten Termin.
    Um einzulesen welche Termine bereits eingetragen wurden, liest man das Verzeichnis mit den Termindateien aus, packt die gefundenen Timestamps aus den Dateinamen in einen Array und prüft dann ob der jeweilige Kalendertag einen entspr. dazugehörigen Termintimestamp hat. Wenn ja, includet man die entspr. Termindatei oder liest sie per readfile() ein.
    *zucktmitdenschultern* Also recht simpel IMO.

    Wenn du kein PHP beherrschst um das selbst weiterzuscripten, Godkill, warte etwas, vielleicht macht ab hier jemand weiter und scriptet es für dich fertig.
    Ich hab grad anderweitig zu schaffen.

  3. #3
    ..... hilfe......


    also an der stelle würde mich mal interessieren wieso ihr alle so verdammt gut in sachen PHP seit
    HTML ist easy, sogar ORACLE scheint mir noch halbwegs logisch, aber PHP is ja wohl der größte dreck den ich je im leben gesehn hab

    aber gut, mal sehen. vielleicht wenn ich mal wieder mehr zeit und freude an PHP hab (und ich mich mal wieder intensivst mit dem kapitel auseinandersetzen kann) werd ich das vielleicht zu einem abschluss bringen. einzig die idee für jeden tag eine eigene datei anzulegen widerstrebt mit total. ich würde das wahrscheinlich so lösen dass alles in einer vordefinierten form in einer textdatei gespeichert wird und sich der kalender automatisch die benötigten zeilen aus der datei in den kalender bzw. den tag importiert / included.

    aber gut, danke trotzdem.
    wo ich grade dabei bin, ich hätte da noch eine andere frage:
    mit welchem befehl kann ich die momentane uhrzeit und / oder das Datum in einer textdatei speichern?
    grundidee ist, dass wenn ich einen neuen artikel in meinen news hinzufüge (welche aus einer textdatei importiert werden) möchte dass das Datum und die Uhrzeit angezeigt werden wenn ich den eintrag erstelle.

    greets,
    [JLA]

  4. #4
    Zitat Zitat von [JLA]Godkill
    ....also an der stelle würde mich mal interessieren wieso ihr alle so verdammt gut in sachen PHP seit
    HTML ist easy, sogar ORACLE scheint mir noch halbwegs logisch, aber PHP is ja wohl der größte dreck den ich je im leben gesehn hab
    Der obige Absatz ist ein Paradoxon.
    Weshalb können wohl so viele Leute PHP? Na weil die sprache so leicht zu lernen ist, eine wudnerschöne Syntax hat und durch und durch logisch ist.

    Zitat Zitat von [JLA]Godkill
    ...einzig die idee für jeden tag eine eigene datei anzulegen widerstrebt mit total. ich würde das wahrscheinlich so lösen dass alles in einer vordefinierten form in einer textdatei gespeichert wird und sich der kalender automatisch die benötigten zeilen aus der datei in den kalender bzw. den tag importiert / included.
    Gut, hier seh ich ausnahmsweise ein Manko an PHP: Die Dateifunktionen sind etwas mager. So ist es sehr schwer bestimmte Zeilen innerhalb einer Datei anzusprechen ohne riesige Arrays zu erzeugen.
    Bei einer Größe der Datendatei von 300 KB und drüber IMO nicht mehr praktikabel da zu Ressourcenfressend für den Server wenn die Scriptseite stark frequentiert ist.

    Schau dir da ggf. ml die sql-Light-Funktionen PHP's an. Da braucht man auch keinen Datenbankserver. PHP behandelt einfach eine Datendatei wie eine SQL-Datenbank.

    Zitat Zitat von [JLA]Godkill
    wo ich grade dabei bin, ich hätte da noch eine andere frage:
    mit welchem befehl kann ich die momentane uhrzeit und / oder das Datum in einer textdatei speichern?
    grundidee ist, dass wenn ich einen neuen artikel in meinen news hinzufüge (welche aus einer textdatei importiert werden) möchte dass das Datum und die Uhrzeit angezeigt werden wenn ich den eintrag erstelle.
    date(H:i:s);
    Gibt die aktuelle Uhrzeit zurück.
    $handle=fopen("pfad/zur/datei.txt",w);
    fwrite($handle, "Ich bin der Text für die Datei. \n");
    Speichert einen Text in eine Datei.
    Jetzt ists Zeit für die *regenbogenmitdenhändenzeichnet* Phantasie.

  5. #5
    Zitat Zitat
    Der obige Absatz ist ein Paradoxon.
    Weshalb können wohl so viele Leute PHP? Na weil die sprache so leicht zu lernen ist, eine wudnerschöne Syntax hat und durch und durch logisch ist.
    PHP = Hypertext PreProcessor ==> müsste also eigentlich HPP heissen Soviel zum thema logik, wenn schon der Kürzel für die Sprache "unlogisch" ist

  6. #6
    Die Abkürzung kommt von PHP: Hypertext Preprocessor.
    Und das PHP darin kommt von Personal Homepage Tools.

    Mehr...

  7. #7
    Zitat Zitat von Manni Beitrag anzeigen
    Die Abkürzung kommt von PHP: Hypertext Preprocessor.
    Und das PHP darin kommt von Personal Homepage Tools.
    Wobei bei Personal Homepage Tools PHT logischer wäre.
    oder PHPTools

  8. #8
    Zuerst einmal willkommen im Forum.


    Nun zum Geschäftlichen: Ich muß dich darauf hinweisen, daß Threadnekromantie (sprich: das Posten in einen alten Thread) zwar nicht explizit gegen wie Netiquette verstößt, aber auch nicht gern gesehen wird – zumindest nicht, wenn man nicht wirklich etwas zum Thema beizutragen hat, das es rechtfertigt, eine seit Langem abgeschlossene Diskussion neu zu öffnen.
    Einen weiteren offtopic-Post an einen Thread anzuhängen wird nicht dadurch legitimiert, daß die letzten Posts im Thread schon offtopic waren.

    Kurz gesagt: Laß' alte Threads lieber in Ruhe; die wollen die meisten User eh nicht mehr sehen.

  9. #9
    Zum ursprünglichen Thema hab ich eigentlich nichts beigetragen.
    Durch Armitage2k und Manni hat das Thema ja doch eine ungeahnte Wendung genommen wodurch mein Beitrag also doch nicht ganz sinnentfernt war

    schönen abend die herren

    Threadnekromatie WOW

  10. #10
    Um mich selbst zu zitieren:
    Zitat Zitat von Jesus_666 Beitrag anzeigen
    Einen weiteren offtopic-Post an einen Thread anzuhängen wird nicht dadurch legitimiert, daß die letzten Posts im Thread schon offtopic waren.
    Eine Diskussion über die Bedeutung des Akronyms "PHP" hat mit der Implementierung eines Kalenders in PHP wenig zu tun (ist damit also offtopic); außerdem hat Manni sie bereits beendet.

    Da es extrem unwahrscheinlich ist, daß in diesem Thread noch etwas sinnvolles passiert, mache ich ihn jetzt dicht.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •