1

初めての CMS スタイルの Web サイトを作成していますが、まだいくつかの方法がありますが、知りたいのは、php スクリプトを使用して php 構成ファイルを更新できますか?

例えば:

<?php
$forum="1";
$about="1";
$register="0";
?>

<?php    
if ($about==("1"))
    echo '<a href="about.php">About Us</a>';
if ($forum==("1"))
    echo '<a href="forum.php">Forum</a>';
if ($register==("1"))
    echo '<a href="register.php">Register</a>;
?>

サイトに管理者としてログインしているときに、最初のセットを更新してさまざまなページの値を変更できるスクリプトを作成して、表示するものと表示しないものを選択できるようにしたいと考えています。

4

3 に答える 3

1

CMS を使い始めるには、データベースの操作方法を学ぶ必要があります。管理セクションを作成して編集できるようにしたい場合は、データベースが最適なオプションです。

これは、私が始めたときに私にとって非常に価値のあるウェブサイトへのリンクです

初心者向けPHP

于 2012-07-22T02:00:16.187 に答える
0

ほとんどの場合、@uzyn と @Ibu に同意します。データベースの使用について詳しく学び、それを構成データに使用することをお勧めします。そうは言っても、完全を期すために以下を提供します。ただし、この方法にはセキュリティ上の問題があることに注意してください。

3 つのファイルを作成しました。config.cfg という名前の構成ファイル。show_config.php という名前の構成を表示する PHP ファイル。write_config.php という名前の別の PHP ファイルを使用して構成の変更を保存し、show_config.php を呼び出して構成を再表示します。すべてが単純化しすぎており、以下に表示されています。

[config.cfg]

cfg_data: 42

[show_config.php]

<html>
<head>
<title>Configuration</title>
</head>
<body>
<?php
$cfg_name = "config.cfg";
$cfg_data = file_get_contents($cfg_name);
$lines = explode("\n", $cfg_data);
$cfg_vals = explode(":", $lines[0]);
$cfg_value = trim($cfg_vals[1]);
?>
<form action="write_config.php">
Configuration Value: <?php echo "<input type=\"text\" name=\"config_val\" value=\"$cfg_value \" >" ?> </input>
<br>
<input type="submit">
</form>
</body>
</html>

[write_config.php]

<?php
$cfg_name = "config.cfg";
$new_data = "cfg_data: " . $_REQUEST['config_val'];
if (file_exists($cfg_name)) {
  unlink($cfg_name);
}
try {
  file_put_contents($cfg_name, $new_data);
} catch (Exception $e) {
  echo "Exception caught!  " . $e -> getMessage() . "<br> \n";
}
header("Location:show_config.php");
$cfg_name = "config.cfg";
$new_data = "cfg_data: " . $_REQUEST['config_val'];
if (file_exists($cfg_name)) {
  unlink($cfg_name);
}
try {
  file_put_contents($cfg_name, $new_data);
} catch (Exception $e) {
  echo "Exception caught!  " . $e -> getMessage() . "<br> \n";
}
header("Location:show_config.php");
?>

これを機能させるには、config.cfg のパーミッションを (を使用して> chmod o+wx config.cfg) o:rwx に設定する必要がありましたが、これはセキュリティ上の問題の 1 つです。また、このコードは入力サニタイズを行いません。実際にこのようなものを使用する場合は、何かを保存する前に、すべてのユーザー入力を確認して消去する必要があります。

于 2012-07-22T05:45:50.680 に答える
0

これには、ストレージまたはデータベースを利用する必要があります。構成を編集可能な場所に保存します。

ファイルを使用する例を次に示します。

<?php
$forum = file_get_contents('forum');
$about = file_get_contents('about');
$register = file_get_contents('register');

次に、これらの設定をそれぞれのファイルに書き込む管理モジュールを次のように作成できます。

<?php 
// Admin, overwriting configurations

file_put_contents('forum', 1); // should the admin choses to enable Forum.
file_put_contents('about', 1); // should the admin choses to enable About Us.
file_put_contents('register', 0); // should the admin choses to disable Register.

//... etc for the rest of the modules 
于 2012-07-22T01:59:32.240 に答える