Volkova

PHP Forum V0.1

Jul 1st, 2011
1,264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.66 KB | None | 0 0
  1. <?php
  2.  
  3. $host = 'localhost';
  4. $username = 'username';
  5. $password = 'password';
  6. $database = 'forum_db';
  7. connect($host, $username, $password, $database);
  8.  
  9. function connect($host, $username, $password, $database) {
  10.     mysql_connect($host,$username,$password) or die("Could not connect. " . mysql_error());
  11.     mysql_select_db($database) or die("Could not select database. " . mysql_error());
  12.  
  13.     return buildDB();
  14. }
  15.  
  16. function buildDB() {
  17.     $sql = <<<MySQL_QUERY
  18. CREATE TABLE IF NOT EXISTS forum (
  19. post_num INT NOT NULL AUTO_INCREMENT,
  20. title VARCHAR(150),
  21. user VARCHAR(50),
  22. bodytext TEXT,
  23. OP INT,
  24. created VARCHAR(100),
  25. PRIMARY KEY(post_num)
  26. );
  27. MySQL_QUERY;
  28.  
  29.     return mysql_query($sql);
  30. }
  31.  
  32. function post($title, $user, $body, $OP, $time) {
  33.     $title = mysql_real_escape_string(htmlentities($title));
  34.     $user = mysql_real_escape_string(htmlentities($user));
  35.     $body = mysql_real_escape_string(htmlentities($body));
  36.     $OP ? $OP = mysql_real_escape_string(htmlentities($OP)) : $OP = 0;
  37.     $SQL = "INSERT INTO forum VALUES (NULL, '$title', '$user', '$body', $OP, '$time');";
  38.     mysql_query($SQL);
  39.     $page_name = $_SERVER['REQUEST_URI'];
  40.     header("Location: $page_name");
  41. }
  42.  
  43. function get_thread() {
  44.     if ( !$_GET ) post_box();
  45.     if ( $_GET ) print "<h4> <a href=\"".$_SERVER['PHP_SELF']."\">Return </a> </h4>";
  46.    
  47.     $amount_page = 10;
  48.     if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page = 1; };
  49.     $start_from = ($page-1) * $amount_page;
  50.  
  51.     if ( $_GET['id'] ) {
  52.         $OP = mysql_real_escape_string(htmlentities($_GET['id']));
  53.         $SQL = "SELECT * FROM forum WHERE OP=$OP OR post_num=$OP ORDER BY created ASC LIMIT $start_from, $amount_page";
  54.     } else {
  55.         $OP = 0;
  56.         $SQL = "SELECT * FROM forum WHERE OP=0 ORDER BY created DESC LIMIT $start_from, $amount_page";
  57.     }
  58.     $result=mysql_query($SQL);
  59.  
  60.  
  61.     while ($db_field = mysql_fetch_assoc($result)) {
  62.  
  63.         $reply_am = $db_field["post_num"];
  64.  
  65.         $replyquery = "SELECT COUNT(*) FROM forum WHERE OP=$reply_am";
  66.         $replyresult = mysql_query($replyquery) or die(mysql_error());
  67.         while($replyrow = mysql_fetch_array($replyresult)){
  68.             $replies = $replyrow['COUNT(*)'];
  69.         }
  70.  
  71.         print "<div class=\"thread\">\n";
  72.         print "<div class=\"title\">\n";
  73.         print "<h2>" . stripslashes($db_field["title"]) . "</h2>\n";
  74.         if ( $_GET ) {
  75.             print "<h4>" . stripslashes($db_field["user"]) . " - " . date('H:i', $db_field["created"]) . "</h4>\n";
  76.         } else {
  77.             print "<h4>" . stripslashes($db_field["user"]) . " - " . date('H:i', $db_field["created"]) . " - " . $replies . " Replies" . "</h4>\n";
  78.         }
  79.         print "</div>\n";
  80.         print "<div class=\"post_body\">\n";
  81.         print "<p>" . stripslashes($db_field["bodytext"]) . "</p>\n";
  82.         print "</div>\n";
  83.         if ( !$_GET ) print "<h4> <a href=\"".$_SERVER['PHP_SELF']."?id=".$db_field["post_num"]."\">Read more... </a> </h4>";
  84.         print "</div>";
  85.     }
  86.     if ( $_GET ) post_box();
  87. }
  88.  
  89. function post_box() {
  90.     print <<<POST_FORM
  91. <a id="link1" href="javascript:display('show')"> Make Post </a>
  92.  
  93. <div id="postform" style="display:none">
  94.  
  95. <form method="post" >
  96.  
  97.     <input type="hidden" value="{$_GET["id"]}" name="OP" />
  98.  
  99.     <div class="clear"></div>
  100.     <label for="title">Title: </label><br />
  101.     <input name="title" id="title" type="text" maxlength="150" /><br>
  102.  
  103.     <div class="clear"></div>
  104.     <label for="name">Name: </label><br />
  105.     <input name="name" id="name" type="text" maxlength="150" /><br>
  106.  
  107.     <div class="clear"></div>
  108.     <label for="message">Message: </label><br />
  109.     <textarea name="bodytext" id="bodytext"></textarea><br>
  110.  
  111.     <input type="submit" value="Submit" />
  112. </form>
  113. </div>
  114. POST_FORM;
  115.  
  116. }
  117.  
  118. if ( $_POST ) {
  119.     post($_POST['title'],$_POST['name'],$_POST['bodytext'],$_POST['OP'],time());
  120. } else {
  121.     get_thread();
  122. }
  123.  
  124. ?>
Advertisement
Add Comment
Please, Sign In to add comment