HTML Formular per PHP Script aufrufen?

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

  • HTML Formular per PHP Script aufrufen?

    Hallo,

    ich bin Neuling und bitte ggf. um Nachsicht für meine Frage:

    Auf einer HTML Seite ist folgendes Formular:

    <form action="http://www.???anonym.com???/search/results" method="post" accept-charset="utf-8">
    <input name="terms" class="searchbox" type="text">
    <input name="" value="" class="searchsubmit" type="submit">
    </form>

    Das Fomular bietet ein Eingabefeld für einen Namen und einen Absendeknopf. Es wird ein Name eingeben und dann je nach Suchergebnis vom Server eine Anwortseite ausgegeben.

    Ich würde diese Suche gern mit einem PHP Script starten, d.h. das Script müsste vermutlich die Seite mit dem Formular aufrufen, den (Such)Namen eingeben und das Formular abschicken - ich vermute aber, dass ich per PHP auch die Daten direkt an den Server schicken könnte (die Adresse ist ja bekannt), den das Formular sonst bei manueller Benutzung verschickt?

    Der Grund für dieses Vorhaben ist, die Suche aus einem anderen Programm heraus zu starten. Die Ergebnisseite müsste dann nach bestimmten Strings durchsucht werden, damit ich in dem externen Programm ein Ergebnis der Suche verwenden könnte.

    Die Frage ist, welche Daten ich schicken müsste und wie die entsprechende Syntax dazu aussieht - oder geht das gar nicht so, wie ich mir das denke???

    Ich würde mich über jede Hilfe und Rat sehr freuen.

    porphyr

  • #2
    Habe Deine Frage nicht richtig verstanden.
    Was verstehst Du unter einem externen Programm?
    Dieses externe Programm soll Namen ausspucken, zu denen eine passende Datenbank-Abfrage ausgeführt werden kann, um die Ergebnisse der Abfrage mit einzublenden?
    Dann könntest Du die Namen zum Beispiel per QueryString übergeben, dafür sind die unter anderen gedacht.

    Ansonsten, ein Formular bleibt ein Formular, egal ob es sich um eine PHP-Seite handelt oder nicht, denn durchs Parsen wird aus einer PHP-Seite eine "gewöhnliche" HTML-Seite, die ein HTML-Formular enthält.

    Kommentar


    • #3
      oh je, ich hab mir schin gedacht, dass allein mein Problem deutlich zu machen, schwer wird.

      Also: In das Formular gibt man einen Namen ein, schickt das ab und bekommt eine Antwortseite mit einem Ergebnis.

      Soweit die manuelle Benutzung.

      Jetzt bastele ich an einem Programm. Wenn dieses Programm läuft, macht es verschiedene Dinge, u.a. soll man dort den Namen eingeben können und dann soll das Programm die Abfrage durchführen. Man muss also nicht selbst auf die Seite mit dem Formular gehen, dort den Namen eingeben und das Formular abschicken sondern das soll das laufende Programm erledigen.

      Ich hatte mir gedacht, das ein PHP Script dafür ideal wäre weil es dann als zweiten Schritt auch das Ergebnis auswerten und an das Programm zurückgeben könnte.

      Ich müsste also aus dem laufenden Programm heraus eine Abfrage an den Server schicken und die Antwortseite auslösen, wie das sonst durch die manuelle Eingabe in das Formular erfolgen würde.

      Ich stelle mir das vom Ablauf ungefähr so vor

      1. Programm läuft
      2. User macht dort eine Eingabe
      3. Programm schickt den Wert (Name) an ein PHP Script
      4. Das PHP "simuliert" die manuelle Abfrage, generiert eine Suchanfrage und schickt diese Anfrage an den Server, wie er sie sonst nach Absenden des Formulars bekommt.
      5. Server bekommt die Abfrage, führt Suche aus und schickt eine Antwortseite
      5. PHP durchsucht die Antwortseite
      6. PHP schickt eine Ergebnismeldung an das Programm.

      Ich MUSS mich an das Formular halten und kann keine direkte Abfrage bei der Datenbank starten, da mir die Datenbank nicht gehört und ich als Schnittstelle bisher lediglich das Formular manuell benutzen kann.

      Mein aktuelles Problem beginnt schon damit, das ich nicht weiss, wie die Abfrage aussieht, die das Programm nach Eingabe des Namens und Druck auf submit an den Server schickt. Es muss ja irgendein irgendwie formatierter String sein und meine Idee wäre eben, diese Abfrage von PHP zusammenzustellen und abschicken zu lassen. Dann müsste der Server eigentlich die Abfrage so ausführen, als wenn er sie durchmanuelle Eingaben in das Formular bekommen hätte und die Antwortseite senden.

      Ich müsste dazu vermutlich das PHP Script auf meinem eigenen Server installieren (mein Provider erlaubt mir das) und vom Programm den Suchbegriff zu diesesd Script schicken usw.usw.

      Ich hoffe, dass ich jetzt deutlich machen konnte, was ich machen möchte.

      Danke und Grüsse
      porphyr

      Kommentar


      • #4
        Und die Seite mit dem Formular gehört Dir aber?
        Dann könntest Du statt dem Formular zum Beispiel eine cURL Funktion benutzen. Bei Post wird das Parameter-Werte-Paar im Body der Anfrage übergeben, viel mehr ist da auch nicht enthalten, falls Du keine Authentifizierung oder so mitunterbringst.

        Anders sieht es aus, wenn Dir die Seite mit dem Formular nicht gehört. Automatisierte Abfragen möchte keiner erhalten. Theoretisch möglich, doch mit derartigen Gedanken würde ich meine Zeit nicht verschwenden und habe noch nie darüber nachgedacht. Nur umgekehrt, wie ich bei mehr als x-Zugriffen von einer IP meine eigene Formulare für den weiteren Zugriff sperren kann. Und ich denke, dass werden einige andere auch irgendwie so handhaben und sich da absichern.
        Zuletzt geändert von Melewo; 07.04.2013, 20:24.

        Kommentar


        • #5
          Hallo,
          nein, die Seite mit dem Formular gehört mir nicht. Dem Anbieter sollte es aber egal sein, WIE ich die Abfrage aufrufe. Ich will ja nicht MEHR Zugriffe machen sondern es mir nur bequemer machen, d.h die Zugriffe, die ich über das Programm mache, mache ich nicht mehr manuell so dass sich die Anzahl der Abfragen insgesamt nicht ändert.

          Jetzt muss ich die Abfrage machen, das Ergbenis kopieren und dann weiterbenutzen. Ich wollte den Vorgang nur zusammenfassen.

          Beste Grüsse
          porphyr

          Kommentar


          • #6
            Bevor Du beginnst einen Crawler oder Scraper zu bauen, der Anfragen durch Nutzereingaben vortäuscht, in dem er Anfragen von einer Seite auf eine andere weiterleitet, wäre es aber einfacher und seriöser, beim Anbieter nachzufragen.

            Kommentar


            • #7
              Hallo,

              eigentlich wollte ich nur etwas technische Nachhilfe.

              Aber wenn Du schon eine Wertung vornehmen willst, nimm bitte zur Kenntnis, dass es unterschiedliche Auffassungen gibt. Ich möchte nichts anderes, als die von diesem Anbieter angebotene Suche zu benutzen.

              Ob ich diese Suche höchstpersönlich vornehme oder ein Werkzeug benutze, um es mir etwas bequemer zu machen, spielt für den Anbieter letzten Endes keine Rolle. Ich benutze sein Angebot deshalb weder mehr noch weniger, auf der Seite wird auch nichts weiter angeboten, ich entziehe mich daher auch nicht Werbung oder etwas ähnlichem. Statistisch kann der Anbieter die Anfrage nach wie vor auswerten, da ich die Anfrage durch meine "Simulation" genau so auslöse, wie vorher manuell. Ich sehe daher für den Anbieter keinerlei Nachteile sondern nur für mich einen Komfortgewinn.
              Ausserdem war nie die Rede davon, dass ich das Suchergebnis auf eine andere Seite umleiten und damit ggf. Aussenstehenden zugänglich machen will. ich habe immer nur davon gesprochen, dass ICH das mein Programm benutzen will, um es MIR etwas einfacher zu machen. Warum sollte also mein Vorhaben so kritisch beurteilt werden?

              Weiter möchte ich mich auf diese Diskussion nicht einlassen. Ich wäre froh, wenn meine Bitte um Hilfe das fachliche Problem in den Vordergrund rücken würde.

              Vielen Dank
              porphyr

              Kommentar


              • #8
                Zitat von porphyr Beitrag anzeigen
                Ich wäre froh, wenn meine Bitte um Hilfe das fachliche Problem in den Vordergrund rücken würde.
                Schrieb ich doch, Crawler, Scraper oder wie immer man das bezeichnen mag. Also einen Bot programmieren, der die Suchanfrage mit im Request übergibt, auch den aktuellen User-Agent durchreicht, dann den gewünschten Abschnitt aus der Response scrapt.

                Kommentar


                • #9
                  Schrieb ich doch, Crawler, Scraper oder wie immer man das bezeichnen mag. Also einen Bot programmieren, der die Suchanfrage mit im Request übergibt, auch den aktuellen User-Agent durchreicht, dann den gewünschten Abschnitt aus der Response scrapt.
                  danke, JETZT weiss ich ganz genau, wie's geht...

                  porphyr

                  Kommentar


                  • #10
                    Zitat von porphyr Beitrag anzeigen
                    danke, JETZT weiss ich ganz genau, wie's geht...
                    Hört nicht so sehr überzeugend an. Nun gut, auf Deiner Seite erstellst Du ein Formular mit dem Du die Suchanfrage und den aktuellen User Agent an ein Script übergibst, im Beispiel nenne ich die hier bot.php.

                    PHP-Code:
                    <form action="bot.php" method="get">
                    <input type="text" name="suche">
                    <input type="hidden" name="agent" value="<?php echo htmlspecialchars($_SERVER["HTTP_USER_AGENT"]); ?>">
                    <input type="submit" value="Suche">
                    </form>
                    In der bot.php nimmst Du die Daten von "suche" und "agent" mit $_POST[] zur Weiterverarbeitung in Empfang und sendest eine Anfrage an den entfernten Server. Dafür sollte zu Anfang cURL ausreichende Resultate liefern, nur das Du die Optionen setzen musst.

                    PHP: curl_setopt - Manual

                    Für Post sollten wohl die Optionen CURLOPT_POST und CURLOPT_POSTFIELDS benutzt werden, habe es aber noch nicht ausprobiert. Der User Agent wird mit der Option CURLOPT_USERAGENT gesetzt. Anschließend lässt Du Dir bei den ersten Tests die Antwort erst einmal ausgeben, am bestens zusammen mit dem Header, dann siehst Du ja, ob der entfernte Server antwortet und wie er antwortet und ob die Antwort verwertbar ist. Und wenn Du jetzt damit immer noch nichts anzufangen weißt, dann lasse es halt. So würden zumindest meine anfänglichen Gedanken aussehen, wenn ich ähnliches vor hätte zu testen.

                    Kommentar


                    • #11
                      meines wissens nutzt doch jede suchfunktion immer $_GET parameter für die suche.
                      einfach im php script den "such link" richtig zusammenbauen und mit file_get_contents() abschicken

                      so wäre mein ansatz zu dir sache zumindest
                      Gruß
                      Uzu

                      private Homepage

                      Kommentar


                      • #12
                        Zitat von UzumakiNaruto Beitrag anzeigen
                        meines wissens nutzt doch jede suchfunktion immer $_GET parameter für die suche.
                        Dann wäre es einfach, doch ich gehe vom oben aufgeführten Beispiel mit method="post" aus:

                        Zitat von porphyr Beitrag anzeigen
                        Auf einer HTML Seite ist folgendes Formular:

                        <form action="http://www.???anonym.com???/search/results" method="post" accept-charset="utf-8">

                        Kommentar


                        • #13
                          @Melewo
                          Du hast recht, das war wirklich nicht so gemeint, eher ein wenig ironisch, denn wie gesagt: Ich bin Anfänger und Deine Beschreibung (Crawler, Spider usw.) ist spurlos durch mich durch gegangen...

                          Deshalb vielen Dank an Dich und UzumakiNaruto für die etwas konkretere Hilfestellung und die Überlegungen zu meinem Problem.

                          Ich habe schon einige PHP Bücher studiert aber es ist wirklich nicht einfach, ausgerechnet mit solchen Sachen anzufangen und die Erklärungen dazu sind eher als Gedankenstütze für Leute zu verstehen, die sowas schin öfter gemacht haben.

                          Jetzt werdet Ihr sagen: Dann fang doch mit was leichterem an...

                          Das ist ja auch normalerweise der richtige Weg aber ich habe nun mal dieses Vorhaben und wüsste nicht, was ich im Moment sonst noch brauchen könnte. Manchmal ist es ja auch ganz gut, wenn man sich ein schweres Ziel steckt und sich darauf zu hangelt. Lernen kann man immer was.

                          Also nochmal: Danke Für jede konkrete Hilfe :-)

                          Beste Grüsse
                          porphyr

                          Kommentar


                          • #14
                            Zitat von porphyr Beitrag anzeigen
                            Ich bin Anfänger und Deine Beschreibung (Crawler, Spider usw.) ist spurlos durch mich durch gegangen...
                            Na ja, ein Crawler ist es ja auch nicht, es wird ja nur eine Seite besucht. Hatte in der Zwischenzeit mit einem Beispiel begonnen, nur die Beschreibung ist noch nicht ganz fertig, weil ich da etwas oft etwas trödele.

                            Simpler Bot zum Auslesen entfernter Formular-Seiten | Coder-Welten.de

                            Kommentar


                            • #15
                              WOW!!! DER HAMMER!!!

                              Ich bin schwer beeindruckt und denke, das folgende Wochenende wird sowohl arbeitsreich als auch interessant :-)

                              VIELEN,VIELEN DANK!!!

                              Kommentar

                              Lädt...
                              X