Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

POST Daten �ber PHP versenden (ohne Formular

Mitglied: milena555

milena555 (Level 1) - Jetzt verbinden

13.06.2006, aktualisiert 16.06.2006, 8199 Aufrufe, 9 Kommentare

Hallo zusammen
Ich möchte über den Aufruf einer Seite POST-Daten an eine andere Seite senden. Ich möchte dies nicht durch ein Formular machen, da bereits beim Aufruf (nicht erst beim klicken auf submit) die Daten abgeschickt werden sollen. Habe dazu bereits etwas gegoogelt und folgendes zusammengestiefelt:

01.
function sendToHost($host,$path,$file) 
02.
03.
 
04.
$file = str_replace("\r", '', $file);  
05.
$file = str_replace("\n", '', $file); 
06.
$file = urlencode($file); 
07.
 
08.
    $fp = fsockopen($host, 80); 
09.
 
10.
    fputs($fp, "POST $path HTTP/1.1\r\n"); 
11.
    fputs($fp, "Host: $host\r\n"); 
12.
    fputs($fp, "Content-length: " . strlen($file) . "\r\n"); 
13.
    fputs($fp, "Connection: close\r\n\r\n"); 
14.
     
15.
    fputs($fp, $file); 
16.
     
17.
    while (!feof($fp)) { 
18.
    	  $fget = fgets($fp, 128); 
19.
        $buf .= $fget; 
20.
21.
    fclose($fp); 
22.
    return $buf; 
23.
24.
 
25.
 
26.
sendToHost('www.Zielseite.com','/home/Pfad/sonstwas.php','pdata%2FErsterWert%2F1=1&pdata%2FZweiter%2F6=10');
So sollten also die Daten
pdata/ErsterWert/1=1
pdata/Zweiter/2=10
an die Seite www.Zielseite.com/home/Pfad/sonstwas.php gesendet werden. leider geschieht nichts. Die Funktion wird ausgeführt bis zum Schluss (Getestet mit Echo-Ausgaben an versch. Stellen) und es gibt keine Fehlermeldung. Aber kein POST wird gesendet (Tamper Extension für Firefox)
Allerdings erhalte ich im Tamper zu einem Get ein 404. Sehe darin aber nirgends meine URL.

Hoffe das ist jetzt nicht zu kompliziert. Währe wirklich dankbar für Hilfe, ich komm hier nicht mehr weiter weil mir das Fachwissen fehlt und dabei würde es mich wahnsinnig interessieren...
Danke schön, schönen WM-Abend an alle
Mitglied: filippg
13.06.2006 um 18:35 Uhr
Hallo,

sieht auf den ersten Blick ganz vernünftig aus. Das einzige, was mir auffällt, ist, dass die PHP-Hilfe fwrite empfiehlt:
<code>
<?php
/* Send POST request to https://secure.example.com/form_action.php
  • Include form elements named "foo" and "bar" with dummy values
*/

$sock = fsockopen("ssl://secure.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$data = "foo=" . urlencode("Value for Foo") . "&bar=" . urlencode("Value for Bar");

fwrite($sock, "POST /form_action.php HTTP/1.0\r\n");
fwrite($sock, "Host: secure.example.com\r\n");
fwrite($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Content-length: " . strlen($data) . "\r\n");
fwrite($sock, "Accept: */*\r\n");
fwrite($sock, "\r\n");
fwrite($sock, "$data\r\n");
fwrite($sock, "\r\n");

$headers = "";
while ($str = trim(fgets($sock, 4096)))
$headers .= "$str\n";

echo "\n";

$body = "";
while (!feof($sock))
$body .= fgets($sock, 4096);

fclose($sock);
?>
<code>
(Aus der PHP-Hilfe, lässt sich dort als CHM-Datei (kompilierte HTML) herunterladen.

Filipp
Bitte warten ..
Mitglied: milena555
14.06.2006 um 09:37 Uhr
Ich habe diesen Code jetzt auch noch ausprobiert. aber auch hier dasselbe Resultat. Tamper meldet mir den GET-Request für diese Seite, ich sehe dann zusätzlich im Tamper Fenster einen GET für ein Objekt favicon.ico für das ich 404 zurückbekommen habe (also nicht erreichbar).
POST will der Browser aber keines senden und ich erhalte auch weder Fehler- noch sonst eine Meldung. Ich denke ich werd erst mal lokal eine Seite aufbauen, an die ich die Daten senden will. Bisher hab ich versuch eine Internet-Seite so zu erreichen ;)
Falls noch jemand eine Idee hat was ich falsch mache oder woran es sonst liegen könnte, immer wilkommen!
Bitte warten ..
Mitglied: milena555
14.06.2006 um 09:47 Uhr
Nein, auch an eine lokale Seite wird nichts gesendet. Hat schon mal jemand getestet ob der Code funktioniert?
Bitte warten ..
Mitglied: filippg
14.06.2006 um 13:22 Uhr
einen GET
für ein Objekt favicon.ico für das
ich 404 zurückbekommen habe (also nicht
erreichbar).
Der ist erklärbar. Dein Browser will automatisch das Favicon laden (wird vor Lesezeichen und in der Adressleiste vor der URL angezeigt), dass der Webserver aber wohl nicht anbietet.

POST will der Browser aber keines senden und
ich erhalte auch weder Fehler- noch sonst
eine Meldung.
Das war aber ein Schreibfehler, oder? Den Request sendet der Server (auf dem PHP ausgeführt wird), nicht der Browser.
Oh, oder doch nicht? Klar, dass du im Tamper keine Request siehst...
Wenn der Request vom Browser aus gesendet werden soll, dann musst du auch eine Sprache nehmen, die dort ausgeführt wird, nicht auf dem Server. Also etwa JavaScript. Für dich käme dann wohl sowas wie AJAX in Frage.

Filipp
Bitte warten ..
Mitglied: milena555
14.06.2006 um 16:36 Uhr
Hm. Scheint so als hätte ich da was ganz falsch verstanden. Ich möchte eine Webseite haben, bei deren Aufruf Formulardaten (ohne Formular ) an eine andere Seite gesendet werden.
Diese Daten werden ja normalerweise in über den Klick auf Absenden im Formular übertragen. Das ist doch Browser-Seitig?!? Der Server sendet dann die Daten weiter und über den Server werden sie auch ausgewertet. Bei Formular-Absendungen sehe ich die POST-Daten dann auch im Tamper.
Aber ist natürlich möglich, dass das bei PHP-Skripts zum POST senden nicht so ist.
Liegt also mein Fehler nur darin, dass ich dann die Ergebnisseite, also die, an welche Daten gesendet werden, nicht aufrufe und somit nichts sehe?
Wie mach ich das mit dem Aufrufen?
Bitte warten ..
Mitglied: filippg
14.06.2006 um 17:51 Uhr
Hallo,

grundsätzlich ist es schon so: du hast im Browser ein Formular, dann klickst du da auf Senden und der Browser sendet diese Formular (per HTTP-GET oder -POST) an einen Server.
Aber: Auch ein Server kann beliebige Daten (u.a. Formulare) an andere Server schicken. Das wird auch teilweise gemacht, damit kann man z.B. Ergebnisse von Suchmaschinen in eigene Seiten einbinden. Und dazu nimmt man u.a. PHP.
Grundsätzlich wird PHP immer auf dem Server ausgeführt, d.h. wenn du ein Formular per PHP versendest, dann wird es vom Server aus versendet. Der Server verarbeitet die PHP-Befehle und liefert dann nur das Ergebnis an den Browser aus. Schau doch einmal bei einer Seite, die mit PHP erstellt wurde in den Quelltext im Browser: da ist vom PHP nichts mehr da.
Wenn du Befehle auf dem Client (Browser) ausführen willst gibt es dafür andere Sprachen, z.B. JavaScript oder Java (Applets).
Vielleicht solltest du einfach mal sagen, was du überhaupt machen willst, ich befürchte du hast da irgendwo einen sehr grundsätzlichen Denkfehler.

Filipp
Bitte warten ..
Mitglied: milena555
15.06.2006 um 09:45 Uhr
nene, ich will schon mittels php senden. Eigentlich will ich einfach ein Formular, das man auf der Seite sonst von Hand im Browser ausfüllen und abschicken muss, von meiner Seite aus ausfüllen.
Danach soll die Ergebnisseite angezeigt werden, die ich auch im Browser dann hätte. Also die Bestätigungsseite.
Bitte warten ..
Mitglied: filippg
15.06.2006 um 12:14 Uhr
Gut, wie gesagt: wenn du mittels PHP senden willst, dann musst du vom Server aus senden.
Aber du kannst eine PHP-Seite erstellen, die vom Server aus sendet, das Ergebnis empfängt und an den Client weiterleitet. Das sollte mit dem von mir geposteten Skript gehen.
Bitte warten ..
Mitglied: milena555
16.06.2006 um 08:25 Uhr
hm. Kommt aber nichts. Ich hab den Code ja getestet.
Bitte warten ..
Ähnliche Inhalte
PHP
Große Files posten mit php
Frage von it4baerPHP7 Kommentare

Hallo, ich habe mal wieder eine Frage. Von einem bekannten habe ich eine Funktion welches Daten verarbeitet und diese ...

PHP
PHP Problem mit Formular
gelöst Frage von vServerPHP6 Kommentare

Hallo, ich habe ein Formular jedoch ein Problem das später nicht alle Felder weitergegeben werden? und hier hab ich ...

Entwicklung

Daten aus Formular sicher übertragen

gelöst Frage von schneerunzelEntwicklung2 Kommentare

Hallo zusammen, Ich möchte meine Frage, die ich heute schon ein mal mit einer anderen Herangehensweise hier im Forum ...

Windows Server

PDF Formular - Daten können nicht gespeichert werden

gelöst Frage von el-capitano86Windows Server5 Kommentare

Hallo zusammen, kurz zur Umgebung: 1x SBS 2008 und 1x Terminalserver unter 2008. Die User arbeiten alle ausschließlich auf ...

Neue Wissensbeiträge
Cloud-Dienste

Neue Exchange Online und Office 365 Limits ab 01.06.2018

Tipp von decathlon vor 4 StundenCloud-Dienste

Achtung für alle Exchange Online Nutzer die es vielleicht übersehen haben. Ab 01. Juni gilt folgendes neues Limit User ...

Humor (lol)
Meine Variante der DSGVO
Tipp von Henere vor 1 TagHumor (lol)4 Kommentare

Datenschutzerklärung Jede gute Website braucht eine Datenschutzerklärung? Ok, dann machen Sie sich auf etwas gefasst. Präambel Artikel 12 der ...

Administrator.de Feedback

Entwicklertagebuch: Datenschutzerklärung nach DS-GVO

Information von admtech vor 2 TagenAdministrator.de Feedback

Hallo Administrator User, Wir respektieren eure Privatsphäre und möchten euch daher auf die Möglichkeiten für den Umgang mit euren ...

Voice over IP

Rufnummernblock aufbrechen nun möglich bei DTAG

Tipp von Datenreise vor 2 TagenVoice over IP

Bei der Telekom ist es seit einigen Tagen laut Aussage der Geschäftskunden-Hotline möglich, eine Rufnummernübernahme auch dann durchzuführen, wenn ...

Heiß diskutierte Inhalte
CPU, RAM, Motherboards
Wieviel Lüfter hat ein HP Elitebook 8730w ?
Frage von -WeBu-CPU, RAM, Motherboards8 Kommentare

Guten Morgen, gestern Abend hat sich bei meinem HP ein/der Lüfter hörbar abgeschaltet oder stark runter geregelt, obwohl das ...

Batch & Shell
Brauche hilf bei einer batch Datei
solved Frage von PilllllleBatch & Shell7 Kommentare

hallo, ich versuche mit Hilfe von einer batch- Datei eine bestimmt Zeile aus einer txt- Datei in eine neue ...

Batch & Shell
Brauche Hilfe bei einer batch datai
solved Frage von PilllllleBatch & Shell7 Kommentare

hallo ich möchte mithilfe von einer batch datei den aktuell verbundenen Netzwerknamen abfragen lassen für hilfe währe ich sehr ...

Windows Server
Passwort für Terminalserver-Login über IGEL-Client neu vergeben ?
solved Frage von WernimanWindows Server6 Kommentare

Hallo, ich bin -verglichen mit euch- ein absoluter Rookie in der Branche, habe aktuell seit meiner Ausbildung gerade den ...