0

サーバーの LAN リモートを作成しようとしています。

私のサーバーは 192.168.0.1 で稼働しています。「192.168.0.1/api/powerstate?newstate=0」に移動すると、サーバーのスタンバイ モードが切り替わります。

本質的にサーバーのリモコンであるWebページを作成したいと思います。サーバーの各トグルに到達するボタンを作成できるように。

問題は、サーバーの IP アドレスを事前に知ることができないことです。そのため、ユーザーは正しいサーバーの IP アドレスを入力できる必要があります。

質問: これらのコマンドをユーザー入力アドレスに送信するにはどうすればよいですか?


これは私がこれまでに行ったことです:

//ユーザー入力の IP アドレスを保存するための HTML フォーム

<form action="test2.php?saving=1" method="POST">
    <input name="ipadres" type="text" />
<input type="submit" name="submit" value="Save Data">


//phpファイル

<?php
$saving = $_REQUEST['saving'];
if ($saving == 1){
$data = $_POST['ipadres'] . "\n";
$file = "data.txt";

$fp = fopen($file, "w") or die("Couldn't open $file for writing!");
fwrite($fp, $data) or die("Couldn't write values to file!");

fclose($fp);
echo "Saved to $file successfully!";

}
?>

//html ボタン

<form action="???/api/powerstate?newstate=0">
    <input type="submit" value="Power Toggle">
</form>

送信された IP アドレスを取得して ??? の場所に配置するにはどうすればよいですか? それは?

4

1 に答える 1

0
<?php

if(isset($_POST['ipadres']) && preg_match('/^(\d+\.){3}\d+$/',$_POST['ipadres'])) {
?>
<form action="//<?=$_POST['ipadres']?>/api/powerstate?newstate=0">
    <input type="submit" value="Power Toggle">
</form>
<?
} else {
?>
<form method="POST">
    <input name="ipadres" type="text" />
<input type="submit" name="submit" value="Save Data">
<?
}
?>
于 2013-08-08T22:53:11.393 に答える