前提・実現したいこと
PHPで掲示板を作成しています。
data.textに何も文字がない場合には、表示欄に「投稿なし」を表示させたいです。
if関数を使ってみたのですが、ソースコードがそのまま表示されてしまいました。
詳しい方よろしくお願いします。
該当のソースコード
下記はif関数を入れる前のものです。data.textに何も文字がない場合は何も表示されません。
<?php date_default_timezone_set('Asia/Tokyo'); $timestamp=time(); $message =""; $time = ( isset( $_POST["date"] ) === true ) ?$_POST["date"]: ""; $title = ( isset( $_POST["title"] ) === true ) ?$_POST["title"]: ""; $name = ( isset( $_POST["name"] ) === true ) ?$_POST["name"]: ""; $comment = ( isset( $_POST["comment"] ) === true ) ? trim($_POST["comment"]) : ""; $fp = fopen("data.txt", "a"); fwrite($fp,date("Y/m/d",$timestamp)." \t". $title . "\t" . $name . "\t". $comment ."\n"); fclose($fp); $fp = fopen("data.txt","r"); $dataArr= array(); while( $res = fgets( $fp)){ $tmp = explode("\t",$res); $arr = array( "date"=>$tmp[0], "title"=>$tmp[1], "name"=>$tmp[2], "comment"=>$tmp[3] ); $dataArr[]= $arr; } ?> <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>掲示板</title> </head> <body> <h2>掲示板</h2> <form method="post" action=""> タイトル:<input type="title" name="title" value="<?php echo $title; ?>" > <br> 名前:<input type="text" name="name" value="<?php echo $name; ?>" > <br> コメント:<input type="text" name="comment" value="<?php echo $comment; ?>"> <br> <br> <input type="submit" name="send" value="投稿" > </form> <h2>表示欄</h2> <ul> <?php foreach( $dataArr as $data ):?> <article> <div> <?= $data["date"] . " " . $data["title"] . "</br>" . $data["name"]. ":" . $data["comment"]."</br>"."</br>"; ?> </div> </article> <?php endforeach;?> </ul> </body> </html>
補足情報(FW/ツールのバージョンなど)
XAMPPです。
回答2件
あなたの回答
tips
プレビュー