brauche Webseite ideal für Vereine und Firmen
- Ad -
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! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-06-2005, 16:17
andik2000
 Registrierter Benutzer
Links : Onlinestatus : andik2000 ist offline
Registriert seit: Jan 2002
Beiträge: 791
andik2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Daten per POST im Header übergeben

Hallöchen,

ich möchte mittels PHP ein Formular verarbeiten und bestimmte Werte dann an einen anderen Sever per POST übertragen. Ich will sogar ganz auf diesen Server springen.

Per fsockopen() kann ich zwar die Daten übermitteln und bekomme ein Result, aber ich bleibe mit meinem Script auf meinem Server.

Also habe ich versucht mit header() auf den anderen Server zu springen, aber daran scheitere ich. Mit header("Location:" $url) komme ich zwar auf den Server, aber wie nehme ich meine POST Variablen mit?

Grüße,
Andi
Mit Zitat antworten
  #2 (permalink)  
Alt 10-06-2005, 16:19
prego
 PHP Senior
Links : Onlinestatus : prego ist offline
Registriert seit: May 2005
Ort: Hey ropp, hinne riwwer unn wirrer zuricke!
Beiträge: 1.602
prego ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hui, das könnte interessant werden.

Mit Post kann ich dir leider auch nicht sagen, hab ich nie gemacht...
Geht das?

Per Get fällt aus?

DirtyHack: HTML Form bauen und per JavaScript Timeout den Form übermitteln....
__________________
so long, der-p | 72dpi-club

Microsoft IE-Manager Dean Hachamovitch bei der Vorführung des IE7 Beta Preview 2 am 20.3.2006:
"Wir hatten mit IE ganz offensichtlich was verschlafen."
Mit Zitat antworten
  #3 (permalink)  
Alt 10-06-2005, 16:26
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.746
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schau dir fsockopen mal an. insbesondere die user contributed notes
Mit Zitat antworten
  #4 (permalink)  
Alt 10-06-2005, 16:27
andik2000
 Registrierter Benutzer
Links : Onlinestatus : andik2000 ist offline
Registriert seit: Jan 2002
Beiträge: 791
andik2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Der andere Server verlang ausschließlich die Werte per POST.

