用php制作命令系统

making a command system in php

本文关键字:命令系统 php      更新时间:2023-09-26

我有一个由php-html和javascript构建的聊天室,我希望用户能够运行我在聊天室中设置的命令,这是一个小聊天室,所以我不那么担心安全性

 <?
 session_start();
 if(isset($_SESSION['name'])){
 $text = $_POST['text'];
  $fp = fopen("chatLogs/defaultchatlog.html", 'a');
  fwrite($fp, "<div class='msgln'>(".date("g:i A").")<b>".$_SESSION['name']."</b>: ".stripslashes(htmlspecialchars($text))."<br></div>");
 fclose($fp);
 }
 switch($text)
 {
 case '!clear!':
    //command goes here
    break;
 default:
    //code stuff
    break;
  }

   ?>

但这似乎没有任何作用,我一直在测试它,让它把你引导到另一个页面,只是为了让我知道它有效,但它不能有人帮我或给我一些替代

你可以在这里看到我的网站

编辑

这是我一直在摆弄的代码,但我仍然需要的帮助

<?php
session_start();
if(isset($_SESSION['name'])){
$text = $_POST['text'];
switch($_POST['text'])
{
case 'MAIL':
    header('Location: http://billischill.ddns.net/mailmen.php');
    break;
case 'test':
    header('Location: http://billischill.ddns.net/testroom.php');
    break;
default:
    $fp = fopen("chatLogs/testchatlog.html", 'a');
fwrite($fp, "<div class='msgln'>(".date("g:i A").")  <b>".$_SESSION['name']."</b>: ".stripslashes(htmlspecialchars($text))."<br></div>");
fclose($fp);
}
?>

首先,您必须在服务器php.ini中设置一个date.timezone-显示警告。

第二:您的开关总是转到default情况。所以我认为您需要将开关的条件从switch($_POST['text'])更改为switch($text)。我不知道为什么,但可能有一些打字错误或其他字符。