Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe zu $_POST

Einklappen

Neue Werbung 2019

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

  • Hilfe zu $_POST

    Hallo zusammen,

    ich habe eine Datenbank, deren Ergebnisse auf einer Seite (Name: results.php) tabellarisch aufgelistet werden.
    Weiterhin habe ich eine Seite, die eine erweiterte Suchfunktionalität (advancedSearch.php) darstellt. Mit ihr soll sich die gesamte Tabelle der DB durchsuchen lassen. Hierfür wird je nach Formulareingabe (aktuell POST) über eine dritte PHP-Datei (createSQLadvancedSearch.php) ein zugehöriges SQL Statement erzeugt.

    Die Funktion der dritten Datei kann ich dabei natürlich auch in die advancedSearch.php integrieren.


    Mein Problem/Fragestellung:

    Wie schaffe ich es, das erzeugte SQL-Statement an die results.php zu übergeben?

    GET: Fällt raus, da ich kein sehr sehr sehr sehr sehr langes SQL in der URL haben möchte.
    POST: Komme ich nicht weiter, da das Suchformular zwar POST hat, jedoch nur die Werte der Eingabefelder übergeben werden, oder? Der SQL-Befehl ist Aber eine zurückgegebene Variable $sqlStatement.

    Wie bringe ich die in results.php, in der ich es dann ausführe? Mit GET könnte ich es wie gesagt, aber habt ihr Anregungen/Tipps zur alternativen Umsetzung?

    EDIT: Zur Vereinfachung: Wie übergebe ich einen längeren String zwischen zwei PHP-Seiten ohne GET?

    Absichtlich kein Code, falls gewünscht hänge ich ihn gerne an.

  • #2
    Die naheliegende Lösung wäre wohl das Statement in der result.php zu erstellen.

    Ist die advancedSearch.php die View?
    Aus deiner Beschreibung geht nur hervor, dass deine Struktur ungünstig ist.
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      MOD: Verschoben von PHP-Fortgeschritten
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Wenn Du unbedingt an Deiner Struktur festhalten willst, kannst Du Deinen String als Session-Variable speichern. Siehe PHP, Sessions.
        [B]Es ist schon alles gesagt. Nur noch nicht von allen.[/B]

        Kommentar


        • #5
          Es gibt auch den Input typ "hidden" für HTML-Forms, da kannst du dann alles reinpacken was du willst.

          Ansonsten würde ich dir auch Sessions empfehlen, ist super leicht.

          Kommentar


          • #6
            Wie schaffe ich es, das erzeugte SQL-Statement an die results.php zu übergeben?
            Aus deiner Beschreibung geht nur hervor, dass deine Struktur ungünstig ist.
            Deine Struktur ändern; denn Dein SQL irgendwo zu erzeugen und dann über Sessions mitzuschleifen ist wohl sehr ungünstig.

            Nimm eine Klasse, welche Dir Daten aus der DB zieht, nuzte diese Klasse in da wo Du Sie brauchst.

            Kommentar


            • #7
              Wenn ich das Problem richtig verstanden habe, dann sollen auf der Seite results.php eine einfache Suche und eine komplette Suche möglich sein.

              Drei php Dateien finde ich zu umständlich.

              Ich würde alles mit der results.php erledigen. Auf einem Button steht " Simple Suche " einen zweiten würde ich mit "Advanced" bezeichnen und dann mittels onClick
              und Javascript die Formulardaten an eine php Datei übergeben. Je nach gedrücktem Button würde eine simple Suche oder die vollständige Abfrage durchgeführt.

              Wenn das nicht das Problem war: Es gibt auch die Technik der geheimen Fenster. Du erstellst ein nicht sichtbares iframe, in dem alle Ergebnisse der ausführlichen Abfrage gespeichert werden.
              Wenn jetzt die results.htm aufgerufen wird, holt sich die Datei per Javascript alle Informationen aus dem geheimen iFrame.

              Kommentar


              • #8
                Zitat von Alsterwasser Beitrag anzeigen
                Wenn das nicht das Problem war: Es gibt auch die Technik der geheimen Fenster. Du erstellst ein nicht sichtbares iframe, in dem alle Ergebnisse der ausführlichen Abfrage gespeichert werden.
                Wenn jetzt die results.htm aufgerufen wird, holt sich die Datei per Javascript alle Informationen aus dem geheimen iFrame.
                Das würde die Sache so viel mehr komplexer machen ohne zusätzlichen Nutzen gegenüber den simplen Lösungen zu schaffen.
                [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
                [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

                Kommentar

                Lädt...
                X