2016-07-15 69 views
-1
<html> 
    <head> 
     <link rel="stylesheet" type="text/css" href="../style.css"/> 
     <title> 
     Metin2 Bash-Panel by .Infinity - ChatBlock-Panel 
     </title> 
    </head> 
    <body> 
    <center> 
    <img src="../images/head.jpg"/> 
    </center> 
    <div id="main"> 
    <center> 
    <i> 
    <b> 
    <a href="../index.php"> Panel-Auswahl </a> 
    <a href="index.php"> Startseite </a> 
    <a href="shutdown_p2p.php"> Server herunterfahren </a> 
    <a href="notice_p2p.php"> Ankündigungen schreiben </a> 
    <a href="block_chat_p2p.php"> ChatBlock-Panel </a> 
    <a href="dc_p2p.php"> DC-Panel </a> 
    <a href="rc_p2p.php"> RufChat-Panel </a> 
    </b> 
    </i> 
    <div id="php"> 

<?php 
/* block_chat_p2p.php by .Infinity 

*/ 

// Variablensetzung 

$IP = $_POST['ip']; 
$LogData_IP = $_SERVER['REMOTE_ADDR']; 
$Port = $_POST['port']; 
$Submit = $_POST['submit']; 
$Player = $_POST['player']; 
$Time = $_POST['time']; 

if($Submit) 
{ 
    if(strlen($IP) < 1) 
    { 
     echo "<br /><br /><b>Bitte gebe eine IP an!</b><br />"; 
    } 

    if(strlen($Port) < 1) 
    { 
     echo "<br /><br /><b>Bitte gebe einen Port an!</b><br />"; 
    } 

    if(empty($Player)) 
    { 
     echo "<br /><br /><b>Bitte geben sie einen Spielernamen ein!</b><br />"; 
    } 

} 

if($IP && $Port && $Player) 
{ 
    $LogData = fopen("../log/log_data_block_chat_p2p.txt", "a"); 
    fwrite($LogData, "$IP:$Port from $LogData_IP"); 
    fwrite($LogData, "\n"); 
    fclose($LogData); 
    $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); 
    $result = socket_connect ($socket, $IP, $Port); 

    $msg = $Player; 
    $time = "100"; 
    $msgsize = strlen($msg); 
    $maximumsize = "25"; 

    $query = "\x16".$msg; 

    $leftsize = $maximumsize - $msgsize; 

    while($leftsize) 
    { 
      $query = $query."\x00"; 
      $leftsize = $leftsize - 1; 
    } 

    $query = $query.$time."\x00"; 

    $query_size = strlen($query); 
    $write_res = socket_write($socket, $query, $query_size); 
    $recv_res = socket_recv($socket, $output, 5056, 0); 
    echo "<br />"; 
    echo "<br />"; 
    echo "<b>Der Spieler ".$Player." hat einen Chatblock erhalten.</b>"; 
    socket_close($socket); 
} 
?> 

    </div> 
    <form method="POST"> 
    <div id="input"> 
    <b> 
    <br /> 
    <br /> 
    Bitte geben sie eine ServerIP ein! 
    <br /> 
    <br /> 
    <input type="text" name="ip"/> 
    <br /> 
    <br /> 
    Bitte geben sie einen P2PPort ein! 
    <br /> 
    <br /> 
    <input type="text" name="port"/> 
    <br /> 
    <br /> 
    Bitte geben sie einen SpielerNamen ein! 
    <br /> 
    <br /> 
    <input type="text" name="player"/> 
    <br /> 
    <br /> 
    <br /> 
    </div> 
    <input class="submit" type="submit" name="submit" value="ChatBlock setzen!"/> 
    <br /> 
    <br /> 
    </b> 
    </form> 
    </center> 
    </div> 
    </body> 
</html> 

有人能告诉我这个小代码有什么问题吗?我刚开始学PHP和HTML ..我得到这个错误 通知:未定义指数:IP在C:\ XAMPP \ htdocs中\上线的P2P \ block_chat_p2p.php 34php undefined index in

注意:未定义指数:端口C: \ XAMPP \ htdocs中\上线的p2p \ block_chat_p2p.php 36

