PHP Tutorial: Blog (Including Commenting) [part 04]
-
- Posts: 19
- Joined: Mon Apr 09, 2012 1:14 pm
- Contact:
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
Damn, you are amazing!
Everything is working fine now, except posting a comment
Warning: Cannot modify header information - headers already sent by (output started at /home/xridomqb/domains/rowrufftest.nl/public_html/core/inc/posts.inc.php:100) in /home/xridomqb/domains/rowrufftest.nl/public_html/blog_read.php on line 7
Everything is working fine now, except posting a comment
Warning: Cannot modify header information - headers already sent by (output started at /home/xridomqb/domains/rowrufftest.nl/public_html/core/inc/posts.inc.php:100) in /home/xridomqb/domains/rowrufftest.nl/public_html/blog_read.php on line 7
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
in your add_comment you forgot to put dollarsigns ( $ ) in front of the variable names in your query.
this:
this:
mysql_query("INSERT INTO `comments` (`post_id`, `comment_user`, `comment_body`, `comments_date`) VALUES ({$pid}, '{user}', '{body}', NOW())");needs to look like this:
mysql_query("INSERT INTO `comments` (`post_id`, `comment_user`, `comment_body`, `comments_date`) VALUES ({$pid}, '{$user}', '{$body}', NOW())");
-
- Posts: 19
- Joined: Mon Apr 09, 2012 1:14 pm
- Contact:
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
That was just a stupid mistake!
But that wasn't the problem in the code! Still getting the same message!
Is it an idea to put all the code on a website or something? So you can look at all of them!
But that wasn't the problem in the code! Still getting the same message!
Is it an idea to put all the code on a website or something? So you can look at all of them!
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
post all your code here using the php syntax tags.
-
- Posts: 19
- Joined: Mon Apr 09, 2012 1:14 pm
- Contact:
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
These are all my codes:
comment.inc.php
comment.inc.php
<?php include('core/init.inc.php'); if (isset($_GET['pid'], $_POST['user'], $_POST['body'])) { if (add_comment($_GET['pid'], $_POST['user'], $_POST['body'])) { header("Location: blog_read.php?pid={$_GET['pid']}"); } else { header('Location: blog_list.php'); } die (); } ?> <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Blog by Me</title> </head> <body> <div id="wrapper"> <?php if (isset($_GET['pid']) === false || valid_pid($_GET['pid']) === false) { echo 'Invalid post ID.'; } else { $post = get_post($_GET['pid']); ?> <h2><?php echo $post['title']; ?></h2> <h4>By <?php echo $post['user']; ?> on <?php echo $post['date']; ?> (<?php echo count($post['comments']); ?> comments)</h4> <hr /> <p><?php echo $post['body']; ?></p> <hr/> <?php foreach ($post['comments'] as $comment) { ?> <h4><?php echo $comment['user']; ?> on <?php echo $comment['date']; ?></h4> <p><?php echo $comment['body']; ?></p> <hr /> <?php } ?> <form action="" method="post"> <p> <label for="user">Name</label> <input type="text" name="user" id="user" /> </p> <p> <textarea name="body" rows="20" cols="60"></textarea> </p> <p> <input type="submit" value="Add Comment" /> </p> </form> <?php } ?> </div><!-- End #wrapper --> </body> </html>posts.inc.php
<?php 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; } } 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; } 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; } 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())"); } ?>blog_list.php
<?php include('core/init.inc.php'); ?> <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Untitled Document</title> </head> <body> <div id="wrapper"> <?php $posts = get_posts(); foreach ($posts as $post) { ?> <article> <header> <hgroup> <h2><a href="blog_read.php?pid=<?php echo $post['id']; ?>"><?php echo $post['title']; ?></a></h2> <h4><?php echo $post['user']; ?> on <?php echo $post['date']; ?></h4> <h4>(<?php echo $post['total_comments']; ?> comments | last comment <?php echo $post['last_comment']; ?>)</h4> </hgroup> </header> <p><?php echo $post['preview']; ?></p> </article> <?php } ?> </div><!-- End #wrapper --> </body> </html>blog_post.php
<?php include('core/init.inc.php'); if (isset($_POST['user'], $_POST['title'], $_POST['body'])) { add_post($_POST['user'], $_POST['title'], $_POST['body']); header('Location: blog_list.php'); die(); } ?> <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Untitled Document</title> </head> <body> <div id="wrapper"> <form action="" method="post"> <p> <label for="user">Name</label> <input type="text" name="user" id="user" /> </p> <p> <label for="title">Title</label> <input type="text" name="title" id="title" /> </p> <p> <textarea name="body" rows="20" cols="60"></textarea> </p> <p> <input type="submit" value="Add Post" /> </p> </form> </div><!-- End #wrapper --> </body> </html>blog_read.php
<?php include('core/init.inc.php'); if (isset($_GET['pid'], $_POST['user'], $_POST['body'])) { if (add_comment($_GET['pid'], $_POST['user'], $_POST['body'])) { header("Location: blog_read.php?pid={$_GET['pid']}"); } else { header('Location: blog_list.php'); } die (); } ?> <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Blog by Me</title> </head> <body> <div id="wrapper"> <?php if (isset($_GET['pid']) === false || valid_pid($_GET['pid']) === false) { echo 'Invalid post ID.'; } else { $post = get_post($_GET['pid']); ?> <h2><?php echo $post['title']; ?></h2> <h4>By <?php echo $post['user']; ?> on <?php echo $post['date']; ?> (<?php echo count($post['comments']); ?> comments)</h4> <hr /> <p><?php echo $post['body']; ?></p> <hr/> <?php foreach ($post['comments'] as $comment) { ?> <h4><?php echo $comment['user']; ?> on <?php echo $comment['date']; ?></h4> <p><?php echo $comment['body']; ?></p> <hr /> <?php } ?> <form action="" method="post"> <p> <label for="user">Name</label> <input type="text" name="user" id="user" /> </p> <p> <textarea name="body" rows="20" cols="60"></textarea> </p> <p> <input type="submit" value="Add Comment" /> </p> </form> <?php } ?> </div><!-- End #wrapper --> </body> </html>
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
I have to admit defeat on this one. The error is saying that the output started in posts.inc.php on line 100. But there is no line 100.
I'll give it another look tomorrow when I'm hopefully not as tired.
I'll give it another look tomorrow when I'm hopefully not as tired.
-
- Posts: 19
- Joined: Mon Apr 09, 2012 1:14 pm
- Contact:
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
I Found the error also really strange!
Tomorrow is a better day
Thank you for helping anyway
Tomorrow is a better day
Thank you for helping anyway
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
Hopefully, yesRowruffDesign wrote:Tomorrow is a better day
No problemsRowruffDesign wrote:Thank you for helping anyway
-
- Posts: 19
- Joined: Mon Apr 09, 2012 1:14 pm
- Contact:
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
Oke, I think I solved it!
It is a strange solution! I just putted some enters behind the code, that's why the error said there were 100 lines. I just removed the lines till line 86. Now it is working fine!
http://rowrufftest.nl/blog_list.php
Try it out yourself
Now it is time for styling!
It is a strange solution! I just putted some enters behind the code, that's why the error said there were 100 lines. I just removed the lines till line 86. Now it is working fine!
http://rowrufftest.nl/blog_list.php
Try it out yourself
Now it is time for styling!
Re: PHP Tutorial: Blog (Including Commenting) [part 04]
I'm glad you solved it
-
- Posts: 19
- Joined: Mon Apr 09, 2012 1:14 pm
- Contact: