date = date("Y M d"); } function set_mlength() { $this->mlength = strlen($this->message); } function set_nlength() { $this->nlength = strlen($this->name); } } if (!isset($_SERVER["HTTP_HOST"])) { parse_str($argv[1], $_POST); } # Make ndata Object $ndata = new data(); # Setup Variables for name and Message $name = $ndata->name = htmlspecialchars($_POST["fname"]); $message = $ndata->message = htmlspecialchars($_POST["fmessage"]); # Setup Misc Info like date and lengths $ndata->set_date(); $ndata->set_mlength(); $ndata->set_nlength(); $mlength = $ndata->mlength; $nlength = $ndata->nlength; # Setup Redirect URL $newURL = "https://" . $_SERVER['SERVER_NAME'] . "/guestbook/index.html"; # Check name and message if ($name == "") { header('Refresh:2; url=' . $newURL ); echo "There is no name, Try again with a name"; exit(); } if ($message == "") { header('Refresh:2; url=' . $newURL ); echo "There is no message, Try again with a message"; exit(); } if($mlength > 200) { header('Refresh:2; url=' . $newURL ); echo "This message is too long"; exit(); } if($nlength > 25 ) { header('Refresh:2; url=' . $newURL ); echo "The name is too long"; exit(); } # The DBH Info $dbh = new PDO('sqlite:/home/evan/Development/Website-Redesign/static/guestbook/database.sq3'); # THe Schema For the table function setupdb($dbh) { $dbh->exec('CREATE TABLE IF NOT EXISTS messages ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, date TEXT NOT NULL, message TEXT NOT NULL, mlength INTEGER NOT NULL, nlength INTEGER NOT NULL )'); } # Adding an Item function additem($ndata, $dbh, $newURL) { ## Check for Duplicates $dupmessagech = "SELECT count(*) FROM messages where message='$ndata->message'"; $dupmessage = $dbh->query($dupmessagech)->fetchColumn(); if($dupmessage > 0) { echo "Another message with this text already exists"; header('Refresh:2; url=' . $newURL ); exit(); } else { $sql = 'INSERT INTO messages (id, name, date, message, mlength, nlength) VALUES (?, ?, ?, ?, ?, ?)'; $sth = $dbh->prepare($sql); $sth->execute(array( null, $ndata->name, $ndata->date, $ndata->message, $ndata->mlength, $ndata->nlength )); header('Refresh:2; url=' . $newURL ); echo "Your submisson has been added"; exit(); } } # Setup the Database (If table does not already exist) setupdb($dbh); # Add the Item additem($ndata, $dbh, $newURL); ?>