Javascript 用php制作命令系统
我有一个由php html和javascript构建的聊天室,我希望用户能够运行我在聊天室中设置的命令,这是一个小聊天室,所以我不担心这里的安全性Javascript 用php制作命令系统,javascript,php,html,Javascript,Php,Html,我有一个由php html和javascript构建的聊天室,我希望用户能够运行我在聊天室中设置的命令,这是一个小聊天室,所以我不担心这里的安全性 <? session_start(); if(isset($_SESSION['name'])){ $text = $_POST['text']; $fp = fopen("chatLogs/defaultchatlog.html", 'a'); fwrite($fp, "<div class='msgln'>("
<?
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
-会显示一条警告
Second:您的开关总是转到
默认情况下。因此,我认为您需要将开关的条件从开关($\u POST['text'])
更改为开关($text)
。我不知道为什么,但可能有一些打字错误或其他字符在起作用。首先,你必须在你的服务器php.ini
中设置一个date.timezone
-会显示一个警告
Second:您的开关总是转到默认情况下。因此,我认为您需要将开关的条件从开关($\u POST['text'])
更改为开关($text)
。我不知道为什么,但可能有一些打字错误或其他字符在起作用。短标签被启用了吗?当前发生了什么,有错误吗?短标签??它就是不起作用,你能帮个忙吗我帮不了忙,就是它不起作用。使用打开PHP块请参见上面的编辑请永不关闭isset条件短标记是否已启用?当前发生了什么,有错误吗?短标签??它就是不起作用,你能帮个忙吗我帮不了忙,就是它不起作用。用打开PHP块请参见上面的编辑请永远不要关闭isset条件$text=$\u POST['text']那么为什么将($\u POST['text'])切换为($text)
会产生不同的效果呢?警告不会破坏它,你在哪里看到警告?(1)我也不明白-我在回答中提到过。但它确实总是传递给默认情况。因此,您需要检查开关中的状态。(2) 警告不会中断-true
!但它是打印在聊天框中的日期-由于您没有设置php.ini`值-它显示的是UTC
时间。我在googlechrome
inspectornetwork
tab中看到了它。很抱歉,我似乎不明白$text=$\u POST['text']那么为什么将($\u POST['text'])切换为($text)
会产生不同的效果呢?警告不会破坏它,你在哪里看到警告?(1)我也不明白-我在回答中提到过。但它确实总是传递给默认情况。因此,您需要检查开关中的状态。(2) 警告不会中断-true
!但它是打印在聊天框中的日期-由于您没有设置php.ini`值-它显示的是UTC
时间。我在googlechrome
inspectornetwork
tab中看到过。很抱歉,我似乎不明白