Ich habe folgemde Funktion:
PHP-Code:
function sendToHost($host,$port,$path,$data)
{                
    
$fp fsockopen($host,$port);
    
    
fputs($fp"\n");
    
fputs($fp"POST $path HTTP/1.1\n");
    
fputs($fp"Host: $host\n");
    
fputs($fp"Content-type: application/x-www-form-urlencoded\n");
    
fputs($fp"Content-length: " strlen($data) . "\n");
    
fputs($fp"Connection: close\n\n");
    
fputs($fp$data."\n\n");
      
    
$buf "";
        
    while (!
feof($fp)){
        
$buf .= fgets ($fp,4096);
    }
        
    
fputs($fp"\n");
    
fclose($fp);
    
    
preg_match("#<html>.*</html>#is"$buf$output);
    
    return 
$output[0];

Die funktioniert auch ganz prima, nur bleibe ich damit auf meinem Server und ziehe mir damit die Ausgabe des anderen Servers. Aber ich will schon, dass ich dann auch mit meiner URL komplett auf dem anderen Server bin.
Habe schon versucht die Eigenschaften in den fputs() einfach nur so per header() aufzurufen, aber das haut nicht hin.
Mit Zitat antworten
  #5 (permalink)  
Alt 10-06-2005, 16:28
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://www.php-faq.de/q/q-code-post.html

edit:
wenn ich dich richtig verstehe...
was du vorhast ist nicht ganz durchdacht...

- "auf einen anderen server springen" geht nur mit "Location: ...". diesen header muss dein server dem browser schicken.

- wenn du aber etwas post2host-en möchtest, geht die anfrage von deinem server an den fremden server.

sie zu vereinen ist afaik unmöglich.

Geändert von penizillin (10-06-2005 um 16:39 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 10-06-2005, 16:30
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.746
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

anders gesagt: du möchtest, dass die Daten von anderen Site zu deinem Server gesendet werden? Na, willste denn fremde Username und PW grabben?
Mit Zitat antworten
  #7 (permalink)  
Alt 10-06-2005, 16:40
andik2000
 Registrierter Benutzer
Links : Onlinestatus : andik2000 ist offline
Registriert seit: Jan 2002
Beiträge: 791
andik2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein, genau andersrum: Ich habe auf meinem Server ein Formular, welches ich verarbeite und dann bestimmte Daten an einen anderen Server weiter leiten muß. Ist für ein Kreditkartensystem.
Nachdem ich den Warenkorb bearbeitet habe, muss ich Betrag und Identifikation an den Bank-Server schicken, wo dann die Kreditkarteneingabe geschieht.
Das Bank-System sieht aber vor, dass man die quasi ein Formular einrichtet, auf dem dann der Betrag noch mal steht, und als hidden-field die Bestellnummer und meine Kundenidentifikation. Das wird dann per POST an den Bankserver übermittelt.

Auf Kundenseite bedeutet dass dann aber: Warenkorb absenden, Eingangsseite zum bankserver absenden und dann die Kreditkarten-Daten absenden.

Da ich beim Absenden des Warenkorbs ja dann schon weis, ob der Kunde per Bankeinzug oder Kreditkarte zahlen will, will ich ihn gleich zur Kreditkarteneingabe weiter führen, ohne dass er noch mal irgendwo zwichendurch nutzlos klicken muß.

Dank & Grüße,
Andi
Mit Zitat antworten
  #8 (permalink)  
Alt 10-06-2005, 16:47
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

- verarbeite die daten
- spucke ein formular mit hidden-fields aus, dass per javascript submitted wird => action=fremder server
- setze in den noscript-bereich einen submit-button für user, die js deaktiviert haben

... mal als vorschlag
__________________
-
Mit Zitat antworten
  #9 (permalink)  
Alt 10-06-2005, 16:59
andik2000
 Registrierter Benutzer
Links : Onlinestatus : andik2000 ist offline
Registriert seit: Jan 2002
Beiträge: 791
andik2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@penizillin:
Aber per fsockopen() kann ich ja genau dies machen - ich sende header-informationen an den anderen Server.
Und wenn ich mit header("Location" auch zum anderen Server springen kann, dann muss sich dass doch irgendwie kombinieren können.

@Wurzel: Das geht natürlich auch - gute Idee. Ist zwar nicht die feine Art, aber zur Not machbar.
Warum fallen mir so einfache Sachen nicht ein?

Grüße,
Andi
Mit Zitat antworten
  #10 (permalink)  
Alt 10-06-2005, 17:39
andik2000
 Registrierter Benutzer
Links : Onlinestatus : andik2000 ist offline
Registriert seit: Jan 2002
Beiträge: 791
andik2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OK, mal anders rum gefragt:
Kann ich denn meiner ausgegebenen Seite vorgaugeln sie sei auf einem anderen Server?

Ich habe mal irgendwo was mit "basedir" gesehen, wo dann alle Pfadangaben relativ zu der angegebenen URL waren.

Mein Grundsätzliches Problem:
Ich könnte mir den Result der POST-Daten mit fsockopen() vom Bankserver holen. Jedoch zieht der ein Javascript und Bilder über eine relative URL. Auch das Formular für die Kreditkartendaten geht an eine relative URL.

OK, ich könnte alle Vorkommnisse der Pfadangaben per preg_replace() auf die absolute URL setzen. Oder gibts einen Trick, dass der Quellcode zwar von meiner Seite ausgeliefert wird, der Rest aber seinen Pfad zum anderen Server kennt, obwohl die Pfade relativ im Quellcode stehen.

Ich weis, dass man mit genanntem "basedir" (wie auch immer das eingesetzt wird - muß ich noch mal schauen) auf einem Server so das Stannverzeichnis angeben kann, aber kann man so evtl. auch den Pfad zu einem anderen Server angeben?

Kennt sich da wer aus?

Grüße,
Andi
Mit Zitat antworten
  #11 (permalink)  
Alt 10-06-2005, 17:54
andik2000
 Registrierter Benutzer
Links : Onlinestatus : andik2000 ist offline
Registriert seit: Jan 2002
Beiträge: 791
andik2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OK ich habs!

Es ist so, dass ich ein Template mit Platzhaltern auf den Bankserver lege, in welche dann die Javascript-Quelle und Bildpfade eingefügt werden.

Ich habe jetzt im Head des Templates einfach
<BASE HREF="http://bankserver">
eingefügt - schon kann ich das Formular absenden und die Bilder und Scripts gehen auch.
Ich wusste, irgendwas mit "Base" war es. Also nix mit basedir.

Hoffe nur das läuft auf allen Browsern

Grüße,
Andi
Mit Zitat antworten
Antwort

Lesezeichen


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

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

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:57 Uhr.