1

我有一个名为 admin.php 的页面,其中包含一些代码和按钮。我的问题是其中一个按钮应用了最初是 HTML 代码的操作代码,但我将其转换为 php,代码如下:

echo "<form action=\"write.php\" method=\"post\">\n"; 
echo " <p>your MoD name: <input type=\"text\" name=\"mdname\" /></p>\n"; 
echo " <p><input type=\"submit\" /></p>\n"; 
echo "</form>\n"; 

此代码调用 write.php 和 write.php 代码是这样的:

<?php
header ('Location: admin.php ');
$myFile = "methods\actmod.txt";
unlink($myFile);
$handle = fopen("methods\actmod.txt", "a");
foreach($_POST as $variable => $value) {
   fwrite($handle, $variable);
   fwrite($handle, "=");
   fwrite($handle, $value);
   fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fclose($handle);
exit;
?>

此代码将一些数据写入名为 actmod.txt 的 txt 文件并返回到管理页面。我想问有什么方法可以将 write.php 合并到主 admin.php 页面,所以当我点击管理页面中的提交按钮时,它将使用任何外部文件并直接从管理页面运行命令,我不会管理页面后面有任何外部文件吗?

我看到很多页面都有这样的地址“http://site.com/admin.php?act=write

我希望每个人都明白我的意思。我是 php 新手,我搜索了很多,我感谢任何人的帮助。谢谢你

4

2 回答 2

0

在你的 admin.php 中使用它

<?php

if(array_key_exists('action', $_GET)&&$_GET['action']=='write') {
    $myFile = "methods\actmod.txt";
    // unlink($myFile); deletes your file, if you want to ADD text, don't :)
    $handle = fopen($myFile, "a");
    foreach($_POST as $variable => $value) {
        fwrite($handle, $variable);
        fwrite($handle, "=");
        fwrite($handle, $value);
        fwrite($handle, "\r\n");
    }
    fwrite($handle, "\r\n");
    fclose($handle);
}

echo "<form action=\"admin.php?action=write\" method=\"post\">\n"; 
echo " <p>your MoD name: <input type=\"text\" name=\"mdname\" /></p>\n"; 
echo " <p><input type=\"submit\" /></p>\n"; 
echo "</form>\n"; 
?>
于 2012-09-26T05:10:36.890 回答
-1

在你的 admin.php

<?php
$post = count($__POST) > 0 ? true : false;
if ($post) {
    // do the work you are doing in write.php
} else {
   // do the work you are already doing in admin.php
}

可能有更好的方法来识别请求是 POST 还是 GET,我只是想给你一个提示,剩下的就是你的了。:)

于 2012-09-26T04:08:18.633 回答