Dies ist ein sehr schwieriges Problem zu beschreiben.php/mysql/javascript - Müssen GET-Variable rundherum (einschließlich in URL) festlegen, nachdem die Seite
Das große Bild: Ein Ajaxed-Dialog wird an eine Seite übergeben, um einen neuen Content-Set-Datensatz zu erstellen. Nach dem Erstellen des Inhaltssatz-Datensatzes sollte dieser neu erstellte Inhaltssatz der ausgewählte Inhaltssatz sein, und für alle Inhalte, die erstellt oder geändert werden, muss die neu erstellte Inhaltssatz-ID angehängt werden. Die Content-Set-ID wird mit einem Auto-Inkrement-Feld in MySQL beim Laden der Seite erstellt.
Problemdetails: Ich habe eine Seite, die Ajax verwendet, um einen Content Set-Erstellungsdialog aufzurufen. Der Dialog wird an eine leere URL übergeben, da er von mehreren Orten aus aufgerufen werden kann und der Dialog an die URL übergeben werden soll, von der er aufgerufen wurde. Nachdem der Dialog an die Seite übergeben wurde, von der er aufgerufen wurde, erstellt PHP auf der Seite einen Inhaltssatz-Datensatz in der MySQL-Datenbank. Ich brauche die Einfüge-ID des neu erstellten Datensatzes, die mit einer GET-Variable von Seite zu Seite übergeben wird (einfachste Methode, da ich bereits Paginierungsvariablen auf diese Weise übergebe), aber da die Seite geladen werden muss, bevor ich die Einfüge-ID abrufen kann, habe ich keine Möglichkeit, alle Orte zu füllen, die die GET-Variable bewohnen soll (auf Seiten-Links, php $ _GET-Variable, der URL).
einige Dinge zu beachten:
- würde ich die neu geschaffene Einsatz id um über eine Session-Variable übergeben, es sei denn diese Probleme verursacht, wenn jemand die Zurück-Taste trifft, und die Session-Variable auf seine früheren nicht zurückkehren Wert.
- Ich würde Javascript und PHP verwenden, um die verschiedenen Stellen zu ändern, an denen diese INSERT-ID-Variable verwendet wird, außer wenn sie ein anderes ajaxed-Dialogfeld aufrufen, das an eine leere URL übermittelt, die leere URL wird natürlich nicht die neue GET-Variable haben. Auch das scheint sehr schlampig und wäre ein Alptraum zu halten.
- Ich würde, nach der Erstellung des Datensatzes, umleiten zurück auf die gleiche Seite nach dem Hinzufügen der neuen GET-Variable, außer ich wäre nicht in der Lage, POST Vars übergeben, so dass Fehler und Erfolgsmeldungen ein völliger Schmerz in den Arsch. Ich möchte GET vars nicht verwenden, um der Seite mitzuteilen, welche Fehler-/Erfolgsmeldung angezeigt werden soll, da GET vars mit Hilfe von $ _SERVER ['QUERY_STRING'] sowie leeren Links um Seite zu Seite weitergeleitet wird.
- Ich könnte einfach nicht das neu erstellte Content-Set Autoload nach der Erstellung machen. Dies führt dazu, dass der Benutzer den zusätzlichen Schritt des Ladens des neu erstellten Inhaltssatzes selbst ausführt, was ich vermeiden möchte.
Gibt es irgendeine elegante Lösung? Dieses Problem kann aufgrund der Art und Weise, wie die Website eingerichtet wird, sehr einzigartig sein, aber jemand muss etwas ähnliches getan haben. Ich hoffe, dass ich das Design der Seite nicht zu sehr verändern muss, um dieses kleine Problem zu lösen. Irgendwelche Ideen sind willkommen.
Ich mag diese Idee wirklich. Dies könnte in vielerlei Hinsicht nützlich sein. Ein Problem könnte sein, dass wenn der Benutzer die Zurück-Taste mehrmals drückt, sie möglicherweise mehrere ID-Änderungen benötigt, die nicht alle in der Sitzungsvariablen gespeichert werden. Aber ich bin mir sicher, dass ich diese in Verbindung mit einer GET-Variablen oder etwas verwenden könnte eine immerwährende Rückwärtskette der Session-IDs. – dqhendricks