getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 09.06.2008, 19:39   #1
TP-Member
 
Registriert seit: Feb 2007
Ort: Nürnberg
Eisenbart macht alles soweit korrekt

Aufruf eines PHP-Skriptes auf einem anderen Server


Hallo allerseits!

Ich drehe hier seit Stunden völlig am Rad, denn ich versuche innerhalb eines PHP-Skripts ein anderes aufzurufen, das sich allerdings nicht auf demselben Server befindet. Es geht um die Einbindung eines Trackingsystems für ein Partnerprogramm, dessen Betreiber mir den folgenden Codeschnipsel überreicht hat:

Code:
<img src=http://www.affilicrawler.de/return.php?p=488&umsatz=Umsatz_Variable&desc=Ihre_Variable width=1 height=1>
Leider kann ich ihn so nicht verwenden, da der Wert für "Ihre_Variable" eben in einem PHP-Skript generiert wird und nur dort zur Verfügung steht. Ich hab schon alles probiert: include(), exec(), fopen() - nichts davon scheint zu funktionieren!

Ich verwende die PHP-Version 4.4.8 und 'allow_url_fopen' ist 'On'. Wer weiß Rat?
__________________
Matthias Hofmann | Klomanager - Die offizielle Internetseite
Eisenbart ist offline   Mit Zitat antworten


Alt 10.06.2008, 00:13   #2
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Verstehe Dein Problem nun nicht ... warum nicht so?
PHP-Code:
echo '<img src=http://www.affilicrawler.de/return.php?p=488&umsatz=Umsatz_Variable&desc='.$IhreVariable.' width=1 height=1>'
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 10.06.2008, 03:33   #3
TP-Member
 
Registriert seit: Feb 2007
Ort: Nürnberg
Eisenbart macht alles soweit korrekt
Das funktioniert komischerweise bloß manchmal...
__________________
Matthias Hofmann | Klomanager - Die offizielle Internetseite
Eisenbart ist offline   Mit Zitat antworten
Alt 10.06.2008, 12:49   #4
TP-Member
 
Registriert seit: Feb 2007
Ort: Nürnberg
Eisenbart macht alles soweit korrekt
Es scheint insbesondere dann nicht zu funktionieren, wenn ich nach der von webcreate vorgeschlagenen Zeile noch per

Code:
header( "Location: ../danke.html" );
auf die Bestätigungsseite weiterleite.
__________________
Matthias Hofmann | Klomanager - Die offizielle Internetseite
Eisenbart ist offline   Mit Zitat antworten
Alt 10.06.2008, 12:54   #5
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Was hast Du da vor?
Du willst eine Grafik anzeigen, die von einem fremden Script über Variablen erzeugt wird und dann direkt weiterleiten?
Mach für mich nicht so viel Sinn ...
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 10.06.2008, 14:10   #6
TP-Member
 
Registriert seit: Feb 2007
Ort: Nürnberg
Eisenbart macht alles soweit korrekt
Das ist keine wirkliche Grafik. Das ist nur der Tracking-Code für ein Partnerprogramm. Wenn jemand durch einen Bannerklick auf unsere Webseite kommt, dann wird durch die Einbindung dieser "Pseudo-Grafik" ein Skript beim Betreiber aufgerufen. Dadurch wird die Herkunft des Besuchers von der Partnerseite, auf der sich das Banner befindet, protokolliert.

Hab auch mal mit cURL experimentiert, aber das funktioniert leider auch nicht:

Code:
$url = "http://www.affilicrawler.de/return.php";
$query = "p=488&umsatz=Umsatz_Variable&desc=Ihre_Variable";

$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $query );
curl_exec( $ch );
curl_close( $ch );
__________________
Matthias Hofmann | Klomanager - Die offizielle Internetseite
Eisenbart ist offline   Mit Zitat antworten
Alt 10.06.2008, 15:27   #7
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
So habe mal eben was gebaut:
PHP-Code:
<?php
// Debugging true || false
define('debug'true);

