• ベストアンサー

php

http://log.digicafe.jp/program/sample/sample.php このサンプルでphpをやってるのですがなかなか出来ませんどういった文で出来るでしょうか?お願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>なかなか出来ません これだけでは「何がわからないのか」「どこで躓いているのか」がさっぱり伝わってきません。なので何のアドバイスも出来ません。 >どういった文で出来るでしょうか? ソースを全文書けということであれば書きますが、それを提示しても何もうれしくないですよね(苦笑 (例) <html> <head> <meta http-equiv="content-type" content="text/html;charset=UTF8;" /> <title>Sample</title> <style type="text/css"> <!-- table { border-left:1px solid #ccc; border-top:1px solid #ccc; } td { border-right:1px solid #ccc; border-bottom:1px solid #ccc; } .box { width:500px; padding:5px 0; border-bottom:1px dotted #ccc; } --> </style> </head> <body> <div style="float:left;"> <form action="sample.php" method="post"> <table width="500" cellpadding="3" cellspacing="0"> <tr> <td width="100" align="center" style="background-color:#eee;">タイトル</td> <td width="400"><input type="text" size="40" name="subject" value="" /></td> </tr> <tr> <td align="center" style="background-color:#eee;">本  文</td> <td><textarea name="text" cols="50" rows="5"></textarea></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="保存する" /></td> </tr> </table> </form> <?php $subject = (isset($_POST['subject']))&&(is_string($_POST['subject'])) ? trim($_POST['subject']) : ''; $text = (isset($_POST['text']))&&(is_string($_POST['text'])) ? trim($_POST['text']) : ''; if (($subject !== "")&&($text !== "")) { // 非常にイヤだが、あらかじめhtmlspecialcharsせざるを得ない $subject = htmlspecialchars($subject); $text = str_replace(array("\r", "\n"), "", nl2br($text)); $fp = fopen('data.txt', 'a'); flock($fp, LOCK_EX); fwrite($fp, implode('<>', array($subject, $text, date('Y-m-d h:i:s'))) . PHP_EOL); flock($fp, LOCK_UN); fclose($fp); } else { if ($_POST) { $errmsg = "入力が不足しています!"; } } if (isset($errmsg)) { printf('<strong style="color:#e01;">%s</strong><br />', $errmsg); } ?> <strong style="color:#e01;">タイトルと本文を入力してください</strong><br /> <?php if (file_exists('data.txt')) { $fp = fopen('data.txt', 'r'); while ($line = fgets($fp)) { list($subject, $text, $date) = explode('<>', $line); printf('<div class="box"><strong style="float:left;">%s</strong><small style="float:right;">%s</small><p style="clear:both;">%s</p></div>', $subject, $date, $text); } } ?> </div> </body> </html>

関連するQ&A