プロが教えるわが家の防犯対策術!

過去に同じような質問もありましたが、いろいろ検索してこちらの過去ログを拝見しても解決できなかったので質問させてください。

掲示板で確認画面を作り確認して書込みをさせる掲示板を作っています。

掲示板にタイトルと名前とメッセージを同時に書き込みたいのですが、同時に書き込む方法がわかりません。

下がソースです。(エラーが出る状態です)

<?php
$title = $_REQUEST["title"];
$title = $title."\n";

$namae = $_REQUEST["namae"];
$namae = $namae."\n";

$body = $_REQUEST["body"];
$body = $body."\n";
?><html>
<head>
<title>Sample01</title>
</head>
<body>
<?php
$fp = fopen("../php/test1.txt","a");
fwritefwrite($fp,$title,$namae,$body);//ここを変えてみました
fclose($fp);
echo "書込み確認画面",
"<a href=\"./form.php\"></a>";
?>

わかる方おりましたらご教授お願いします。

A 回答 (4件)

質問なのですがそれはtxtファイルにcsvファイル形式で書き込んで


読み込む際にsplitで区切って表示するようにするのではだめなんですか?
    • good
    • 0
この回答へのお礼

CSVについての知識がなく、当初まったく意味がわかりませんでした。ご意見参考にさせていただきます。
ありがとうございました。

お礼日時:2007/06/19 15:41

よく使われる方法は各文字列を特定の区切り文字で連結して1個の文字列にする方法です


区切り文字が , の場合は特別にCSVと呼ばれます
他にもタブなどが使われます。
ただ各文字列に区切り文字と同じ文字がある場合に不都合が出ますのでいろいろな工夫が必要になります。(" "で囲む、大文字のコンマに変換する、タブをスペースに変換する等)
<?php
$title = $_REQUEST["title"];
$title = str_replace("\t", " ", $title);

$namae = $_REQUEST["namae"];
$namae = str_replace("\t", " ", $namae);

$body = $_REQUEST["body"];
$body = str_replace("\t", " ", $body);

$log = $title . "\t" . $namae . "\t" . $body . "\n";

fwrite($fp, $log);

読み込む場合は
$log = fgets($fp);
list($title, $namae, $body) = explode("\t", $log);
等で取り出します。
    • good
    • 0
この回答へのお礼

大変わかりやすい説明ありがとうございました。
CSVについての知識が乏しくよくわかっていませんでした。
無事に解決することが出来ました。

お礼日時:2007/06/19 15:32

fwritefwrite()関数ってあるのですか?



$arg = $title . "," . $namae . "," . $body;
fwrite($fp,$arg);

したいの?

この場合、$titleと$namaeと$bodyには","は使えませんよね。
予め、それぞれurl_encodeしておくのですかね。
    • good
    • 0
この回答へのお礼

大変失礼致しました。
投稿する前に確認を怠ってました。
urlencodeで変数を渡すことも出来るのですね。
大変勉強になりましたありがとうございます。

お礼日時:2007/06/19 15:42

fwritefwrite($fp,$title,$namae,$body);




fwrite($fp,$title.$namae.$body);
とすればとりあえず動くでしょう。
$fpと$titleの間は「,」のままで、その後ろのカンマは「.」に
    • good
    • 0
この回答へのお礼

大変失礼致しました。
投稿する前に確認を怠ってました。
urlencodeで変数を渡すことも出来るのですね。
大変勉強になりましたありがとうございます。

お礼日時:2007/06/19 15:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!