// Your post-data
$data = array(
    
'p'         => 100,
    
'umsatz'    => 999,
    
'desc'      => 'test'
);

function 
sendToRemote($host$file$data)
{
    
$res '';
    
$fp fsockopen($host80);
    
fputs($fp"POST $file HTTP/1.1\r\n");
    
fputs($fp"Host: $host\r\n");
    
fputs($fp"Content-type: application/x-www-form-urlencoded\r\n");
    
fputs($fp"Content-length: "strlen($data) ."\r\n");
    
fputs($fp"Connection: close\r\n\r\n");
    
fputs($fp$data);
    while(!
feof($fp))
    {
        
$res .= fgets($fp128);
    }
    
fclose($fp);
    return 
$res;
}

$datastring '';
foreach(
$data as $key => $value)
{
    
$datastring .= $key.'='.$value.'&';
}

if(
constant('debug') == true)
{
    echo 
$remote sendToRemote("tp.webcreate-nrw.de""/returntest/return.php"$datastring);
}
else {
    
$remote sendToRemote("tp.webcreate-nrw.de""/returntest/return.php"$datastring);
    
header('Location: http://www.google.de');
}
?>

Das Script auf dem Server schaut wie folgt aus:
PHP-Code:
<?php
$user 
$_POST['p'];
$umsatz $_POST['umsatz'];
$desc $_POST['desc'];

echo 
$user.' | '.$umsatz.' | '.$desc;
?>
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 10.06.2008, 15:50   #8
TP-Member
 
Registriert seit: Feb 2007
Ort: Nürnberg
Eisenbart macht alles soweit korrekt
Cool, danke! Hab das gleich mal hochgeladen und ausprobiert, die Ausgabe war die folgende:

Zitat:
HTTP/1.1 200 OK Date: Tue, 10 Jun 2008 12:47:35 GMT Server: Apache/2.0.54 (Debian GNU/Linux) mod_jk2/2.0.4 PHP/5.2.5-0.dotdeb.0 with Suhosin-Patch mod_ssl/2.0.54 OpenSSL/0.9.7e mod_perl/1.999.21 Perl/v5.8.4 X-Powered-By: PHP/5.2.5-0.dotdeb.0 Content-Length: 17 Connection: close Content-Type: text/html 100 | 999 | test
Scheint also zu funktionieren. Jetzt probiere ich mal aus, ob ich damit auch Daten an das Trackingsystem übergeben kann!
__________________
Matthias Hofmann | Klomanager - Die offizielle Internetseite
Eisenbart ist offline   Mit Zitat antworten
Alt 10.06.2008, 16:21   #9
TP-Member
 
Registriert seit: Feb 2007
Ort: Nürnberg
Eisenbart macht alles soweit korrekt
Also ich hab das Skript jetzt mal wie folgt abgeändert:

Code:
<?php
// Debugging true || false
define('debug', true);

// Your post-data
$data = array(
    'p'         => 488,
    'umsatz'    => 123,
    'desc'      => 'test'
);

function sendToRemote($host, $file, $data)
{
    $res = '';
    $fp = fsockopen($host, 80);
    fputs($fp, "POST $file HTTP/1.1\r\n");
    fputs($fp, "Host: $host\r\n");
    fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
    fputs($fp, "Content-length: ". strlen($data) ."\r\n");
    fputs($fp, "Connection: close\r\n\r\n");
    fputs($fp, $data);
    while(!feof($fp))
    {
        $res .= fgets($fp, 128);
    }
    fclose($fp);
    return $res;
}

$datastring = '';
foreach($data as $key => $value)
{
    $datastring .= $key.'='.$value.'&';
}

if(constant('debug') == true)
{
    echo $remote = sendToRemote("http://www.affilicrawler.de", "/return.php", $datastring);
}
else {
    $remote = sendToRemote("http://www.affilicrawler.de", "/return.php", $datastring);
    header('Location: http://www.google.de');
}
?>
Als Ergebnis ist das Browserfenster für einige Minuten eingefroren, die Festplatte hat wie verrückt angefangen zu rattern und erst nach mehreren Versuchen konnte ich den Browser mit dem Taskmanager schließen. Und das Trackingssystem hat leider nichts registriert.

