-
-
Save anonymous/68c15704307d95d3ac7b to your computer and use it in GitHub Desktop.
HSP+PHPのサンプル
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* server.phpにアクセスしてIPアドレス・ポートを登録・削除する。 | |
*/ | |
#include "hspinet.as" | |
sdim ip_address, 1024 : sdim port, 1024 | |
ip_address = "登録・削除するIPアドレスをここに入力(画面上で)" | |
port = "ポートも同じく" | |
netinit | |
if stat : dialog "接続できません" : end | |
netdlname "response.txt" | |
button "登録", *register | |
button "削除", *unregister | |
button "一覧", *list | |
objsize 200, 25 | |
input ip_address | |
input port | |
stop | |
*register | |
neturl "http://192.168.0.101/chat/" | |
netload "server.php?mode=register&ip=" + ip_address + "&port=" + port | |
notesel buf | |
noteload "response.txt" | |
dialog buf | |
stop | |
*unregister | |
neturl "http://192.168.0.101/chat/" | |
netload "server.php?mode=unregister&ip=" + ip_address + "&port=" + port | |
notesel buf | |
noteload "response.txt" | |
dialog buf | |
stop | |
*list | |
neturl "http://192.168.0.101/chat/" | |
netload "server.php?mode=list" | |
notesel buf | |
noteload "response.txt" | |
dialog buf | |
stop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* DBを作る。これははじめに1回だけ実行する。 | |
*/ | |
try { | |
$db = new PDO("sqlite:test.sqlite3"); | |
$sql = "create table servers (id integer primary key, ip_address nvarchar(16) not null, port nvarchar(8) not null)"; | |
$db->query($sql); | |
echo "OK"; | |
} catch (PDOException $ex) { | |
var_dump($ex); | |
} | |
?> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* 次のようなたたき方をする。 | |
* 登録: http://example.com/server.php?mode=register&ip=[IPアドレス]&port=[ポート] | |
* 削除: http://example.com/server.php?mode=unregister&ip=[IPアドレス]&port=[ポート] | |
* 一覧: http://example.com/server.php?mode=list | |
*/ | |
if (!isset($_GET["mode"])) { | |
echo "NG: Mode is not specified"; | |
exit(0); | |
} | |
try { | |
$mode = $_GET["mode"]; | |
$db = new PDO("sqlite:test.sqlite3"); | |
if ($mode == "register") { | |
if (isset($_GET["ip"]) && isset($_GET["port"])) { | |
$stmt = $db->prepare("INSERT INTO servers (ip_address, port) VALUES (:ip_address, :port)"); | |
$stmt->execute(array("ip_address" => $_GET["ip"], "port" => $_GET["port"])); | |
echo "OK: OK"; | |
} else { | |
echo "NG: Required parameter is not set."; | |
} | |
} else if ($mode == "unregister") { | |
if (isset($_GET["ip"]) && isset($_GET["port"])) { | |
$stmt = $db->prepare("DELETE FROM servers WHERE ip_address = :ip_address AND port = :port"); | |
$stmt->execute(array("ip_address" => $_GET["ip"], "port" => $_GET["port"])); | |
echo "OK: OK"; | |
} else { | |
echo "NG: Required parameter is not set."; | |
} | |
} else if ($mode == "list") { | |
$result = ""; | |
$stmt = $db->query("SELECT ip_address, port FROM servers"); | |
foreach ($stmt->fetchall() as $row) | |
$result .= $row["ip_address"] . ":" . $row["port"] . "\n"; | |
echo "OK: OK\n"; | |
echo $result; | |
} else { | |
echo "NG: Invalid mode was specified."; | |
} | |
} catch (PDOException $ex) { | |
echo "NG: Database error was happened."; | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment