php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack (2) Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  2 links from elsewhere to this Post. Click to view. #1 (permalink)  
Alt 07-04-2013, 13:56
porphyr
 Registrierter Benutzer
Links : Onlinestatus : porphyr ist offline
Registriert seit: Apr 2013
Beiträge: 8
porphyr befindet sich auf einem aufstrebenden Ast
Standard 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
Mit Zitat antworten
  #2 (permalink)  
Alt 07-04-2013, 17:56
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

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.
Mit Zitat antworten
  #3 (permalink)  
Alt 07-04-2013, 18:46
porphyr
 Registrierter Benutzer
Links : Onlinestatus : porphyr ist offline
Registriert seit: Apr 2013
Beiträge: 8
porphyr befindet sich auf einem aufstrebenden Ast
Standard

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
Mit Zitat antworten
  #4 (permalink)  
Alt 07-04-2013, 19:51
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

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.

Geändert von Melewo (07-04-2013 um 20:24 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 07-04-2013, 22:15
porphyr
 Registrierter Benutzer
Links : Onlinestatus : porphyr ist offline
Registriert seit: Apr 2013
Beiträge: 8
porphyr befindet sich auf einem aufstrebenden Ast
Standard

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
Mit Zitat antworten
  #6 (permalink)  
Alt 08-04-2013, 08:47
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

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.
Mit Zitat antworten
  #7 (permalink)  
Alt 08-04-2013, 09:57
porphyr
 Registrierter Benutzer
Links : Onlinestatus : porphyr ist offline
Registriert seit: Apr 2013
Beiträge: 8
porphyr befindet sich auf einem aufstrebenden Ast
Standard

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
Mit Zitat antworten
  #8 (permalink)  
Alt 08-04-2013, 11:20
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
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.
Mit Zitat antworten
  #9 (permalink)  
Alt 10-04-2013, 11:53
porphyr
 Registrierter Benutzer
Links : Onlinestatus : porphyr ist offline
Registriert seit: Apr 2013
Beiträge: 8
porphyr befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
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
Mit Zitat antworten
  #10 (permalink)  
Alt 10-04-2013, 14:31
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
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.
Mit Zitat antworten
  #11 (permalink)  
Alt 10-04-2013, 17:22
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

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
Mit Zitat antworten
  #12 (permalink)  
Alt 10-04-2013, 17:28
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
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:
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">
Mit Zitat antworten
  #13 (permalink)  
Alt 16-04-2013, 14:08
porphyr
 Registrierter Benutzer
Links : Onlinestatus : porphyr ist offline
Registriert seit: Apr 2013
Beiträge: 8
porphyr befindet sich auf einem aufstrebenden Ast
Standard

@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
Mit Zitat antworten
  #14 (permalink)  
Alt 16-04-2013, 14:26
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
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
Mit Zitat antworten
  #15 (permalink)  
Alt 27-04-2013, 10:43
porphyr
 Registrierter Benutzer
Links : Onlinestatus : porphyr ist offline
Registriert seit: Apr 2013
Beiträge: 8
porphyr befindet sich auf einem aufstrebenden Ast
Standard

WOW!!! DER HAMMER!!!

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

VIELEN,VIELEN DANK!!!
Mit Zitat antworten
Antwort

Lesezeichen


LinkBacks (?)
LinkBack to this Thread: https://www.php-resource.de/forum/php-developer-forum/103919-html-formular-per-php-script-aufrufen.html
Erstellt von For Type Datum
php script aufrufen - WEB.DE - Web-Suche This thread Refback 16-06-2014 16:39
html aufruf php - WEB.DE - Web-Suche This thread Refback 03-11-2013 21:36

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Script per Cronjob aufrufen lx-club PHP Developer Forum 5 31-08-2010 13:14
Formular per PHP erzeugen (Script im Script) thommy2006 PHP Developer Forum 12 24-04-2006 18:26
html-Formular per Button an php script übergeben und an sql-danbank senden/speichern Maenneken PHP Developer Forum 26 21-12-2005 10:49
Email in HTML per PHP-Script verschicken Pebbles PHP Developer Forum 14 20-02-2003 09:17
per Formular bestehende htaccess aufrufen ... Songocko PHP Developer Forum 1 18-10-2002 23:15

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:28 Uhr.