HSP → PHPへ変数内容を送信
xaria 2013/6/9(Sun) 01:27:06|NO.54727
HSPからPHPへ変数の内容を送りたいのですが
下記がうまく動作しません。
変数[test]がうまく送信されてないみたいなのですが原因が分かりません。
【HSP側】
#include "hspsock.as"
sdim get,1000
/* 送信したい変数 */
test = "123456789"
sockopen 0, "localhost", 80
sockput "GET /index.php HTTP/1.0 \n\n", 0
sockput "Host: localhost\r\n"
sockput "Content-Length: "+strlen(test)+"\r\n"
sockput "test="+test, 0 ;testを記述
sockget get,1000,0
sockclose 0
dialog get
【PHP側※localhost/index.php】
<?php
header('Content - type: text/html; charset=UTF-8');
?>
<?php
echo "変数testの中身は";
$test = $_GET['test'];
echo $test;
?>
HSPだけの質問ではないので申し訳ないですが、是非お願い致します。
inovia 2013/6/9(Sun) 01:42:42|NO.54728
試してないけど、解決するには1つ目は送信をPOSTにしてしまう方法。
PHP側の
$test = $_GET['test'];
を
$test = $_POST['test'];
に変え、HSP側の
sockput "GET /index.php HTTP/1.0 \n\n", 0
を
sockput "POST /index.php HTTP/1.0 \n\n", 0
に変えれば、うまくいくのでは?
2つ目はGETにする方法で、
sockput "test="+test, 0 ;testを記述
を削除して
sockput "GET /index.php?test="+test+" HTTP/1.0 \n\n", 0
に変更する。
どちらかでうまくいくはず。
xaria 2013/6/9(Sun) 01:55:52|NO.54729
inovia様>>
うまくいきました!!!
PHP側もGETで
sockput "GET /index.php?test="+test+" HTTP/1.0 \n\n", 0
</php>
これでいけました!
3日悩んでたのが嘘のように今テンションあがりっぱなしです!
本当にありがとうございました!
inovia 2013/6/9(Sun) 02:01:00|NO.54730
あと、改行コードも気になります。
HSP上では、
\r = 0D (CR)
\n = 0D 0A (CRLF)
となるため、複数の改行コードが混在しています。
C言語だと、
\r = 0D (CR)
\n = 0A (LF)
\r\n = 0D 0A (CRLF)
なんですけども。
\r\nとなっているところを\nに直しておいた方が良いです。
#include "hspsock.as"
sdim get,1000
/* 送信したい変数 */
test = "123456789"
sockopen 0, "localhost", 80
sockput "GET /index.php?test="+test+" HTTP/1.0 \n", 0
sockput "Host: localhost\n"
sockput "Content-Length: "+strlen(test)+"\n\n"
sockget get,1000,0
sockclose 0
dialog get
xaria 2013/6/9(Sun) 14:48:16|NO.54745
inovia様>>
ありがとうございます!
拾ったサンプルが\rだったので必須かと思ってました!
確かに拾ったサンプルはC用だった気がします・・
ありがとうございましたー!