PHP Tutorial: Blog (Including Commenting) blank page
Posted: Sun Oct 21, 2012 3:52 pm
I get a blank page when trying to run the blog_list.php.....I have error reporting turned on, but I get no errors.
<?php include('core/init.inc.php'); ?> <body> <div> <? $posts = get_posts(); $print_r($posts); ?> </div> </body> </html>
<?php // checks if the given post id is in the table. function valid_pid($pid){ $pid = (int)$pid; $total = mysql_query("SELECT COUNT(`post_id`)FROM `posts` WHERE `post_id` = {$pid}"); $total = mysql_result($total,0); if ($total !=1){ return false; }else{ return true; } } // fetches a summary of all the blog posts. function get_posts(){ $sql ="SELECT `posts`.`post_id`AS`id`, `posts`.`post_title`AS`title`, LEFT(`posts`.`post_body`,512)AS `preview`, `posts`.`post_user` AS`user`, DATE_FORMAT(`posts`.`post_date`,'%d/%m/%Y %H:%i:%s')AS`date`, `comments`.`total_comments`, DATE_FORMAT(`comments`.`last_comment`,'%d/%m/%Y %H:%i:%s') AS `last_comment` FROM `posts` LEFT JOIN( SELECT `post_id`, COUNT(`comment_id`)AS `total_comments`, MAX(`comment_date`)AS `last_comment` FROM `comments` GROUP BY `post_id` ) AS `comments` ON `posts`.`post_id` = `comments`.`post_id` ORDER BY `posts`.`post_date` DESC"; $posts = mysql_query($sql); $rows = array(); while (($row = mysql_fetch_assoc($posts))!==false){ $rows[]=array( 'id' => $row['id'], 'title' => $row['title'], 'preview' => $row['preview'], 'user' => $row['user'], 'date' => $row['date'], 'total_comments' => ($row['total_comments']===null) ? 0 : $row['total_comments'], 'last_comment' => ($row['last_comment']===null)? 'never': $row['last_comment'] ); } return $rows; } // fetches a single post from the table. function get_post($pid){ $pid = (int)$pid; $sql ="SELECT `post_title`AS`title`, `post_body`AS`body`, `post_user`AS`user`, `post_date`AS`date` FROM `posts` WHERE `post_id`={$pid}"; $post = mysql_query($sql); $post = mysql_fetch_assoc($post); $post['comments']= get_comments($pid); return $post; } // adds a new blog entry. function add_post($name , $title, $body){ $name = mysql_real_escape_string(htmlentities($name));{ $title = mysql_real_escape_string(htmlentities($title)); $body = mysql_real_escape_string(nl2br(htmlentities($body))); mysql_query("INSERT INTO `posts`(`post_user`,`post_title`,`post_body`,`post_date`) VALUES('{$name}','{$title}','{$body}',NOW())"); } } ?>any help will be appreciated