1

いくつかのタラとボタンがあるadmin.phpというページがあります。私の問題は、ボタンの1つが元々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 に答える