Header im Hintergrund senden

Was macht das Script auf dem Seite A nach der Anfrage?
Wird etwas ausgegeben?
Z.B.: "User existiert" oder "User existiert nicht" ?
Wenn ja koenntest Du nachdem Du Deine Anfrage gesendet hast das Ergebnis auslesen.
 
Ja genau das Script macht erst eine Abfrage in der Datenbank
und soll dann zurück schicken ob der Benutzer da ist oder nicht.

Doch wie mach ich das jetzt das Seite(b) das Ergebnis von Seite(a) zurück bekommt?
 
Meine Frage war ob das Script etwas ausgibt, also Text.
Den kannst Du nach dem POST auslesen.
Das waere wohl wesentlich einfacher als von der anderen Seite aus nochmal eine Verbindung aufzubauen und was zurueck zu schicken.
 
Die Ausgabe soll ja auch nicht der Besucher deiner Seite bekommen, sondern das Skript, das die Verbindung zu der anderen Seite aufnimmt. Du brauchst ja schließlich irgendeine Rückmeldung.
 
Du uebergibst ja Daten per POST, was ja so vom Browser an sich fuer den Laien nicht so einfach ist.
Daher koenntest Du das so machen, dass nur etwas ausgegeben wird wenn die erwarteten Daten per POST uebergeben werden.
Wenn Du z.B. Username und Passwort erwartest koennte das so aussehen:
PHP:
<?php
if ((!empty($_POST['username'])) && (!empty($_POST['password'])))
 {
  //checken ob der User existiert
  //ausgeben ob der User existiert
 }
?>
Das bekommt der User auch nicht zu sehen.
Das Script schickt die Post-Daten los und wertet danach die Ausgabe des Scripts aus.
 
So hab ichs ...

PHP:
include('include/mysql.class.php');

	if ((!empty($_POST['name'])) && (!empty($_POST['nick']))){

		$db	  = new MySqlClass;
		$SQL 	= "SELECT * FROM usertest WHERE name='".$_REQUEST['name']."' AND nick='".$_REQUEST['nick']."'";
		$data	= $db->MySqlDataSelect($SQL);
		
		if($data[0]['name'] != ''){
			echo '100';
		}
		else 
			echo '200';
	}

Kann ich denn jetz via fgets die echo Zeile auslesen oder wie meintest du das?
 
Zuletzt bearbeitet:
Ich wuerde davon abraten einfach nur Zahlen zu nutzen.
Die Wahrscheinlichkeit dass diese in der Antwort nochmal auftauchen ist zu gross.

Ich hab vorhin mal 2 Scripts zum testen gebaut.
a.php
PHP:
<?php
$socket=fsockopen("localhost",8080);
$posttext="POST /b.php HTTP/1.1\n";
$posttext.="Host:test\n";
$postdata="test=test";
$postencoding="Content-Type:application/x-www-form-urlencoded\n";
$postlength="Content-Length:".strlen($postdata)."\n\n";
fwrite($socket,$posttext);
fwrite($socket,$postencoding);
fwrite($socket,$postlength);
fwrite($socket,$postdata);
$data="";
while (!feof($socket))
	{
		$data.=fread($socket,128);
	}
echo htmlentities($data);
?>
b.php
PHP:
<?php
echo "<hr>test<br>";
print_r($_POST);
?>

Dies wird dann von a.php ausgegeben:
a.php hat gesagt.:
HTTP/1.1 200 OK Date: Tue, 06 Sep 2005 07:43:06 GMT Server: Apache/1.3.33 (Unix) Transfer-Encoding: chunked Content-Type: text/html 29 <hr>test<br>Array ( [test] => test ) 0
Wie Du siehst ist da dann z.B. direkt mal eine 200 enthalten.
 
Ok danke ich habe es jetz hinbekommen ...

PHP:
$fp = fsockopen ("localhost", 80);
		if ($fp) {				
			fputs ($fp, $header);
			$data = '';
			while (!feof($fp)){				
				fgets ($fp,128);
				$data .= fgets ($fp,128);
			}
			fclose ($fp);
		}
		$code = explode('#',$data);
		echo $code[1];

Gruss Pullermann
 
Nichts zu danken.

Falls alle Fragen geklaert sind denk bitte daran den Thread als erledigt zu markieren, falls nicht schon geschehen.

Und weiterhin viel Erfolg.
 
Zurück