Wenn Sie versuchen, sich auf einer Website mit Cookies anzumelden.
Dieser Code:
if ($server_output == "OK") { ... } else { ... }
Möglicherweise funktioniert es nicht, wenn Sie versuchen, sich anzumelden, da viele Websites den Status 200 zurückgeben, aber die Buchung nicht erfolgreich ist.
Der einfache Weg, um zu überprüfen, ob der Login-Post erfolgreich war, ist zu überprüfen, ob er wieder Cookies setzt. Wenn in der Ausgabe eine Set-Cookies-Zeichenkette erscheint, bedeutet dies, dass der Beitrag nicht erfolgreich war und eine neue Sitzung beginnt.
Es kann auch sein, dass der Beitrag erfolgreich ist, aber der Status nicht 200, sondern eine Weiterleitung ist.
Um sicherzugehen, dass der Beitrag erfolgreich ist, versuchen Sie dies:
Folgen Sie dem Ort nach dem Beitrag, damit er auf die Seite weitergeleitet wird, auf die der Beitrag verweist:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
Und dann prüfen, ob neue Cookies in der Anfrage vorhanden sind:
if (!preg_match('/^Set-Cookie:\s*([^;]*)/mi', $server_output))
{echo 'post successful'; }
else { echo 'not successful'; }