Jump to content
Larry Ullman's Book Forums

Recommended Posts

Was doing the last section of chapter 7 where you take array data from a HTML and print it back out on the screen. The script is event.php.

 

Larry mentioned that in the real world you would use validation to make sure that a event name has been entered into the form. I gave it a shot and this is what I have come up with:

 

		
<?php
// Filename:        event.php
// Author:          Alex Beauchamp
// Date:            7/23/11

// This script creates an array from an html form's group of checkboxes

// Error Management
ini_set('display_errors', 1);
error_reporting(E_ALL | E_STRICT);

// Create flag variable for validation
$okay = TRUE;

// Validate that event name is entered, if not print error message
if (empty($_POST['name'])) {
   print '<p class="error">Please enter a name for your event.</p>';
   $okay = FALSE;
}

// Validate that at least 1 day is selected
if (isset($_POST['days']) AND is_array($_POST['days'])) {
   foreach ($_POST['days'] as $day) {
       $selected[] = $day;
       $selected_days = implode(', ', $selected);
   }
   } else {  // Print error message if no weekday is selected
       print '<p class="error">Please select at least one day for your event.</p>';
       $okay = FALSE;
   }


// If name and day okay print event details
if ($okay) {
   print "<p>You want to add an event called <span class=\"bold\">{$_POST['name']}</span> which takes place on: <br />";
   print $selected_days;
       }

?>

 

Would this be the correct way to going about validating the inputs and then printing them if correct or warning if they are not correct?

 

If not is there a better way to do it?

 

Thank you,

 

Alex

Link to post
Share on other sites

The way Larry does this is to check whether the array are empty of not. If it's not empty, that would mean an error has occurred. My thinking is that a textual description of the error is what's important. That is also how Larry does it. (No wonder I concur, right)

 

// Create the array. It's now empty
$errors = array();

if (isset($something)) {
  // it does exist
} else {
  // it does NOT exist
  $errors[] = "variable Something is empty";
}

// Check array and foreach it to get possible errors
if (empty($errors) {
  // Errors array are empty. Rock on with anything...
} else {
  foreach ($errors as $error_message) {
 	echo $message;
 	// looks like someone fucked up
  }
} 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

Loading...
×
×
  • Create New...