说明:未定义指数:提交在C:\ XAMPP \ htdocs中\上线的p2p \ block_chat_p2p.php 37

说明:未定义指数:玩家在第38行的C:\ xampp \ htdocs \ p2p \ block_chat_p2p.php

注意:未定义的索引:第39行的C:\ xampp \ htdocs \ p2p \ block_chat_p2p.php中的时间

回答

0

试试:

<html> 
    <head> 
     <link rel="stylesheet" type="text/css" href="../style.css"/> 
     <title> 
      Metin2 Bash-Panel by .Infinity - ChatBlock-Panel 
     </title> 
    </head> 
    <body> 
    <center> 
     <img src="../images/head.jpg"/> 
    </center> 
    <div id="main"> 
     <center> 
      <i> 
       <b> 
        <a href="../index.php"> Panel-Auswahl </a> 
        <a href="index.php"> Startseite </a> 
        <a href="shutdown_p2p.php"> Server herunterfahren </a> 
        <a href="notice_p2p.php"> Ankündigungen schreiben </a> 
        <a href="block_chat_p2p.php"> ChatBlock-Panel </a> 
        <a href="dc_p2p.php"> DC-Panel </a> 
        <a href="rc_p2p.php"> RufChat-Panel </a> 
       </b> 
      </i> 
      <div id="php"> 

       <?php 
       /* block_chat_p2p.php by .Infinity 

       */ 

// Variablensetzung 
       if (isset($_POST['submit'])) { 
        $IP = isset($_POST['ip']) ? $_POST['ip'] : ""; 
        $LogData_IP = $_SERVER['REMOTE_ADDR']; 
        $Port = isset($_POST['port']) ? $_POST['port'] : ""; 

        $Player = isset($_POST['player']) ? $_POST['player'] : ""; 
        $Time = isset($_POST['time']) ? $_POST['time'] : ""; 


        if (strlen($IP) < 1) { 
         echo "<br /><br /><b>Bitte gebe eine IP an!</b><br />"; 
        } 

        if (strlen($Port) < 1) { 
         echo "<br /><br /><b>Bitte gebe einen Port an!</b><br />"; 
        } 

        if (empty($Player)) { 
         echo "<br /><br /><b>Bitte geben sie einen Spielernamen ein!</b><br />"; 
        } 

        if ($IP && $Port && $Player) { 
         $LogData = fopen("../log/log_data_block_chat_p2p.txt", "a"); 
         fwrite($LogData, "$IP:$Port from $LogData_IP"); 
         fwrite($LogData, "\n"); 
         fclose($LogData); 
         $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
         $result = socket_connect($socket, $IP, $Port); 

         $msg = $Player; 
         $time = "100"; 
         $msgsize = strlen($msg); 
         $maximumsize = "25"; 

         $query = "\x16" . $msg; 

         $leftsize = $maximumsize - $msgsize; 

         while ($leftsize) { 
          $query = $query . "\x00"; 
          $leftsize = $leftsize - 1; 
         } 

         $query = $query . $time . "\x00"; 

         $query_size = strlen($query); 
         $write_res = socket_write($socket, $query, $query_size); 
         $recv_res = socket_recv($socket, $output, 5056, 0); 
         echo "<br />"; 
         echo "<br />"; 
         echo "<b>Der Spieler " . $Player . " hat einen Chatblock erhalten.</b>"; 
         socket_close($socket); 
        } 
       } 
       ?> 

      </div> 
      <form method="POST"> 
       <div id="input"> 
        <b> 
         <br /> 
         <br /> 
         Bitte geben sie eine ServerIP ein! 
         <br /> 
         <br /> 
         <input type="text" name="ip"/> 
         <br /> 
         <br /> 
         Bitte geben sie einen P2PPort ein! 
         <br /> 
         <br /> 
         <input type="text" name="port"/> 
         <br /> 
         <br /> 
         Bitte geben sie einen SpielerNamen ein! 
         <br /> 
         <br /> 
         <input type="text" name="player"/> 
         <br /> 
         <br /> 
         <br /> 
       </div> 
       <input class="submit" type="submit" name="submit" value="ChatBlock setzen!"/> 
       <br /> 
       <br /> 
       </b> 
      </form> 
     </center> 
    </div> 
