-1

这是我的代码

<html>
<title></title>
<body>
    <form method="get" >
        Username: <input type="text" name="user"><br>
        Password: <input type="password" name="pwd"><br>
        <input type="submit" value="Submit">
    </form>
    <?php
//konfig
        $server = "XXXX";
        $port = "XXXX";
        $enable_password = true;
//error
        error_reporting(0);
        if (isset($_GET['user']) && isset($_GET['pwd'])) {
            $username = $_GET['user'];
            $password = $_GET['pwd'];
            if (($username !== "") && ($password !== "")) {
                set_time_limit(30);
                if (!($socket = fsockopen($server, $port, $errno, $errstr, 10))) {
                    echo "Cant Connect Server";
                    flush();
                } else {
                    if ($enable_password)
                        fputs($socket, "USER " . $username . "\n");
                    fputs($socket, "PASS " . $password . "\n");

                //get $line
                $line = @fgets($socket, 1024);
                if (strstr($line, "Authentication successful. You are now Login")) {
                    echo "Connected";
                } else {
                    echo "Not Connected";
                }
            }
        }
    }
    ?>
</body>

sock 安装在我的 PHP 中。我尝试了,当用户名和密码为真时,输出未连接。它需要通过发送 /msg NICKSERV identify [passwd] 来识别用户名和密码。知道如何将该命令添加到我的脚本中吗?并希望在我输入用户名和密码时输出结果是正确的..

4

1 回答 1

0

我找到了那个话题:

向 IRC 机器人发送私人消息

它具有以下功能:

function SendCommand ($cmd)
{
    global $server; //Extends our $server array to this function
    @fwrite($server['SOCKET'], $cmd, strlen($cmd)); //sends the command to the server
    echo "[SEND] $cmd <br>"; //displays it on the screen
} 

所以发送命令,如图所示,即:

SendCommand("PONG :".substr($server['READ_BUFFER'], 6)."\n\r"); 

看来您应该遵循 fwrite($socket, $cmd, strlen($cmd)); 这样的架构

于 2013-05-04T14:14:52.847 回答