WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Problem mit Server-Kommuniaktion » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Wolf
Danke!

Das beginnt wirklich Spaß zu machen: - ich bin trotz knapper Zeit schon recht viel weiter gekommen! Sagenhaft.

Offenbar läuft der Aufruf jetzt schon prinzipiell richtig, aber der Server meldet mir jetzt ...

Bad Request
Your browser sent a request that this server could not understand.
Request header field is missing colon separator.

DIESE Fehlermeldung ist aber recht prominent im Web zu finden, also da werde ich mich schon allein durchkämpfen können - und mich deshalb für ein paar Tage hier "abmelden".

Herzlichen Dank für das freundliche "unter die Fittiche-Nehmen" - es hat mir viel geholfen! Und ich habe eine Menge gelernt aus den Verweisen! Dank.

Wolf
von languitar
So wie ich die Beispiele auf der Manual-Seite deute, musst du dich mit dem host, als www.domain.tld verbinden und dann halt in dem HTTP-Request die entsprechende Seite anfordern. Würd ich zumindest jetzt vermuten. Der Comment von bimal dot das at maxartists dot com am 07-Jun-2006 11:22 auf der Manual-Seite sollte dir weiterhelfen.
von Wolf
Danke, languitar!
- prima, die Info zum Lock! ) - kann ich gut gebrauchen!

Noch eine Frage zum fsockopen ...

Ich habe folgenden Code gemacht:

#($cgi_string = wie vorher ... der korrekte Post-String);
$uri = "www.domain.tld/cgi-bin/pfad/zum/script.cgi";
$host = "www.domain.tld";

$da = fsockopen("www.domain.tld/cgi-bin/pfad/zum/script.cgi", 80, $errno, $errstr, 30);
if (!$da) {
echo "$errstr ($errno)<br/>\n";
echo $da;
}
else {
$send_str = "POST $uri HTTP/1.1\r\n";
$send_str .= "Host: $host\r\n";
$send_str .= "User-Agent: PHP Script\r\n";
$send_str .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send_str .= "Content-Length: ".strlen($cgi_string)."\r\n";
$send_str .= "Connection: close\r\n\r\n";
$send_str .= $cgi_string;
fwrite($da, $send_str);

echo $da, $uri, $send_str;
}

... und erhalte folgenden Fehler:

Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/marketce/public_html/dopt/capture/verify.php on line 53

Warning: fsockopen() [function.fsockopen]: unable to connect to www.domain.tld/cgi-bin/pfad/zum/script.cgi:80 in /home/marketce/public_html/dopt/capture/verify.php on line 53
Permission denied (13)

- leider kann ich so gut wie nichts damit anfangen, weil ich nicht sehen kann, wo "getaddrinfo" herkommt, und weshalb plötzlich "Permission denied" sein sollte. :( - Hast Du dazu eine Idee, eine Erklärung? Möglicherweise ist an meinen Variablen was falsch ...
zum abschließenden "echo" kommt es offenbar nicht mehr, oder aber die Variablen sind da leer.

Übrigens: alles, was oben als "domain.tld/cgi-bin/pfad/zum/script.cgi" lautet, sind in Wahrheit die korrekten URIs, wie sie perfekt im Browser funktionieren.

Was ich noch nicht probiert habe, was mir aber jetzt beim Schreiben in den Sinn kam: Möglicherweise sollte "$host" der Netzwerkname der Maschine sein ... der ist lautet "host.domain.net" (dieselbe Adresse, die die Nameserver haben, aber eben "host" statt "ns#"; das Ganze ist auf einem "dedicated Server").

Übrigens: Ganz herzlichen Dank, dass Du Dich meiner Problemchen so nett annimmst! Finde ich ganz großartig.

Wolf

von languitar
Für Dateien gibt es eine Form von RW-Locks. flock heißt die entsprechende Funktion: http://php.net/flock
von Wolf
Danke, languitar!

Ja klar, hab' mich vertippt mit dem Post/Get - zu dumm.

Danke Dir für den Hinweis auf fsockopen ... das werd' ich mir zu Gemüte führen und entsprechend einbauen! Zum vorhandenen cgi-Script: Es ist Teil einen größeren Software-Komplexes, den ich nicht austauschen möchte (Kosten!)

Zu den mehrern Usern ... eigentlich meinte ich das Script selbst, ja, Mutex: Es könnte ja sein, dass zwei User irgendwo in der Welt zur gleichen Zeit eine Verfikation abschicken ... und das könnte eine Kollision in der Datenbank geben. "Selbst regeln" wird sich vermutlich nur eine SQL-Datenbank - nicht aber eine "flat file"-Datenbank, die ich hier habe. Vermutlich wird es besser sein, das mit MySQL zu machen ... ist wirklich eine Überlegung wert! (Wollte ich ursprünglich nicht, weil es ja kaum Hunderte Datensätze (= Zeilen) werden.

Herzlichen Dank vorerst! Ich melde mich wieder, wenn ich Fortschritt vermelden kann!
Wolf


Nach oben