</body> 
</html> 
+0

谢谢,现在我明白了:注意:未定义的索引:在C:\ xampp \ htdocs \ p2p \ block_chat_p2p.php上在线33 – Mark

+0

注意:未定义索引:C:\ xampp \ htdocs \ p2p \ block_chat_p2p中的时间。39p上的PHP脚本 现在这个:DD :: D – Mark

0

由于您声明了变量,因此您没有按下提交按钮,因此变量被忽略。所以你必须这样做。

if(isset($_POST['submit'])){ 
    $IP = $_POST['ip']; 
    $LogData_IP = $_SERVER['REMOTE_ADDR']; 
    $Port = $_POST['port']; 
    $Player = $_POST['player']; 
    $Time = $_POST['time']; 

    //rest of the code 
} 
0

你需要使用isset

。使用本if(isset($_POST['submit'])){代替if($Submit){

在加载页面它显示了一个不确定的指数

if(isset($_POST['submit'])){ 

//write ur code inside this 

    $IP = $_POST['ip']; 
    $LogData_IP = $_SERVER['REMOTE_ADDR']; 
    $Port = $_POST['port']; 
    $Submit = $_POST['submit']; 
    $Player = $_POST['player']; 
    $Time = $_POST['time']; 

.....so on 

} 
0

看起来页面没有收到POST请求中的值。确定它已被设置。

<?php 
    var_dump($_POST); // For debug purposes not a production code 
?> 

如果你想确保变量将被设置使用

<?php 
if(!empty($_POST['submit'])) { 
    $IP = !empty($_POST['ip']) ? $_POST['ip'] : ''; 
    $LogData_IP = $_SERVER['REMOTE_ADDR']; 
    $Port = !empty($_POST['port']) ? $_POST['port'] : ''; 
    $Submit = !empty($_POST['submit']) ? $_POST['submit'] : ''; 
    $Player = !empty($_POST['player']) ? $_POST['player'] : ''; 
    $Time = !empty($_POST['time']) ? $_POST['time'] : ''; 
} 
?> 

,并与一些错误消息以后妥善处理空的状态。

1

嗨请用下面的代码替换。请使用$_SERVER['REQUEST_METHOD']

<html> 
    <head> 
     <link rel="stylesheet" type="text/css" href="../style.css"/> 
     <title> 
     Metin2 Bash-Panel by .Infinity - ChatBlock-Panel 
     </title> 
    </head> 
    <body> 
    <center> 
    <img src="../images/head.jpg"/> 
    </center> 
    <div id="main"> 
    <center> 
    <i> 
    <b> 
    <a href="../index.php"> Panel-Auswahl </a> 
    <a href="index.php"> Startseite </a> 
    <a href="shutdown_p2p.php"> Server herunterfahren </a> 
    <a href="notice_p2p.php"> Ankündigungen schreiben </a> 
    <a href="block_chat_p2p.php"> ChatBlock-Panel </a> 
    <a href="dc_p2p.php"> DC-Panel </a> 
    <a href="rc_p2p.php"> RufChat-Panel </a> 
    </b> 
    </i> 
    <div id="php"> 

<?php 
/* block_chat_p2p.php by .Infinity 

*/ 

// Variablensetzung 
if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
$IP = $_POST['ip']; 
$LogData_IP = $_SERVER['REMOTE_ADDR']; 
$Port = $_POST['port']; 
$Submit = $_POST['submit']; 
$Player = $_POST['player']; 
$Time = $_POST['time']; 

    if($Submit) 
    { 
     if(strlen($IP) < 1) 
     { 
      echo "<br /><br /><b>Bitte gebe eine IP an!</b><br />"; 
     } 

     if(strlen($Port) < 1) 
     { 
      echo "<br /><br /><b>Bitte gebe einen Port an!</b><br />"; 
     } 

     if(empty($Player)) 
     { 
      echo "<br /><br /><b>Bitte geben sie einen Spielernamen ein!</b><br />"; 
     } 

    } 

    if($IP && $Port && $Player) 
    { 
     $LogData = fopen("../log/log_data_block_chat_p2p.txt", "a"); 
     fwrite($LogData, "$IP:$Port from $LogData_IP"); 
     fwrite($LogData, "\n"); 
     fclose($LogData); 
     $socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); 
     $result = socket_connect ($socket, $IP, $Port); 

     $msg = $Player; 
     $time = "100"; 
     $msgsize = strlen($msg); 
     $maximumsize = "25"; 

     $query = "\x16".$msg; 

     $leftsize = $maximumsize - $msgsize; 

     while($leftsize) 
     { 
       $query = $query."\x00"; 
       $leftsize = $leftsize - 1; 
     } 

     $query = $query.$time."\x00"; 

     $query_size = strlen($query); 
     $write_res = socket_write($socket, $query, $query_size); 
     $recv_res = socket_recv($socket, $output, 5056, 0); 
     echo "<br />"; 
     echo "<br />"; 
     echo "<b>Der Spieler ".$Player." hat einen Chatblock erhalten.</b>"; 
     socket_close($socket); 
    } 
} 
?> 

    </div> 
    <form method="POST"> 
    <div id="input"> 
    <b> 
    <br /> 
    <br /> 
    Bitte geben sie eine ServerIP ein! 
    <br /> 
    <br /> 
    <input type="text" name="ip"/> 
    <br /> 
    <br /> 
    Bitte geben sie einen P2PPort ein! 
    <br /> 
    <br /> 
    <input type="text" name="port"/> 
    <br /> 
    <br /> 
    Bitte geben sie einen SpielerNamen ein! 
    <br /> 
    <br /> 
    <input type="text" name="player"/> 
    <br /> 
    <br /> 
    <br /> 
    </div> 
    <input class="submit" type="submit" name="submit" value="ChatBlock setzen!"/> 
    <br /> 
    <br /> 
    </b> 
    </form> 
    </center> 
    </div> 
    </body> 
