Portal > Foren > PHP > PHP-Programmierung > fsockopen & Formulare
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 16.07.2006, 20:54 Nach oben    #1
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard fsockopen & Formulare

Hi Leute

Habe die Suchfunktion benutzt mit folgenden Stichworte "formulare php" "formular absenden" "fsockopen"

konnte jedoch leider nichts zum Thema finden ausser ein Tutorial welche smir nicht weiterhelfen konnte.


Also hier mal mein vorgang wenn ich es per hand mache.
Ich klicke auf den submit button meines Formulares, ich komme auf eine Seite mit bestimmten Daten, welche nur angezeigt werden wenn ich übers Formular komme, schau mir die daten an und speicher sie in meine mysql datenbank.

Nun möchte ich das automatisieren.

Ich hab gehört das mir die Funktion fsockopen dabei behilflich ist. Stimmt das? Automatisiert soll nur das absenden des Formulars werden, damit ich die angesteuerte seite auslesen kann.(natürlich mit erlaubnis meiner partnerseite.)

Wäre super wenn mich jemand per ICQ (130244879) anschreiben könnte. So versteh ichs einfach am besten.

Achja, und auch die erklärung von fsockopen bei php.net ist mir etwas zu kompliziert.

wäre erfreut wenn sich jemand mir annehmen kann.

Danke

mfg Niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-

Geändert von Niedi (16.07.2006 um 20:57 Uhr).
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2006, 21:14 Nach oben    #2
leftover when bar closes
 
Benutzerbild von dsxs
 
Registriert seit: 29.06.2006
Ort: Bern
Beiträge: 123
Standard

Kennst du cURL?
http://ch2.php.net/curl
__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.
ticketbörse

dsxs ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2006, 21:18 Nach oben    #3
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Zitat:
Zitat von Niedi
Ich klicke auf den submit button meines Formulares, ich komme auf eine Seite mit bestimmten Daten, welche nur angezeigt werden wenn ich übers Formular komme, schau mir die daten an und speicher sie in meine mysql datenbank.
Was hat fsockopen damit zu tun?
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2006, 21:24 Nach oben    #4
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

Zitat:
Ich hab gehört das mir die Funktion fsockopen dabei behilflich ist. Stimmt das?
Ich dachte es ist klar das ich es nicht weiß. Mir hat jemand die Funktion fsockopen gegeben, denn die sollte mir angeblich helfen.

Aber anscheinend ja doch nicht..

Curl kenn ich nicht nein.. und es sieht ziemlich schwierig aus.. aber werde mich dennoch mal reinlesen. vielleicht gibts ja was, was ich versteh =)

mfg Niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2006, 21:56 Nach oben    #5
leftover when bar closes
 
Benutzerbild von dsxs
 
Registriert seit: 29.06.2006
Ort: Bern
Beiträge: 123
Standard

So wie ich das verstehe willst du ein Formular per POST oder GET mit Daten füttern und die folgende Seite nach Klicken von Submit auslesen?!

cURL ist da genau richtig und überhaupt nicht schwierig zu benutzen.

PHP-Code:
<?php
/**
 * TZ 2
 *
 * Type:     function
 * Name:     curl
 * Date:     October 31, 2005
 * Purpose:  Get and Post vars over http using the php.curl lib
 * @version  1.0.1
 *
 * Change Log:
 *         - 1.0     initial relsease
 *        - 1.0.1    added POST function     
 *        - 1.0.2    Review 16.05.2006
**/

// Set some globals
$user_agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.10) Gecko/20050717 Firefox/1.0.6";
$curl_debug FALSE;

