Hallo,
gut. Den -1 Troll ignorieren wir jetzt einfach mal.
Du ganz ehrlich ob man mir hier 25+ Punkte oder 100000- Punkte gibt ist mir scheiß egal. So etwas zeugt nur dass manche Menschen nur ihre Meinung akzeptieren. Passt diesen etwas nicht wird gleich ein – vergeben. Spricht man sie Live vor Ort an ziehen sie ihren Schwanz ein und sind ganz Kleinlaut.
Das usz_ vor datum_bis war vermutlich ein Tippfehler...
Ja, das war ein Fehler, ich spiele gerade an den Feldern herum. Ich hatte erst mehrere Felder die ein Datum haben. Jetzt habe ich mich entschieden nur eines zu verwenden.
Aber jetzt noch den Workflow verstehen. Du rufst x1A5.php ohne Parameter auf und bekommst ein leeres Formular. Dort trägst Du irgendwelche Vorlagewerte ein und drückst "Suchen". Es gibt einen GET-Request an x1A5.php und der Browser hängt die eingegebenen Werte an die URL an.
Genau, mein Formular kann über zwei Wege aufgerufen werden. Entweder leer oder mit Daten, die ich per GET übergebe. Wenn ich alles ausgewählt habe, klicke ich oder der Besucher auf den Button „Senden“ Dann werden die Werte, die unter dem Formular stehen gefiltert z.B. nach dem Datum.
Die URL nimmst Du und schickst sie wem anderes (vom unschönen Ende mal abgesehen). Dieser andere ruft sie auf und bekommt das vorausgefüllte Formular.
Genau, nachdem ich dann das gefilterte Ergebnis habe, klicke ich in die URL – Leiste und sage Kopieren oder drücke STRG + C klappt auch alles wunderbar. Nur mich stört eben dieser Zusatz „&abschicken=Suchen“ klar könnte ich jetzt in die Mail gesehen und den Bereich „&abschicken=Suchen“ einfach löschen, das Ergebnis ist genau das gleiche. Dieser Parameter hat also keine Auswirkungen. Nur manchmal vergesse ich dieses. Sieht einfach schöner aus, wenn er weg ist.
Ich verstehe noch nicht, wie die Arbeitsschritte "Vorlage erstellen" und "Vorlage anwenden" sich unterscheiden. So, wie es jetzt aussieht, gar nicht. Du führst eine Suche durch und bekommt eine Ergebnisseite, wo oben Suchkriterien stehen und darunter die Treffer. Die URL der Ergebnisseite schickst Du weiter, der Empfänger ruft die URL auf und bekommt deine Suchkriterien und -ergebnisse. Dann kann er noch die Kriterien verfeinern und weiter suchen.
Vorlage? Davon habe ich nichts geschrieben. Mir geht es nur darum dass ich ein vorgefertigtes Formular mit allen Optionen die ich gewählt habe und für Sinnvoll halte verschicken kann.
Mit der Existenz des "abschicken" Schlüssels kannst Du höchstens unterscheiden, ob die URL in den Browser kopiert wurde (ohne das &abschicken=Suchen Schwänzchen) oder ob der Anwender auf den Suchen-Button geklickt hat. Ist diese Unterscheidung wichtig? Du hast es ja als Schönheitsfehler bezeichnet, d.h. dein Workflow würde auch funktionieren, wenn der Empfänger der URL dieses Schwänzchen bekommen würde. Richtig? Und dann kann man es auch immer weglassen, sprich dem submit-Button kein name Attribut geben und diesen $_GET-Key einfach nicht abfragen.
Jetzt nicht böse gemeint, aber ich glaube du hast mein Problem nicht verstanden? Es geht mir nur darum, den „&abschicken=Suchen“ zu löschen bzw. es irgendwie hinzubekommen dass dieser erst gar nicht in der URL auftaucht. Für mein Script benötige ich diesen Parameter in der URL nicht.
Es sieht so aus, als ob Du pro Parameter drei mögliche Werte hättest:
- Defaultwert null
- Hat die $_SESSION einen Wert zum Parameter, nimm den
- Enthält $_GET einen nichtleeren Wert zum Parameter, dann nimm den und schreib ihn in die Session
Genau, es gibt zwei Varianten, wenn NULL, dann wurde das Formular einfach so ohne Parameter aufgerufen und alle Einträge werden angezeigt. Wenn ich die Suche abgeschickt habe, dann werden die $_GET und $_SESSION gefüllt.
Nummer 3 tust Du nur, wenn der abschicken-Key vorhanden ist. Was würde geschehen, wenn du Nummer 3 immer ausführst, unabhängig vom abschicken Key? Würde das zu Fehlern in deiner Verarbeitung führen?
Das verstehe ich jetzt nicht.
Es wäre dann übrigens nützlich, diese Logik nur einmal zu schreiben:
function ermittleParameterwert($name) {
$wert = NULL;
if (isset($_SESSION[$name]))
$wert = $_SESSION[$name];
if (!empty($_GET[$name])) {
$wert = $_GET[$name];
$_SESSION[$name] = $wert;
}
return $wert;
}
$name = ermittleParameterwert('name');
$projektnummer = ermittleParameterwert('projektnummer');
$datum_von = ermittleParameterwert('datum_von');
$datum_bis = ermittleParameterwert('datum_bis');
Das verstehe ich leider auch nicht, sieht aber interessant aus.
Ich werde es jetzt wie folgt umsetzten:
- URL generieren mit allen Parameter
- Die URL nach dem Abschicken in einem Input-Feld neu zusammenbauen exklusiv dem &abschicken=Suchen Paramter
- auf einen Button klicken, dass diese URL in den Zwischenspeicher kopiert wird
- Mit dieser URL weiterarbeiten / verschicken.