Header im Hintergrund senden

Pullmann

Erfahrenes Mitglied
HI Leute,

also ich hätte da mal eine Frage:

Ich habe eine Seite auf der sich Leute registrieren wenn Sie das tun sollen diese
Logindaten auch zu einer anderen Internetseite gesendet werden damit Sie sich dort
auch mit diesen Daten einloggen können.

Wenn beide Seiten auf einem Server wären ist das wegen der Datenbank kein Problem aber das sind sie halt nicht.

Daher hatte ich gedacht ich machen einfach einen Header("location:http://www.domain.de/schnittstelle.php?submit=1&name=bla&pass=blub);

Das ding ist ja jetzt aber das der halt auf die Seite springt und nicht dort auf der eigenen Seite bleibt.

Kann man denn Header auch im Hintergrund senden oder kann man das
auch anders lösen?

Gruss Pullermann
 
Daran hatte ich auch schon gedacht allerdings steige ich
da noch nicht ganz durch welche Informationen ich übergeben muss
damit das Formula ausgefüllt und abgesendet wird!

Ich hatte es so versucht:

PHP:
$RegBody =  "submit=1&name=foo&nick=bar";
	$laenge = strlen($ReqBody);	
	$host = "localhost";
	$action = "/Neuer Ordner/form.php";
	$header = "POST $action HTTP/1.0\n".
			  "Host: $host\n".
			  "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; 
                                                    Windows 98)\n".
			  "Content-Type: application/x-www-form-urlencoded\n".
			  "Content-Length: $laenge\n\n".
			  "$ReqBody\n";
			 
	
	$socket = fsockopen($host, 80, &$errno, &$errstr);
	fputs($socket, $header);
Aber so gehts nicht
 
Zuletzt bearbeitet:
Ich habe in den Comments auf php.net das hier gefunden:

PHP:
<?php
$fp = fsockopen ("localhost", 80);
if ($fp) {

 fputs ($fp, "
POST /localhost/test/form.php HTTP/1.1
Host: localhost
Content-Length: 7
Content-Type: application/x-www-form-urlencoded
Connection: Close

a=1&b=2

");
 while (!feof($fp)) echo fgets ($fp,128);
 fclose ($fp);
}
?>

Bei diesem Script ist der aber anscheinend in einer Endlosschleife.

Zudem sieht die form.php zum testen so aus:

PHP:
<?	

	include('include/mysql.class.php');
	
	if(isset($submit)){
	
		$db=new MySqlClass;
		$SQL = "INSERT INTO `usertest` ( `id` , `name` , `nachname` ) VALUES ('', '".$_REQUEST['name']."', '".$_REQUEST['nick']."')";
		$db->MySqlQuery($SQL);
	}	

?>
<form action="form.php" method="post">
  <p>
    <input name="name" type="text" id="name"> 
  Name</p>
  <p>
    <input name="nick" type="text" id="nick"> 
  Nickname</p>
  <p>
    <input type="submit" name="submit" value="Senden"> 
  </p>
</form>
 
Zuletzt bearbeitet:
Nein, fuer den Satz hab ich keinen Shortcut. Aber ist eigentlich eine gute Idee.
Und was kann ich denn dafuer wenn hier in letzter Zeit so einige Probleme auftauchen die mit fsockopen() behandelt werden koennen.
Aber dass ein Themengebiet gebuendelt hier Probleme bereitet ist ja nicht das erste mal.
Dazu dieser Thread.
 
So das mit dem Absenden geht jetzt, ich hätte da allerdings noch ne
weitere Frage.

Ich sende also die Daten per fsockopen an die checkuser.php dort
lese ich die angegeben Daten aus der Datenbank.

Nun soll an die register.php zurück gesendet werden ob der Benutzer existiert oder
nicht.

Wenn der Benutzer existiert soll in die register.php halt den Eintrag machen und
sonst eine Fehlermeldung ausgeben.

Ist das möglich?
 
HI,

also die Benutzer sollen sich auf der einen Internetseite(b) registrieren ... register.php
Hier tragen Sie halt alle Daten ein + Benutzername und Passwort

Dieser Benutzername und das Passwort müssen dasselbe sein mit dem
die Leute sich auf der anderen Interneteite(a) schon registriert haben.

Jetzt soll halt die register.php eine Überprüfung machen ob der Benutzername
und das Passwort schon vorhanden sind.

Mein ansatz war jetzt halt per fsockopen() einen Post an Seite(a) von Seite(b) zusenden
diese eine Abfrage macht und das Ergebnis zurück zu Seite(b) schickt.

Das Problem an dem ganzen ist halt das beide Seiten auf unterschiedlichen Servern sind.
 
Zurück