Veranstaltungskalender

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Veranstaltungskalender

    Hallo.
    Ich möchte einen Veranstaltungskalender scripten. Einen sehr kleinen, der ca. so etwas ausgibt:

    Partyschwaben(Name), 21.04.2008(Datum), Stuttgart(Ort)
    Partyschwaben(Name), 21.04.2008(Datum), Stuttgart(Ort)
    Partyschwaben(Name), 21.04.2008(Datum), Stuttgart(Ort)
    usw.

    Auf einer Seite werden die Daten per Forumal eingegeben.
    Dann gibt es 2 Ausgabe-Seiten:

    - Eine, wo nur die 3 neuesten Veranstalungen ausgegeben werden
    - Eine, wo alle ausgegeben werden.

    Hier mal mein Anfang:

    Die Eingabeseite:
    Code:
    if ($gesendet)
    {
    $fp = fopen("data.txt", "a");
    if ($fp)
    {
    flock($fp,2);
    fputs ($fp, "$name, $datum, $ort \n");
    echo ("Datei wurde beschrieben.");
    flock($fp, 3);
    fclose($fp);
    }
    exit();
    }
    
    
    
    <html>
    	<head>
    		<title>
    			Test
    		</title>
    	</head>
    	<body>
    		<form action="<? PHP_SELF ?>" method="post">
    			<input size="20" name="name">Name der Veranstaltung<br>
    			<input size="20" name="datum">Datum der Veranstaltung<br>
    			<input size="20" name="ort">Ort der Veranstaltung<br>
    			<input type="submit" value="Senden" name="gesendet">
    		</form>
    	</body>
    </html>
    In der data.txt werden die Sachen ja so gespeichert.

    Veranstaltung
    Veranstaltung
    usw.

    Hier meine Lese-Datei:
    Code:
    $fp = fopen("data.txt", "r");
    if ($fp)
    {
    $zeile = fgets($fp, 100);
    echo "$zeile", "<br>";
    $zeile2 = fgets($fp, 100);
    echo "$zeile2";
    Doch wie kann ich die 3 neuesten, hier also die 3 letzen Raussuchen und vorallem, hier habe ich einfach 2x fgets ausführen lassen, doch die data.txt wird ja immer länger wie kann ich das anpassen, dass jede Zeile gelesen wird.
    Die Alles Lese-Datei ist kein Problem, das mache ich mit einer while Schleife und feof().

    Bin noch ein Anfänger. Bitte helft mir.
    Danke!!!!!

  • #2
    Mir wird nicht ganz klar, wo dein Problem ist. Zwar hast du ein ellenlanges Posting, was aber alles eher unwichtig ist.

    Wie sieht die datei mit den news aus?

    Kommentar


    • #3
      Hä? Also
      Ich hab bis jetzt 2 Dateien geschrieben.
      Eine die $name, $datum und $ort in die data.txt schreibt und die hier, die auslesen soll, und da treten bei mir die Probleme (also ich weiß nicht wie ich das realisieren soll) auf:

      Code:
      $fp = fopen("data.txt", "r");
      if ($fp)
      {
      $zeile = fgets($fp, 100);
      echo "$zeile", "<br>";
      $zeile2 = fgets($fp, 100);
      echo "$zeile2";
      1. Problem:

      Wie mache ich es das immer die 3 letzen Veranstaltungen ausgegeben werden.

      2. Problem:

      Da ich ja auch eine Seite haben will die alles ausgibt, nicht nur die letzen 3, wie mache ich es das jede Zeile in einer Variable gespeichert wird?

      Kommentar


      • #4
        schau dir mal file() und die array-funktionen an.
        Kissolino.com

        Kommentar


        • #5
          Vielen Dank für den Tipp. Damit hat es geklappt!!!!

          Kommentar


          • #6
            Hallo.
            Leider habe ich noch ein Problem
            Und zwar kann ich jetzt Sachen eintragen, doch ich bräuchte noch die Funktion zum bearbeiten und zum löschen.
            Zuerst hab ichs mir so gedacht:
            Code:
            if ($gesendet) 
            { 
            $datei = $file(data.txt); 
            $neu = "$name, $ort ($datum, $uhrzeit Uhr) \n" 
            array_pop($datei); 
            $ausgabe = array_push($datei, "$neu"); 
            $fp = fopen("data.txt", "a"); 
            fputs ($fp, "$ausgabe"); 
            fclose($fp); 
            exit(); 
            } 
            
            ?> 
            
            <html> 
               <head> 
                  <title> 
                     Smad Media GmbH - Veranstaltungen 
                  </title> 
               </head> 
               <body> 
                  <font face="Verdana" size="2"> 
                  <form action="<? PHP_SELF ?>" method="post"> 
                     <table border="0"> 
                        <tr> 
                           <td> 
                           Name der Veranstaltung: 
                           </td> 
                           <td> 
                              <input size="20" maxlength="30" name="name"><br> 
                             </td> 
                        </tr> 
                        <tr> 
                           <td> 
                           Datum der Veranstaltung:    
                           </td> 
                           <td> 
                              <input size="20" maxlength="10" name="datum"> 
                           </td> 
                        </tr> 
                        <tr> 
                           <td> 
                           Uhrzeit der Veranstaltung:    
                           </td> 
                           <td> 
                           <input size="20" maxlength="5" name="uhrzeit">    
                           </td> 
                        </tr> 
                        <tr> 
                           <td> 
                           Ort der Veranstaltung:    
                           </td> 
                           <td> 
                           <input size="20" maxlength="30" name="ort">    
                           </td> 
                        </tr> 
                     </table> 
                     <br> 
                     <input type="submit" value="Senden" name="gesendet"> 
                  </form> 
                  </font> 
               </body> 
            </html>
            ...doch es kommt immer ein Parse Error, jetzt weiß ich nicht kommt der weil ich irgendein Zeichen vergessen habe, oder weil es so, wie ich will, gar net gehen kann. (Also ich hab alles durchsucht und finde kein Fehler!)

            Kommentar


            • #7
              mehrere seiten, nö nö

              würde aus der seite, wo einmal die ersten 3 und einmal alle aufgelistet werden mit einem parameter (schalter) arbeiten. dann brauchste nur eine seite machen.

              das gleiche gilt für löschen und bearbeiten.

              Kommentar


              • #8
                jetzt weiß ich nicht kommt der weil ich irgendein Zeichen vergessen habe, oder weil es so, wie ich will, gar net gehen kann
                ich würde sagen, du hast ein zeichen vergessen und zwar hier
                PHP-Code:
                $neu "$name$ort ($datum$uhrzeit Uhr) \n";// <-- da fehlte das Semikolon 

                Kommentar


                • #9
                  Stimmt das habe ich vergessen. Danke.
                  Jetzt wird die Seite sogar angezeigt, doch wenn ich dann was reinschreibe und absende kommt:

                  Fatal error: Call to undefined function: () in /srv/www/htdocs/web244/html/bearbeiten.php on line 5


                  Woran liegt das?

                  Wie kann ich das bearbeiten anders lösen, wenn es so nicht geht?

                  Kommentar


                  • #10
                    Original geschrieben von weeh
                    Woran liegt das?
                    an dem, was in oder vor zeile 5 steht.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      uups... sorry die zeile muss natürlich so ausehen:
                      PHP-Code:
                      $neu $name.', '.$ort.' ('.$datum.', '.$uhrzeit." Uhr) \n"
                      Da php sonst aus $ort (..) eine variablenfunktion macht (die natürlich nicht vorhanden ist).
                      Zuletzt geändert von oppi; 09.08.2004, 15:18.

                      Kommentar


                      • #12
                        Hä?

                        Also ich hab mal des gemacht:

                        Code:
                        $neu = $name.', '.$ort.' ('.$datum.', '.$uhrzeit Uhr.") \n";
                        Aber da kommt ein Parsing Error.
                        Dann hab ich mir alles ab Zeile 5 und vorher durchgenommen und hab zwar ein Fehler gefunden, aber es tut trotzdem nicht.

                        Also mein Code sieht gerade so aus:

                        Code:
                        <?php
                        
                        if ($gesendet)
                        {
                        $datei = $file("data.txt");
                        $neu = "$name, $ort ($datum $uhrzeit Uhr) \n";
                        array_pop($datei);
                        array_push($datei, "$neu");
                        $fp = fopen("data.txt", "a");
                        fputs ($fp, "$datei"); // Hier ist vermutlich der Fehler
                        fclose($fp);
                        exit();
                        }
                        
                        ?>
                        
                        <html>
                        	<head>
                        		<title>
                        			Smad Media GmbH - Veranstaltungen
                        		</title>
                        	</head>
                        	<body>
                        		<font face="Verdana" size="2">
                        		<form action="<? PHP_SELF ?>" method="post">
                        			<table border="0">
                        				<tr>
                        					<td>
                        					Name der Veranstaltung:
                        					</td>
                        					<td>
                        						<input size="20" maxlength="30" name="name"><br>
                        			        </td>
                        				</tr>
                        				<tr>
                        					<td>
                        					Datum der Veranstaltung:	
                        					</td>
                        					<td>
                        						<input size="20" maxlength="10" name="datum">
                        					</td>
                        				</tr>
                        				<tr>
                        					<td>
                        					Uhrzeit der Veranstaltung:	
                        					</td>
                        					<td>
                        					<input size="20" maxlength="5" name="uhrzeit">	
                        					</td>
                        				</tr>
                        				<tr>
                        					<td>
                        					Ort der Veranstaltung:	
                        					</td>
                        					<td>
                        					<input size="20" maxlength="30" name="ort">	
                        					</td>
                        				</tr>
                        			</table>
                        			<br>
                        			<input type="submit" value="Senden" name="gesendet">
                        		</form>
                        		</font>
                        	</body>
                        </html>
                        Also ich hab ja mit file() die Text-Datei ausgelesen, jetzt habe ich einen Array, mit array_pop() habe ich das letze Teil des Arrays gelöscht und mit array_push() das $neu (e), bearbeitete hinzugefügt, ich glaube der Fehler liegt darin, dass ich bei fputs() einen array übermitteln will. Doch geht das überhaupt, oder wie kann ich den array in einzeteile zerlegen, also in einzelne Variablen, weil dann könnte ich doch die übermitteln.

                        Oder hat einer eine andere Idee? Bin total aufgeschmissen.

                        Kommentar

                        Lädt...
                        X