</html> 
0

创建一个单独的PHP文件,并提到在表单动作的属性,文件名。

file.php

<?php 
       /* block_chat_p2p.php by .Infinity 

       */ 

// Variablensetzung 
       $Submit = $_POST['submit']; 
       if ($Submit) { 
        $IP = ($_POST['ip']) ? $_POST['ip'] : ""; 
        $LogData_IP = $_SERVER['REMOTE_ADDR']; 
        $Port = ($_POST['port']) ? $_POST['port'] : ""; 

        $Player = ($_POST['player']) ? $_POST['player'] : ""; 
        $Time = ($_POST['time']) ? $_POST['time'] : ""; 


        if (strlen($IP) < 1) { 
         echo "<br /><br /><b>Bitte gebe eine IP an!</b><br />"; 
        } 

        if (strlen($Port) < 1) { 
         echo "<br /><br /><b>Bitte gebe einen Port an!</b><br />"; 
        } 

        if (empty($Player)) { 
         echo "<br /><br /><b>Bitte geben sie einen Spielernamen ein!</b><br />"; 
        } 

        if ($IP && $Port && $Player) { 
         $LogData = fopen("../log/log_data_block_chat_p2p.txt", "a"); 
         fwrite($LogData, "$IP:$Port from $LogData_IP"); 
         fwrite($LogData, "\n"); 
         fclose($LogData); 
         $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
         $result = socket_connect($socket, $IP, $Port); 

         $msg = $Player; 
         $time = "100"; 
         $msgsize = strlen($msg); 
         $maximumsize = "25"; 

         $query = "\x16" . $msg; 

         $leftsize = $maximumsize - $msgsize; 

         while ($leftsize) { 
          $query = $query . "\x00"; 
          $leftsize = $leftsize - 1; 
         } 

         $query = $query . $time . "\x00"; 

         $query_size = strlen($query); 
         $write_res = socket_write($socket, $query, $query_size); 
         $recv_res = socket_recv($socket, $output, 5056, 0); 
         echo "<br />"; 
         echo "<br />"; 
         echo "<b>Der Spieler " . $Player . " hat einen Chatblock erhalten.</b>"; 
         socket_close($socket); 
        } 
       } 
       ?> 

现在添加action属性到您的表单,并提交该文件。 Like

<form method="POST" action='file.php'> 

希望它会有所帮助。