2012-05-06 6 views
0

私はPHPでメッセージボードを作ろうとしていますが、新しいメッセージが投稿されると、index.phpにとどまるのではなくadd.phpに移動します。フォームを処理した後、どのようにIndex.phpに戻ることができますか?

Iは、ユーザーからのメッセージをテキストファイルに保存します。新しいメッセージがあるときは、ファイルを追加します。私のwwwディレクトリには、index.php、show.php、add.php、comments.txtの4つのファイルがあります。

私のindex.phpは次のようになります。

<html> 
<head> 
<title>messages</title> 
</head> 
<body> 
<h1>Messages</h1> 
<div id="comments"> 
<?php include("show.php"); ?> 
<?php include("add.php"); ?> 
</div> 
</body> 
</html> 

マイadd.phpは、次のようになります。

<?php 
if (isset($_POST['cmt'])) { 
$cmt = $_POST['cmt']; 
$fh = fopen("comments.txt", 'a'); 
fwrite($fh, "B_E_G_I_N\n"); 
fwrite($fh, "$cmt\n"); 
fwrite($fh, "E_N_D\n"); 
fclose($fh); 
} 
?> 
<form action="add.php" method="POST"> 
<input type="text" name="cmt"> 
<input type="submit" value="ok"/> 
</form> 

私は私の実装は本当に悪いですけど、私は本当にそれを動作させるにしたいです最初。

ありがとうございます!

+0

LIKE「index.phpを」にリダイレクト'header( 'Location:/index.php');の後に' exit(); 'をつけてください。 – halfer

答えて

2

add.phpの終わりに

header('Location:index.php');

を追加します。フォームアクションはとても

+0

'exit()'を忘れないでください。 – Adi

1

を言うので

また、それはメインのスクリプト処理(すなわちfclose($fh);)場所後add.phpに行き、あなたの `if`ブロックの終わりにheader('Location: http://www.example.com/');

関連する問題