$headers[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
$headers[] = 'Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3';
$headers[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';

function 
curlGET ($url){
    global 
$user_agent;
    global 
$curl_debug;
    global 
$headers;
    
    
$ch curl_init($url);
    
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_CONNECTTIMEOUT"15");
    
curl_setopt($chCURLOPT_PORT"80");
    
curl_setopt($chCURLOPT_USERAGENT$user_agent);
    
curl_setopt($chCURLOPT_HTTPHEADER$headers);
    
curl_setopt($chCURLOPT_VERBOSE0);
    
curl_setopt($chCURLOPT_COOKIEJAR"curl_cookies.txt");
    
curl_setopt($chCURLOPT_COOKIEFILE"curl_cookies.txt");
    
    
$exec curl_exec ($ch);
    
    if (
$curl_debug) {
        echo 
"CURL_DEBUG: get_url: ".$url;
    }    
    return 
$exec;
    
curl_close ($ch);
}

function 
curlPOST ($url$data) {
    global 
$user_agent;
    global 
$curl_debug;
    global 
$headers;
    
$ch curl_init($url);
    
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_CONNECTTIMEOUT"15");
    
curl_setopt($chCURLOPT_PORT"80");
    
curl_setopt($chCURLOPT_USERAGENT$user_agent);
    
curl_setopt($chCURLOPT_HTTPHEADER$headers);
    
curl_setopt($chCURLOPT_VERBOSE0);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
    
curl_setopt($chCURLOPT_SSLVERSION"2");
    
curl_setopt($chCURLOPT_COOKIEJAR"curl_cookies.txt");
    
curl_setopt($chCURLOPT_COOKIEFILE"curl_cookies.txt");

    
curl_setopt($ch,    CURLOPT_POST1);
    
curl_setopt($ch,    CURLOPT_POSTFIELDS$data);
    
    if (
$exec curl_exec ($ch)) {
        
curl_close ($ch);
        if (
$curl_debug) {
            echo 
"CURL_DEBUG: post_url: ".$url.$data;
        }    
        return 
$exec;
    } else {
    echo 
curl_error($ch);
        return 
FALSE;
        if (
$curl_debug) {
            echo 
"CURL_DEBUG cURL ERROR: post_url: ".$url.$data."<br><br><br>";
        }    
    }        
}
?>
Einbinden und dann zB so benutzen:

curlPOST('http://page.com/formularseite.php','id=12&test=asdfajsdf');

Viel Spass
__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.
ticketbörse

dsxs ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.07.2006, 23:46 Nach oben    #6
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

##edit 2##

So, erstmal vielen Dank für die Hilfe


nun zu dem cURL
Die Funktion die du postest sieht leichter aus zum verstehen, jedoch verstehe ich da eine kleinigkeit noch nicht. Muss ich jetzt das Formular ansteuern, und dann übernimmt das cURL das füllen und absenden des Formulars, und schickt die vom Formular angesteuerte Seite zurück in der $exec Variable, ODER muss ich jetzt die formulardaten sozusagen nur mit dem CURL übergeben an die andre seite, das die seite glaubt es ist das Formular? Somit wäre das Formular unnötig..

Bei den ersten Tests hier, gibt er nämlich das Formular zurück welches ich ansteuere..

Werde aber weitertesten. Wenn ichs wirklich nicht gebacken bekomm, meld ich mich nochmal *gg*

##edit 3##

Die Frage ist nun also, welche ich mir stelle, ob das cURL nun als ersatz für das Formular dient, oder eben als automatisierung des vorhanden Formulars. Es ändert sich nämlich nichts und ich bekomm immer das Formular zurück in der $exec variable

mfg Niedi


##edit 4##

Soo ich wieder =)

Habe nun weitergetestet und bin zu dem fazit gekommen, das das cURL das Formular ja eigentlich ersetzt.
Hab eben eine datei mit dem formular und EINEM textfeld erstellt, und eine zweite datei wohin das formular verschickt, mit einer ausgabe, je nachdem was übers formular verschickt wird.

Wenn ich nun mit der cURL funktion oben die erste datei also dasFormular anvisiere, dann bekomm ich das Formular zurück. Wenn ich die zweite php datei ansteuere, dann bekomm ich das zurück, was angezeigt werden würde, wenn ich über das formular kommen würde.



Nun mein Problem *gg* sorry, ich red zu viel

In meinem Formular, wofür ich das script brauche, da muss ich daten übergeben welche zu lange sind, um es mit cURL zu übergeben.. also normalerweiße ist es kein problem für POST Variablen, aber da dies ja nun eigentlich per url passiert, scheint es ihm nicht zu passen. gibts da ne lösung?

mfg Niedi

##edit5##
letzter edit erstmal =D

Das problem liegt an der Partnerseite.. nicht am script. habs mit meinem kleinem formular versucht, und da ist die letzte der variable kein problem.. Danke

