kostenloser Webspace werbefrei: lima-city


Adventskalender - DRINGEND

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ann-christin-adventskalender

    ann-christin-adventskalender hat kostenlosen Webspace.

    Hallo Leute !

    Ich habe ein Problem...

    Also ich möchte meiner Freundin einen Adventskalender zusammen basteln (sie wohnt sehr weit weg von mir)...

    Ich möchte da in jedes Türchen ein Gedicht, ein Foto oder sonst irgendetwas rein setzen.

    Nun soll es so sein, dass sie jeden Tag eine E-Mail bekommt, in der ein Code drinne steht.

    Auf der Website, also dem Adventskalender, soll es eine Rubrik CODE geben, wo sie den Code eintragen muss.

    Hat sie den Code eingetragen, so soll auf der Hauptseite (wo die Türchen sind) ein weiteres Türchen freigeschaltet und verlinkt sein........

    Doof erklärt .... also so nochmal :

    Auf der Hauptseite sind 24 Türchen, die Türchen möchte ich als Herze darstellen, also sind da 24 Herze.
    Am Anfang ist an allen Herzchen unten ein kleines Schloss zu sehen.
    Meine Freundin gibt nun den Code, den sie bekommt, in einer Rubrik namens "CODE" ein.

    Wenn sie den Code richtig eingegeben hat, soll nun bei einem Herzchen das Schloss verschwinden und man kann auf die Seite gehen.

    Ich dachte mir das so :

    Die site, auf der man den Code eingibt, übermittelt den per POST zu einer anderen seite, die ihn auswertert.
    Wenn er stimmt, soll die Seite dann ein Textdokument erstellen (z.B. 01.12.2007.txt) und "OK" eintragen.

    Wenn man die Hauptseite öffnet, soll ein Skript druchlaufen, welches schaut, in welchen Dokumenten schon "OK" steht.

    Wenn "OK" gefunden wird, soll das Script automatisch ein Herzchen mit der, dafür vorgesehenen Seite verlinken.


    So weit die Idee, aber ich bin noch nicht soooo gut in PHP und komme einfach nicht mehr weiter :mad::mad::mad::mad:

    Wäre schön, wenn mir jemand Tipps geben könnte ...

    Die Idee möchte ich jedoch nicht verändern (mit dem Code usw. --> hat seinen Grund)...


    Viele Liebe Grüße
    Sascha
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo Sascha,

    was haste denn die Idee ist ok und deine Beschreibung auch. Brauchst dich also gar nicht verstecken - war alles verständlich erklärt ;-)

    Im Grunde brauchste genau 2 PHP Dateien... eine Datei die die Dateien ausliest und eine weitere die den Code per GET (URL) entgegen nimmt und eine Datei anlegt bzw. ok rein schreibt.
    Ok ich hätte wahrscheinlich ein Wert in der Datenbank geändert anstatt Dateien anzulegen, aber ist Geschmackssache.

    Leider hab ich gerade nicht wirklich Zeit, deshalb nur mal kurz ein Abriss...

    Kalenderanzeige Arbeitsschritte:
    1. Verzeichnis der Dateien angeben
    2. Verzeichnis auslesen
    3. für jede Datei schauen ob ok drin steht => wenn ja im array speichern

    4. Tabelle mit Standardbildern anzeigen... wenn tag im array zeige geöffnete Tür an


    Ok hab keine Zeit... beschreib dir das später weiter falls sich kein anderer findet.

    Bis später


    PS schau mal unter www.php.net oben rechts mal nach den Funktionen scandir, fopen suchen und die Beispiele mal ansehen ;-)

    Beitrag geändert: 27.10.2007 12:58:52 von scout
  4. Hallo,

    Ich bin nicht ein PHP-Pro versteh jedoch schon einwenig davon...
    Hier mal ein Vorschlag für den Code der Hauptseite:

    index.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
     <head>
      <title>HAUPTSEITE</title>
     </head>
      <body>
    <?php
    
     for($i=1;$i==24;$i++)
     {
      if($i < 10)
    #Bestimme Filename, um eine Null davor zustellen gibt es auch eine Funktion
    #faellt mir nur nicht mehr ein...
      {
       $filename="ordner/0".$i."12.2007";
      }
      else
      {
       $filename="ordner/".$i."12.2007";
      }
      if(file_exists($filename))
      {
       $handle = fopen($filename,"r");
       $content = fread($handle,1048576);
       fclose($handle);
       if(strpos($content,"OK")!==FALSE) #ueberprueft ob ok vorkommt
       {
        #Herz $i wird geoeffnet dargestellt (HTML-Code ausgeben)
       }
       else
       {
        #Herz $i wird geschlossen dargestellt
       }
      }
      else
      {
        #Herz $i wird geschlossen dargestellt   
      }
     }
    
    ?>
     </body>
    </html>


    code.php
    <?php
    
     $code = $_POST['sendedCode'];
     
     /*
     nun ist die Frage ob du mit Datenbanken arbeiten willst
     ansonsten kann man hier eifach switch benutzten
     ist ziemlich statisch und fue;r normale webentwicklung nicht so geeignet
     aber fuer dies kann man auch Ausnahmen machen... ;-)
     */
     
     switch($code)
     {
      case "code01":
       w_ok("01.12.2007");
      break;
      case "code02":
       w_ok("02.12.2007");
      break;
      case "code03":
       w_ok("03.12.2007");
      break;
      case "code04":
       w_ok("04.12.2007");
      break;
      case "code05":
       w_ok("05.12.2007");
      break;
      case "code06":
       w_ok("06.12.2007");
      break;
      case "code07":
       w_ok("07.12.2007");
      break;
      case "code08":
       w_ok("08.12.2007");
      break;
      case "code09":
       w_ok("09.12.2007");
      break;
      case "code10":
       w_ok("10.12.2007");
      break;
      case "code11":
       w_ok("11.12.2007");
      break;
      case "code12":
       w_ok("12.12.2007");
      break;
      case "code13":
       w_ok("13.12.2007");
      break;
      case "code14":
       w_ok("14.12.2007");
      break;
      case "code15":
       w_ok("15.12.2007");
      break;
      case "code16":
       w_ok("16.12.2007");
      break;
      case "code17":
       w_ok("17.12.2007");
      break;
      case "code18":
       w_ok("18.12.2007");
      break;
      case "code19":
       w_ok("19.12.2007");
      break;
      case "code20":
       w_ok("20.12.2007");
      break;
      case "code21":
       w_ok("21.12.2007");
      break;
      case "code22":
       w_ok("22.12.2007");
      break;
      case "code23":
       w_ok("23.12.2007");
      break;
      case "code24":
       w_ok("24.12.2007");
      break;
     }
     function w_ok($filename) #hier ne Funktion um den code nicht 24x zu schreiben
     {
      $handle = fopen($filename,"w");
      fwrite($handle,"OK");
      fclose($handle);
     }
    ?>


    Formatierung in HTML musste noch selbst basteln...

    So jetzt musst du nur nochdas Desing reinpacken und irgendwo ein Formular an bringen, welches eine POST Datein an das Script code.php schickt.
    Theoretisch sollte das Script funktionieren, hab es aber nicht getestet, also keine Garantie, aber bei fragen einfach hier schreiben... ;)


    3. f&#252;r jede Datei schauen ob ok drin steht => wenn ja im array speichern

    4. Tabelle mit Standardbildern anzeigen... wenn tag im array zeige ge&#246;ffnete T&#252;r an

    Ok das ist auch noch neh gute L&#246;sung, aber ich habs nicht so mit Array, obwohl sie ziemlich praktisch sind ;-)

    Beitrag geändert: 27.10.2007 17:42:38 von hackjack
  5. Haste es nun eigentlich hinbekommen oder brauchste noch Hilfe?

    Gr&#252;&#223;le
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!