Ich dachte, der Resourcenverbrauch hätte mit der Ausgabe des Ergebnisses von sendRoRemote() zu tun, daher habe ich anschließend die echo-Anweisung entfernt und das Skript nochmal ausgeführt. Allerdings war dann alles wie vorher bloß noch schlimmer, so daß der ganze Rechner blockiert war und ich ihn neu hochfahren mußte.

Hab schon mehrere E-Mails an Affilicrawler.de geschrieben und gefragt, wie denn ihr Skript aufzurufen sei, aber da warte ich schon seit Stunden vergeblich auf Antwort...
__________________
Matthias Hofmann | Klomanager - Die offizielle Internetseite
Eisenbart ist offline   Mit Zitat antworten
Alt 10.06.2008, 16:32   #10
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Ich weiß ja auch nicht, ob das Script was zurück gibt.
Weiterhin mag es sein, dass sie strikt nur GET Daten erwarten und keine POST ... dafür teste es mal so
PHP-Code:
<?php
// Debugging true || false
define('debug'true);

// Your post-data
$data = array(
    
'p'         => 100,
    
'umsatz'    => 999,
    
'desc'      => 'test'
);

function 
sendToRemote($host$file)
{
    
$res '';
    
$fp fsockopen($host80);
    
fputs($fp"POST $file HTTP/1.1\r\n");
    
fputs($fp"Host: $host\r\n");

    
fputs($fp"Connection: close\r\n\r\n");
    
//fputs($fp, $data);
    
while(!feof($fp))
    {
        
$res .= fgets($fp128);
    }
    
fclose($fp);
    return 
$res;
}

$datastring '';
foreach(
$data as $key => $value)
{
    
$datastring .= $key.'='.$value.'&';
}

if(
constant('debug') == true)
{
    echo 
$remote sendToRemote("tp.webcreate-nrw.de""/returntest/return.php?".$datastring);
}
else {
    
$remote sendToRemote("tp.webcreate-nrw.de""/returntest/return.php?".$datastring);
    
header('Location: http://www.google.de');
}
?>
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 10.06.2008, 17:17   #11
TP-Member
 
Registriert seit: Feb 2007
Ort: Nürnberg
Eisenbart macht alles soweit korrekt
Hab ich ausprobiert, hat aber leider auch nicht geklappt! Und auch dieses Mal konnte ich den Browser mit Ach und Krach über den Taskmanager schließen.
__________________
Matthias Hofmann | Klomanager - Die offizielle Internetseite
Eisenbart ist offline   Mit Zitat antworten
Alt 10.06.2008, 17:19   #12
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Keine Ahnung was das Script da hat/macht.
Du hast es ja an der Testdatei auf meinem Server gesehen ...
Warte mal auf Rückantwort, alles andere wäre nur das Polieren der Glaskugel.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 10.06.2008, 18:04   #13
TP-Member
 
Registriert seit: Feb 2007
Ort: Nürnberg
Eisenbart macht alles soweit korrekt
Hab inzwischen eine Rückantwort erhalten: Ich müsse meine Bestätigungsseite in PHP statt in HTML implementieren, also direkt in das PHP-Skript einbauen. Ist sowas schwierig? Das PHP-Skript und die Bestätigungsseite sehen im Moment so aus:

Code:
<?
foreach( $_POST as $v )
{
    if ( eregi( "\r", $v ) ||
         eregi( "\n", $v ) )
        die( "No spam please." );
}

extract( $_POST, EXTR_OVERWRITE );

$refid = time();

