Jump to content

Recommended Posts

Hey guys, need some help real quick.
 
I'm using this walkthrough over at css-tricks, some might be familiar with it by now?
 
Anyway, I've followed the instructions exactly.  It's supposed to display a simple form that you fill out and submit, which then updates the MYSQL database.  However, whenever i load display.php in my browser, all i get is a blank page, and there are no notifications or errors to be in seen in the console.

 

Any help is greatly appreciated. Thanks!

Here's my code:

SimpleCMS.zip

display.php

 

<!DOCTYPE html>

<html lang="en">
 
  <head>
    <title>SimpleCMS</title>
  </head>
 
  <body>
 
 <?php
 
 include_once('_class/simpleCMS.php');
 $obj = new simpleCMS();   
 $obj->host = 'localhost';
 $obj->username = 'root';
 $obj->password = 'root';
 $obj->table = 'test';
 $obj->connect(); 
 
 if ( $_POST ) 
   $obj->write($_POST); 
 
 echo ( $_GET['admin'] == 1 ) ? $obj->display_admin() : $obj->display_public();   
 
?>
 
  </body>
 
</html>

 

_class/simpleCMS.php
 

 

<?php

 
class simpleCMS {
  var $host;
  var $username;
  var $password;
  var $table;
 
  public function display_public() {
    
    $q = "SELECT * FROM testDB ORDER BY created DESC LIMIT 3";  
    $r = mysql_query($q);  
 
    if ( $r !== false && mysql_num_rows($r) > 0 ) { 
      while ( $a = mysql_fetch_assoc($r) ) {
        $title = stripslashes($a['title']); 
        $bodytext = stripslashes($a['bodytext']); 
 
        $entry_display .= <<<ENTRY_DISPLAY
 
   <h2>$title</h2>
   <p>
     $bodytext
   </p>
 
ENTRY_DISPLAY;
      }
    } else {
      $entry_display = <<<ENTRY_DISPLAY
 
   <h2>This Page Is Under Construction</h2>
   <p>
     No entries have been made on this page. 
     Please check back soon, or click the
     link below to add an entry!
   </p>
 
ENTRY_DISPLAY;
    }
    $entry_display .= <<<ADMIN_OPTION
 
   <p class="admin_link">
     <a href="{$_SERVER['PHP_SELF']}?admin=1">Add a New Entry</a>
   </p>
 
ADMIN_OPTION;
 
    return $entry_display;
    
  }
 
  public function display_admin() {  
   
       return <<<ADMIN_FORM
 
   <form action="{$_SERVER['PHP_SELF']}" method="post">
     <label for="title">Title:</label>
     <input name="title" id="title" type="text" maxlength="150" />
     <label for="bodytext">Body Text:</label>
     <textarea name="bodytext" id="bodytext"></textarea>
     <input type="submit" value="Create This Entry!" />
   </form>
 
ADMIN_FORM;
    
  }
 
  public function write($p) {  
    
     if ( $p['title'] )
      $title = mysql_real_escape_string($p['title']);
     if ( $p['bodytext'])
      $bodytext = mysql_real_escape_string($p['bodytext']);
     if ( $title && $bodytext ) {
      $created = time();
      $sql = "INSERT INTO testDB VALUES('$title','$bodytext','$created')";
      return mysql_query($sql);
    } else {
      return false;
    }
    
  }
 
  public function connect() {   
    
    mysql_connect($this->host,$this->username,$this->password) or die("Could not connect. " . mysql_error());
    mysql_select_db($this->table) or die("Could not select database. " . mysql_error());
 
    return $this->buildDB();
    
  }
 
  private function buildDB() {  
    
$sql = <<<MySQL_QUERY
        CREATE TABLE IF NOT EXISTS testDB (
            title VARCHAR(150),
            bodytext TEXT,
            created VARCHAR(100)
   )
   MySQL_QUERY;
 
    return mysql_query($sql);
}
    
  
}
 
?>
Edited by mikeytrieb

Sorry, but that code is terribly dated and isn't really a good example to begin with. Why learning php from a css site seemed like a good idea I'm not sure.

 

Anyway, its seems you have display_errors switched of and maybe have error_reporting set too low. Check your php.ini which is well commented, and fix.

to enable error reporting place this at the top of your php:

 

 error_reporting(E_ALL | E_NOTICE);
 ini_set('display_errors','1');

 

AND - if trq (note his experience level!) says your code is out-dated, you are definitely driving down a dead-end road here.  Get a newer tutorial.
 

Edited by ginerjm

The author himself actually warns you that the code is full of security issues, the comments make it very clear that the whole tutorial is bullshit, and the text is more than 5 years old.

 

Why on earth would you pick that tutorial? What do you expect to learn? How to write crap code?

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.