Auswahlmenü
Mattinys
- php
0 Felix Riesterer0 Mattinys0 wahsaga0 Mattinys
0 Felix Riesterer0 Mattinys
Hallo!
Ich möchte gerne ein Auswahlmenü zur Navigation realisieren, allerdings unabhängig von Javascript, stattdessen mit einer serverseitigen Anwendung, am einfachsten wohl in PHP. Es geht um eine Art Kalender, wo zu jedem Monat eine HTML-Seite existiert. Im Menü soll zuerst das Jahr, dann der Monat ausgewählt werden, also etwa so:
<select name="Jahr" size="1">
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
</select>
<select name="Monat" size="1">
<option value="01">Januar</option>
<option value="02">Februar</option>
<option value="03">März</option>
</select>
Die HTML-Datei soll Namen à la "2006_01.htm" haben. Die fragliche Anwendung müsste also nur die beiden Values zusammensetzen. Allerdings habe ich keinen blassen Schimmer, wie ich das realisieren kann. Ich bin wohl einigermaßen im Stande, eine vorhandene Lösung anzupassen, beim Selber-Programmieren setzt's jedoch aus.
Für alle Hinweise, gerne auch Links zu entsprechenden Anwendungen, wäre ich sehr dankbar.
Viele Grüße
Mattinys
Liebe(r) Mattinys,
Ich möchte gerne ein Auswahlmenü zur Navigation realisieren, allerdings unabhängig von Javascript, stattdessen mit einer serverseitigen Anwendung, am einfachsten wohl in PHP. Es geht um eine Art Kalender, wo zu jedem Monat eine HTML-Seite existiert.
meinst Du etwas ähnliches wie diesen Kalender?
Die HTML-Datei soll Namen à la "2006_01.htm" haben. Die fragliche Anwendung müsste also nur die beiden Values zusammensetzen.
Wenn Du schon eine "Anwendung schreibst, dann sollten auch die Kalender-Daten aus dieser "Anwendung" kommen (siehe meinen Link).
Allerdings habe ich keinen blassen Schimmer, wie ich das realisieren kann.
Du müsstest ersteinmal die Daten in ein Format bringen, welches Dein PHP-Script verwerten kann (Datenbank?), um dann dynamisch die Inhalte ausgeben zu können.
Ich bin wohl einigermaßen im Stande, eine vorhandene Lösung anzupassen, beim Selber-Programmieren setzt's jedoch aus.
Das wäre die Gelegenheit dazuzulernen! ;-) Insbesondere deshalb, weil PHP schöne Datumsfunktionen von sich aus mitbringt, sodass man den Kalender vollautomatisch erstellen lassen kann, um dann nur die betreffenden Inhalte hineinzuschreiben. Dieser obige Kalender war auch eines meiner ersten wirklich komplexeren Scripte.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix!
meinst Du etwas ähnliches wie diesen Kalender?
Der Link funktioniert leider nicht.
Wenn Du schon eine "Anwendung schreibst, dann sollten auch die Kalender-Daten aus dieser "Anwendung" kommen (siehe meinen Link).
Warum? Das ist mir nicht einsichtig. Ich will ja lediglich mit einem Mini-Skript den Einsatz von Javascript zur Navigation umgehen. Die Kalenderdaten existieren ja schon.
Du müsstest ersteinmal die Daten in ein Format bringen, welches Dein PHP-Script verwerten kann (Datenbank?), um dann dynamisch die Inhalte ausgeben zu können.
Das Skript soll nichts weiter als eine statische HTML-Seite aufrufen.
Das wäre die Gelegenheit dazuzulernen! ;-) Insbesondere deshalb, weil PHP schöne Datumsfunktionen von sich aus mitbringt,
Das mag schon sein. Doch zum einen habe ich dafür zumindest im Moment keine Zeit, zum anderen hat PHP noch viele andere schöne Funktionen, die ich ebenfalls nicht nutze. Ich habe hier ein spezielles Problem, das ich lösen will; darum ginge es mir, nichts weiter.
Nichtsdestotrotz vielen Dank für deine Antwort.
Viele Grüße
Mattinys
hi,
Das Skript soll nichts weiter als eine statische HTML-Seite aufrufen.
Entweder nutzt du include bzw. in diesem Falle besser readfile, um die HTML-Datei in ein PHP-Script (welches ansonsten nichts ausgeben muss) einzubinden, oder du leitet per header('Location: http://...') auf die Zieldatei weiter.
Falls es mit dem Ausweten von Formularwerten noch hapert, http://php-faq.de/ch/ch-webvariablen.html
gruß,
wahsaga
Hallo!
Vielen Dank. Der Link ist sehr hilfreich.
Mattinys
Liebe(r) Mattinys,
meinst Du etwas ähnliches wie diesen Kalender?
Der Link funktioniert leider nicht.
das verstehe ich nicht, denn bei mir wird erfolgreich eine Seite im Browser aufgerufen... Was _genau_ "funktioniert" denn an diesem Link nicht?
Wenn Du schon eine "Anwendung schreibst, dann sollten auch die Kalender-Daten aus dieser "Anwendung" kommen (siehe meinen Link).
Warum? Das ist mir nicht einsichtig. Ich will ja lediglich mit einem Mini-Skript den Einsatz von Javascript zur Navigation umgehen. Die Kalenderdaten existieren ja schon.
Was habe ich als Nutzer davon, wenn ich erfolgreich auf die statische Seite weitergeleitet wurde? Um weitere Kalenderseiten sehen zu können muss ich ja wieder zurück zur PHP-gescripteten Navigationsseite, da auf der statischen HTML-Seite kein Formular ist! Oder möchtest Du dieses von Hand in allen Dateien hinzufügen? Spätestens jetzt wäre es doch sinnvoller, den Kalender komplett zu automatisieren!
Das Skript soll nichts weiter als eine statische HTML-Seite aufrufen.
Arbeitest Du mit einem Frameset? Sonst hätte ich als Benutzer nicht viel von Deinem Formular, da ich sehr umständlich navigieren müsste... Probiere doch nocheinmal die von mir verlinkte Seite: http://www.peutinger-gymnasium.de/html/wie/termine/index.html
Doch zum einen habe ich dafür zumindest im Moment keine Zeit, zum anderen hat PHP noch viele andere schöne Funktionen, die ich ebenfalls nicht nutze. Ich habe hier ein spezielles Problem, das ich lösen will; darum ginge es mir, nichts weiter.
Wie Du meinst.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix!
meinst Du etwas ähnliches wie diesen Kalender?
Jetzt habe ich die Seite aufrufen können. Ja, das ist so ziemlich genau das, was ich längerfristig realisieren möchte.
Was habe ich als Nutzer davon, wenn ich erfolgreich auf die statische Seite weitergeleitet wurde? Um weitere Kalenderseiten sehen zu können muss ich ja wieder zurück zur PHP-gescripteten Navigationsseite, da auf der statischen HTML-Seite kein Formular ist!
Die Navigation ist soweit schon okay, aber natürlich ist eine automatisierte Lösung um Längen eleganter.
Fürs erste brauche ich jedoch (schnell) ein Provisorium, da es seine Zeit dauern wird, bis ich mich in Datenbanken etc. eingearbeitet habe.
Nichtsdestotrotz möchte ich anfragen, ob du mir das zugehörige PHP-Skript zugänglich machen könntest. Ich werde da zwar erst mal gar nichts verstehen, aber ich tu mich leichter, mich anhand eines konkreten Beispiels in eine neue Materie einzuarbeiten. Das wäre sehr nett.
Viele Grüße
Mattinys
Liebe(r) Mattinys,
Was habe ich als Nutzer davon, wenn ich erfolgreich auf die statische Seite weitergeleitet wurde? Um weitere Kalenderseiten sehen zu können muss ich ja wieder zurück zur PHP-gescripteten Navigationsseite, da auf der statischen HTML-Seite kein Formular ist!
Die Navigation ist soweit schon okay, aber natürlich ist eine automatisierte Lösung um Längen eleganter.
Verstehe ich nicht, inwieweit die Navi "schon ok" sein soll... aber mir kann das ja egal sein.
Fürs erste brauche ich jedoch (schnell) ein Provisorium, da es seine Zeit dauern wird, bis ich mich in Datenbanken etc. eingearbeitet habe.
Nichtsdestotrotz möchte ich anfragen, ob du mir das zugehörige PHP-Skript zugänglich machen könntest. Ich werde da zwar erst mal gar nichts verstehen, aber ich tu mich leichter, mich anhand eines konkreten Beispiels in eine neue Materie einzuarbeiten. Das wäre sehr nett.
Das Script ist komplett in Eigenarbeit entstanden. Außerdem ist es fester Bestandteil meines Schulseiten-CMS. Warum sollte ich das jetzt extra für Dich auskoppeln und Dir schenken...? ;-)
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix!
Das Script ist komplett in Eigenarbeit entstanden. Außerdem ist es fester Bestandteil meines Schulseiten-CMS. Warum sollte ich das jetzt extra für Dich auskoppeln und Dir schenken...? ;-)
Es ist ja okay, dass du deine Schätze nicht teilen willst. Allerdings muss ich gestehen, dass mir vor dem Hintergrund deiner letzten Formulierung deine bisherigen Postings in diesem Thread ein wenig arrogant vorkommen. Letztlich sagst du nichts weiter, als dass ich alles so machen soll wie du, doch über das Wie verlierst du kein Wort, geschweige denn ein Wort als konkrete Antwort auf meine eigentliche Frage.
Viele Grüße
Mattinys
Liebe(r) Mattinys,
;-)
dass du deine Schätze nicht teilen willst.
Wenn Du meine Beiträge im Forum etwas durchstöberst, wirst Du sehen, dass ich nicht unbedingt mit meinen "Schätzen" geize. Mir ist nur Deine Formulierung etwas säuerlich aufgestoßen, da Du kaum Bereitschaft zur Eigeninitiative zeigst, was Du mit äußeren Zwängen entschuldigst.
Ich gestehe Dir Deine äußeren Zwänge zu. Das ist nicht mein Problem. Aber ich möchte Dir nur helfen, Dein Vorhaben umzusetzen, nicht jedoch aufgrund Deines Zeitmangels Deine Arbeit mal eben mit meiner erledigen.
Allerdings muss ich gestehen, dass mir vor dem Hintergrund deiner letzten Formulierung deine bisherigen Postings in diesem Thread ein wenig arrogant vorkommen.
Das mag eine Reaktion darauf sein, dass Du meine Vorschläge (um die Du ja mit Deinem Ausgangsposting mehr oder weniger direkt gebeten hast) zurückgewiesen hast, mit der Begründung, dass mein Ansatz für Deine Absicht viel zu umfangreich und kompliziert sei - Du würdest es trotz der sinnvolleren und "eleganteren" Lösung nicht so programmieren wollen.
Damit war die Sache für mich eigentlich schon erledigt. Dann konntest Du aber plötzlich die von mir verlinkte Seite doch aufrufen und wolltest "eventuell" die fertige Lösung von mir haben. Da wollte dann plötzlich (nenn' mich launisch - ach nein, Du nennst mich "arrogant") ich nicht mehr.
Letztlich sagst du nichts weiter, als dass ich alles so machen soll wie du, doch über das Wie verlierst du kein Wort, geschweige denn ein Wort als konkrete Antwort auf meine eigentliche Frage.
Mir war zunächst nicht wirklich klar, dass Dir an dem Wie meiner Lösung noch gelegen ist. Aber damit kann ich Dir weiterhelfen:
1.) Ich speichere die Termine in einer Art Datenbank (in meinem falle eine XML-Datei).
2.) Ich lasse beim Aufruf der Termine-Seite prüfen, ob ein Monat und ein Jahr angegeben wurden und gebe das Kalendarium für diesen (ansonsten für den aktuellen) Monat aus.
3.) Beim Ausgeben des Kalendariums durchforste ich bei jedem Tag, ob es dafür einen Eintrag in meinen Termin-Daten gibt und flechte diese Daten bei Bedarf in die Kalender-Tabelle mit ein.
Die von mir benötigten Funktionen in PHP sind diese:
für die Anzahl Tage eines Monats:
cal_days_in_month(CAL_GREGORIAN, $anzeige_monat, $anzeige_jahr)
für die Tagesnamen definiere ich ein Array ('So', 'Mo', 'Di',...), welches ich dann entsprechend auslese:
$tagesnamen[date('w', mktime(0,0,0,$anzeige_monat,$datum,$anzeige_jahr))]
Vielleicht magst Du Dich ja doch daran machen...?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix!
Vielen Dank für deine Erläuterungen. Grundsätzlich ist eine derartige Funktion natürlich eine schöne Sache, allerdings für mich leider nur eine sehr langfristige Perspektive. Bei einer 70-Stunden-Woche bleibt nicht viel Luft, sich in eine komplett neue Materie einzuarbeiten, so interessant diese auch sein mag. Irgendwann werde ich mich aber darüber machen und dann deine Lösung gerne in meine Überlegungen miteinbeziehen. Ich habe sozusagen eine zweifache Strategie: im Moment eine schnell zu realisierende, einfache Lösung, später dann ein Gesamtumbau. Ich bin sicherlich, was Programmieren betrifft, ein absoluter Anfänger, habe aber immerhin so viel Einblick, dass ich nur zu gut weiß, dass da nichts mal schnell übers Wochenende zu bewerkstelligen ist.
Wir haben wohl deswegen ständig aneinander vorbeigeredet, weil ich um Hilfe beim Zusammenschrauben eines Fahrrads gebeten habe, du mich aber davon überzeugen willst, doch besser einen Mercedes zu konstruieren. Ich bin ja mit dir einer Meinung, dass der viel schneller ist, man viel mehr Gepäck und andere Leute mitnehmen kann und man obendrein im Regen nicht nass wird, habe aber dennoch kein Geld dafür.
Übrigens erwarte ich keineswegs, dass mir irgendwer eine maßgeschneiderte Lösung liefern würde, allerdings finde ich Skriptbeispiele als Anfänger sehr hilfreich, da ich persönlich da im Nachvollzug weit mehr lerne als mit einer abstrakten Beschreibung. Daher auch meine Bitte um Links zu vergleichbaren Anwendungen im Ausgangsposting.
Dank der präzisen Hinweise von Wahsaga zu meinem Problem habe ich mir nun folgende Lösung geschnitzt (vgl. das Formular im Ausgangsposting):
<?php
header("Location: http://www.example.com/".$_GET['Jahr']."_".$_GET['Monat'].".htm");
?>
Die Lösung funktioniert in allen von mir getesteten Browsern, allerdings nur mit der GET-Methode. Versuche ich es mit POST, gibt's einen 403er-Fehler. GET ist für diese ultrasimple Anwendung wohl auch die angebrachte Methode, dennoch würde mich interessieren, warum POST nicht funktioniert. Falls dazu jemand eine Ahnung hat, würde ich mich freuen dazuzulernen.
Viele Grüße
Bertold
Liebe(r) Mattinys,
allerdings finde ich Skriptbeispiele als Anfänger sehr hilfreich, da ich persönlich da im Nachvollzug weit mehr lerne als mit einer abstrakten Beschreibung. Daher auch meine Bitte um Links zu vergleichbaren Anwendungen im Ausgangsposting.
Das hat mich überzeugt, Dir doch mein Script auszukoppeln und zu schicken. Möge es beim Lernen hilfreich sein!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Herzlichen Dank!
Beim ersten Reinschauen habe ich natürlich nichts verstanden, aber das motiviert dazu, dies mit der Zeit zu ändern.
Alles Gute
Bertold Mattinys