$subject = "Ihre Bestellung des Super-Sommer-Sonderangebots";
$content = "Guten Tag $anrede $nachname!\n\nSie haben die Wirtschaftssimulation \"Klomanager Deluxe\" für nur 6,99 Euro sowie den kostenlosen Gemüse-Shooter \"Kartoffelpüree\" mit folgenden Daten in unserem Onlineshop bestellt:\n\nAnschrift:\n$vorname $nachname\n$strasse $hausnummer\n$plz $ort\n$land\n\nE-Mail-Adresse:\n$email\n\nZahlart:\n$zahlart\n\nRef.-Nr.:\n$refid\n\nUm diese Bestellung zu bestätigen, senden Sie diese E-Mail bitte unverändert an den Absender (bestellung@anvil-soft.com) zurück.\n\nMit freundlichen Grüßen\n\nIhr Anvil-Soft Team\n\nwww.anvil-soft.de";

$headers  = "Content-Type: text/plain; charset=iso-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "From: Anvil-Soft Onlineshop <bestellung@anvil-soft.com>\n";

mail( $email, $subject, $content, $headers );

header( "Location: ../danke.html" );
?>
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Vielen Dank!</title>
<meta name="description" content="Die wohl witzigste Wirtschaftssimulation aller Zeiten können Sie hier bei uns in der nochmals überarbeiteten Deluxe Edition kaufen und herunterladen!">
<meta name="keywords" content="klomanager, deluxe, edition, wirtschaftssimulation, kaufen, herunterladen, download">
<meta name="robots" content="all">
<meta name="revisit-after" content="7 days">
<meta name="language" content="de">
<meta name="publisher" content="Anvil-Soft">
<meta name="author" content="Matthias Hofmann">
<link rev="made" content="mailto:info@anvil-soft.de">
<link href="css/danke.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<div id="header"></div>
<div id="top"></div>
<div id="middle">
<div id="left"></div>
<div id="center">
<img style="position: absolute; left: 36px; top: 47px; width: 379px; height: 40px;" src="danke/caption.jpg">
<p class="message"><strong>Wir haben Ihnen soeben eine Bestätigung per<br>E-Mail gesendet. Bitte überprüfen
Sie Ihren<br>Posteingang und folgen Sie den Anweisungen<br>in der E-Mail, um Ihre Bestellung abzuschließen.
</strong><br><br>Falls Sie nicht in kürzester Zeit eine E-Mail von uns<br>empfangen, überprüfen Sie bitte
Ihre Angaben und<br>wiederholen Sie den Vorgang.<br><br>Bei Fragen oder Problemen können Sie sich gerne<br>
unter <a href="mailto:bestellung@anvil-soft.com">bestellung@anvil-soft.com</a> an uns wenden.<br><br>Mit
freundlichen Grüßen<br><br>Ihr Anvil-Soft Team<br><br><a href="http://www.anvil-soft.de/" target="_blank">
www.anvil-soft.de</a></p>

<img style="position: absolute; left: 229px; top: 353px; width: 94px; height: 150px;" src="danke/jubel.jpg">
<img style="position: absolute; left: 454px; top: 0px; width: 47px; height: 87px;" src="images/glieder.png">
<img style="position: absolute; left: 454px; top: 87px; width: 47px; height: 87px;" src="images/glieder.png">
<img style="position: absolute; left: 438px; top: 174px; width: 79px; height: 294px;" src="images/griff.png">
<img style="position: absolute; left: 556px; top: 52px; width: 270px; height: 112px;" src="danke/spruch1.jpg">
<img style="position: absolute; left: 563px; top: 196px; width: 255px; height: 173px;" src="danke/spruch2.jpg">
<img style="position: absolute; left: 572px; top: 401px; width: 236px; height: 101px;" src="danke/spruch3.jpg">
</div>
<div id="right"></div>
</div>
<div id="bottom"></div>
</body>

</html>
__________________
Matthias Hofmann | Klomanager - Die offizielle Internetseite
Eisenbart ist offline   Mit Zitat antworten
<
Alt 10.06.2008, 18:09   #14
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Ich hab zwar null plan, was das eine nun mit dem andern zu tun hat, aber wo ist das Problem dem mail Befehl in ein if zu packen und da dann den html Code via echo auszugeben?

PHP-Code:
if(@mail( ...))
{
  echo
' ...';

__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE
emCalculator 1.0

webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten