Probleme mit POST/php
Übersicht

![]() |
The_NiciBetreff: Probleme mit POST/php |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tach,
ich zerbreche mir den Kopf an diesem Problem: Ich sende per POST wie folgt ein paar Daten an ein PHP-Script: Code: [AUSKLAPPEN] WriteLine httpstream, "POST /voodoo.php" WriteLine httpstream, "Host: www.tes-cheese.ch" WriteLine httpstream, "Content-Type: application/x-www-form-urlencoded" WriteLine httpstream, "Content-Lenght: 24" WriteLine httpstream, "kopf=" + kopfcount + "&koerper=" + koerpercount + "&unterleib=" + unterleibcount + "&arml=" + armlcount + "&armr=" + armrcount + "&beinl=" + beinlcount + "&beinr=" + beinrcount WriteLine httpstream, "" Das PHP-Script empfängt diese mit $_POST und verändert die Stats damit. Code: [AUSKLAPPEN] While($row = mysql_fetch_object($output)) { If($row->id == 1) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gkopf).' WHERE id = 1'); echo $row->count_value." Nadeln zierten mein schönes Antlitz. Welch grausame Tat. :o<br>"; } ElseIf($row->id == 2) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gkoerper).' WHERE id = 2'); echo "Mit ".$row->count_value." Nadeln wurde ich akupunktiert. Jetzt sollten die Energieströme hoffentlich wieder richtig fliessen.<br>"; } ElseIf($row->id == 3) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gunterleib).' WHERE id = 3'); echo "Oha! Ich wurde mit ".$row->count_value ." Nadeln am Sack gekitzelt. Meine arme Familie :(<br>"; } ElseIf($row->id == 4) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $garml).' WHERE id = 4'); echo "Den linken Arm hat es ".$row->count_value ." mal erwischt. Tja. Aufs Schreiben kann ich jetzt spucken. :/<br>"; } ElseIf($row->id == 5) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $garmr).' WHERE id = 5'); echo "Uiuiui. Der rechte Arm durfte ".$row->count_value ." Nadeln spüren.<br>"; } ElseIf($row->id == 6) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gbeinl).' WHERE id = 6'); echo "Shice. Das linke Bein darf ich mir wohl nun amputieren, da wurde ich nämlich ".$row->count_value ." mal erwischt.<br>"; } ElseIf($row->id == 7) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gbeinr).' WHERE id = 7'); echo "Juhee, ich kauf mir ein Holzbein, da tun mir wenigstens die ".$row->count_value ." Nadeln im Bein nicht mehr weh. >_< <br>"; } } Jedoch verändern sich die Zahlen nicht. Wo liegt das Problem? MfG |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Beim BB-Code fällt mir auf, dass du nach
Code: [AUSKLAPPEN] WriteLine httpstream, "Content-Lenght: 24"
keine Leerzeile sendest. Ich glaub die gehört schon hinein. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab mal eine reingemacht, funktioniert jedoch nach wie vor nicht. ;/
Trotzdem danke für die Hilfe. |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Holst du die Variablen in PHP über $_POST[]? Und wieso bist du dir so sicher, dass content-lenght immer 24 ist? | ||
Starfare: Worklog, Website (download) |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Ja.
2. Ich wusste nicht genau was ich da reinfüllen musste. :/ Erklärung auf Wikipedia ist bedürftig. |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] POST /wiki/Spezial:Search HTTP/1.1 Host: de.wikipedia.org Content-Type: application/x-www-form-urlencoded Content-Length: 24 search=Katzen&go=Artikel Die Informationen sind mehr als ausreichend. Wer da nicht versteht, wieso es "Conten-Length: 24" heißen muss, der... Zähl doch einfach mal die zeichen von "search=..." |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, der ... macht jetzt sein Spiel fertig. -.-
EDIT: Funktioniert leider immernoch nicht. ![]() Edit2: So, hab jetzt auch noch den richtigen PFad für das Dokument angegeben, jetzt wird es auch gefunden. Aber trotzdem werden die Einträge nicht erhöht. |
||
![]() |
Thorsten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was wird dir denn ausgegeben? Einer der beiden Sätze? Gar nichts?
Ein Semikolon (;) ist am Ende von UPDATE sehr oft notwendig. mfG, Thorsten |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es wird alles korrekt ausgegeben, nur am speichern der Zahlen hapert es.
MfG PS: Semiklon am Ende von UPDATE? Also dann 'UPDATE; ...' oder wie? |
||
tmode00 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich glaube ich kann dich beruhigen, dein Php-Skript arbeitet, ich hab mal ein kleines Testformular gebaut was sich zu deinem Php-Skript verbindet: schau: http://ttlabs.de/test.php |
||
While (1) : Wend |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, okay, dann muss ich mich nicht nochmals hinter php setzen. ^-^
Jedoch bleibt nach wie vor die Frage: warum funktioniert das folgende nicht? Code: [AUSKLAPPEN] Function SendCounts() httpstream = OpenTCPStream("www.tes-cheese.ch", 80) abfrage$ = "kopf=" + kopfcount + "&koerper=" + koerpercount + "&unterleib=" + unterleibcount + "&arml=" + armlcount + "&armr=" + armrcount + "&beinl=" + beinlcount + "&beinr=" + beinrcount WriteLine httpstream, "POST http://tes-cheese.ch/voodoo.php HTTP 1.0" WriteLine httpstream, "Host: www.tes-cheese.ch" WriteLine httpstream, "UserAgent: TedsVoodoo" WriteLine httpstream, "Content-Type: application/x-www-form-urlencoded" WriteLine httpstream, "Content-Lenght: "+Len(abfrage$) WriteLine httpstream, "" WriteLine httpstream, abfrage$ WriteLine httpstream, "" While Not Eof(httpstream) Print ReadLine(httpstream) Wend CloseTCPStream(httpstream) End Function |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich schätze wegen dem http:// (Is das einzige, was mir jetzt komisch vorkommt an deinem Code)
Schreib doch in den Request Zitat: www.tes-cheese.ch/voodoo.php
|
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
So bekomm ich nen Bad Request. :/ | ||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry, war ned ganz bei der Sache. Hab nochmal nachgeschaut in n paar alten Codes von mir und da ließ ich den Server ganz weg, also in etwa so:
Code: [AUSKLAPPEN] POST /voodoo.php HTTP 1.0
Probier das noch und dann geb ich mich geschlagen... |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
tmode00Betreff: Richtige formatierung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die richtige formatierung bezüglich www / http etc. ist diese:
Code: [AUSKLAPPEN] Function http_request(server$="testsite.de",phpfile$="/index.php",content$="user=a&pass=b")
;Stream öffnen Local tcp=OpenTCPStream(server$,80) ;Http-request senden WriteLine tcp,"POST " + phpfile$ + " HTTP 1.1" WriteLine tcp,"Host: " + server$ WriteLine tcp,"UserAgent: Blitzbasic" WriteLine tcp,"Content-Type: application/x-www-form-urlencoded" WriteLine tcp,"Content-Length: "+ Len(content$) WriteLine tcp,"" WriteLine tcp,content$ WriteLine tcp,"" While Not Eof(tcp).... usw. Also: tcp=createserver... ohne http:// und ohne www dann im post server wie (test.de) auch ohne alles , http:// davor geht auch! Kann das sein das du integer und string und dann wieder integer variablen verwendest und die content length daher nicht stimmt. versuche mal nur eine variable zu senden und zähle manuell. Auch ändere dringend mal folgendes: Code: [AUSKLAPPEN] "Host: www.tes-cheese.ch"
lass das www auf jeden Fall weg, sonst geht es bei mir auch nicht! |
||
While (1) : Wend |
tmode00Betreff: Das funktioniert einwandfrei: |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, da hast du eine funktionierende variante:
![]() Code: [AUSKLAPPEN] Function SendCounts() Local httpstream = OpenTCPStream("tes-cheese.ch",80) Local abfrage$ = "kopf=" + Str(kopfcount) + "&koerper=" + Str(koerpercount) + "&unterleib=" + Str(unterleibcount) + "&arml=" + Str(armlcount) + "&armr=" + Str(armrcount) + "&beinl=" + Str(beinlcount) + "&beinr=" + Str(beinrcount) WriteLine httpstream, "POST http://tes-cheese.ch/voodoo.php HTTP 1.0" WriteLine httpstream, "Host: tes-cheese.ch" WriteLine httpstream, "UserAgent: TedsVoodoo" WriteLine httpstream, "Content-Type: application/x-www-form-urlencoded" WriteLine httpstream, "Content-Lenght: "+Len(abfrage$) WriteLine httpstream, "" WriteLine httpstream, abfrage$ WriteLine httpstream, "" While Not Eof(httpstream) Print ReadLine(httpstream) Wend CloseTCPStream(httpstream) End Function SendCounts WaitKey |
||
While (1) : Wend |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
danke für die Funktion. Leider will es immernoch nicht. ![]() Ich habe keine Ahnung warum. :/ MfG |
||
tmode00Betreff: ganzes Php-Skript |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann muss es doch am php-skript liegen, es wird mit der funktion alles richtig übertragen und es kommt alles richtig zurück. Darf ich dich mal bitten die gesamte php-datei als code zu posten, ich will es mal auf meinen server laden und den Fehler suchen. Weil das Php-Skript oben beginnt ja erst ab dem MySql fetch von $output. | ||
While (1) : Wend |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] <?php $gkopf = $_POST['kopf']; $gkoerper = $_POST['koerper']; $gunterleib = $_POST['unterleib']; $garml = $_POST['arml']; $garmr = $_POST['armr']; $gbeinl = $_POST['beinl']; $gbeinr = $_POST['beinr']; mysql_connect("localhost","bla", "bla"); mysql_select_db("voodoo"); $output = mysql_query("SELECT * FROM counts ORDER BY 'id'"); While($row = mysql_fetch_object($output)) { If($row->id == 1) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gkopf).' WHERE id = 1'); echo $row->count_value." Nadeln zierten mein schönes Antlitz. Welch grausame Tat. :o<br>"; } ElseIf($row->id == 2) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gkoerper).' WHERE id = 2'); echo "Mit ".$row->count_value." Nadeln wurde ich akupunktiert. Jetzt sollten die Energieströme hoffentlich wieder richtig fliessen.<br>"; } ElseIf($row->id == 3) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gunterleib).' WHERE id = 3'); echo "Oha! Ich wurde mit ".$row->count_value ." Nadeln am Sack gekitzelt. Meine arme Familie :(<br>"; } ElseIf($row->id == 4) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $garml).' WHERE id = 4'); echo "Den linken Arm hat es ".$row->count_value ." mal erwischt. Tja. Aufs Schreiben kann ich jetzt spucken. :/<br>"; } ElseIf($row->id == 5) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $garmr).' WHERE id = 5'); echo "Uiuiui. Der rechte Arm durfte ".$row->count_value ." Nadeln spüren.<br>"; } ElseIf($row->id == 6) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gbeinl).' WHERE id = 6'); echo "Shice. Das linke Bein darf ich mir wohl nun amputieren, da wurde ich nämlich ".$row->count_value ." mal erwischt.<br>"; } ElseIf($row->id == 7) { mysql_query('UPDATE counts Set count_value = '.($row->count_value = $row->count_value + $gbeinr).' WHERE id = 7'); echo "Juhee, ich kauf mir ein Holzbein, da tun mir wenigstens die ".$row->count_value ." Nadeln im Bein nicht mehr weh. >_< <br>"; } } ?> |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe vor ewigkeiten mal BB-Funktionen gebaut, um den Post-Kram zu machen.
https://www.blitzforum.de/foru...hp?t=14140 Vllt. funktionieren sie noch |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group