fals ich was brauch, meld ich mich

mfg Niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-

Geändert von Niedi (17.07.2006 um 01:18 Uhr).
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2006, 13:07 Nach oben    #7
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

Guten morgen alle zusammen.


Bin wieder auf der Spur nach dem Fehler.
Folgendes hab ich nun herausgefunden.

Die seite die ich ansteuern möchte, braucht einen bestimmten string zugeschickt. dieser string beinhaltet aber das Zeichen "+".

Code:
dDwxOTQwNTc1MzU3O3Q8O2w8aTwxPjs+O2w8dDw7bDxpPDM+Oz47bDx0PDtsPGk

Das problem ist, wenn ich das mittels cURL übergebe, wird das + in ein leerzeichen verwandelt. somit stimmt der übergegebene Wert nicht mehr überein.

Hier habe ich euch das zum herzeigen vorbereitet:

http://www.dna-multigaming.at/mstest.php Hier das cURL

Und hier die zwei damit ihr den code sehen könnt.
http://www.dna-multigaming.at/mstest.txt
http://www.dna-multigaming.at/test3.txt


Vielleciht kann mir ja jemand helfen.

mfg Niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2006, 14:30 Nach oben    #8
Jay
Gast
 
Beiträge: n/a
Standard

Kannst du einen Link zu der Seite posten, weil ich fast glaube, dass es sich bei diesem String um einen VIEWSTATE handelt und dieser je nach verwendeter WebControls, DataControls ... und natürlich deren Inhalt verschieden ist.

MfG Jay
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2006, 15:32 Nach oben    #9
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

Hi Jay

Du hast recht, es handelt sich um einen VIEWSTATE. Den Link darf ich aber noch nicht öffentlich machen. Erst wenn das projekt fertig ist.


Gibts jetzt ne möglichkeit dieses "+" anders zu übermitteln, das es nicht als Leerzeichen übersetzt wird? Oder wäre das problem auch dann noch nicht gelöst?

mfg Niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2006, 15:38 Nach oben    #10
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

rawurlencode()
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.07.2006, 16:01 Nach oben    #11
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

Vielen Dank.

Es funktioniert soweit.

mfg Niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.07.2006, 13:51 Nach oben    #12
Jay
Gast
 
Beiträge: n/a
Standard

Zitat:
Vielen Dank. Es funktioniert soweit.
aber sofern der webmaster seine HTML Controls auf Web Controls umstellt bzw. auch nur ein Zeichen ändert wird der VIEWSTATE anders und da hast ein Problem.

Deshalb (ich weiß net ob du es schon machst) den VIEWSTATE lieber zuerst auslesen. Außerdem vielleicht auch noch auf EVENTTARGET und EVENTARGUMENT prüfen, weil wenn auf 2.0 upgegradet wird hast du ein Problem
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.07.2006, 16:08 Nach oben    #13
Benutzer
 
Benutzerbild von Niedi
 
Registriert seit: 05.09.2005
Ort: Ostarrichi
Beiträge: 51
Standard

hm, bin eh zu dem schluss gekommen, das ichs so nicht hinbekomme, auch wenn ich nicht weiß wieso. Das mit Viewstate ist mir wohl zu hoch. Schaffs ned das das Formular abgeschickt wird. von daher.. jo

Und will hier auch ned weiter drauf eingehen. wenn mir jemand helfen will, auch kostenpflichtig, dann kann er sich ja bei mir im icq melden.(im ersten post)

mfg Niedi
__________________
-_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_- -_-
Niedi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
multipart-Forms für einfache Formulare erlaubt? Basti HTML, XML und CSS 4 18.12.2006 09:39
Schwachstelle durch Formulare zum Datei-Upload und JavaScript in diversen Browsern robo47 Nachrichten 9 08.06.2006 19:33
Formulare anderer Webseiten ausfüllen Gast PHP-Programmierung 5 09.04.2006 14:04
[PHP] Formulare verstehen und auswerten WarrenFaith Tutorials 5 21.03.2006 17:11
Formulare mit gesicherten hidden-Daten Alpha Centauri PHP-Programmierung 9 15.03.2006 11:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:03 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44