Home >> FAQs/Tutorials >> PHP Script Tutorials and Tips >> Index

PHP Script Tips - Processing Web Forms

By: FYICenter.com

Part:   1  2  3  4  5   6  7  8 

(Continued from previous part...)

How To Remove Slashes on Submitted Input Values?

By default, when input values are submitted to the PHP engine, it will add slashes to protect single quotes and double quotes. You should remove those slashes to get the original values by applying the stripslashes() function. Note that PHP engine will add slashes if the magic_quotes_gpc switch is turned off. The PHP script below is an enhanced version of processing_forms.php with slashes removed when magic_quotes_gpc is turned on:

<?php
  print("<html><pre>");
  $count = count($_REQUEST);
  print("Number of values: $count\n");
  foreach ($_REQUEST as $key=>$value) {
    if (is_array($value)) {
      print("  $key is an array\n");
      for ($i = 0; $i < count($value); $i++) {
         $sub_value = $value[$i];
         if (get_magic_quotes_gpc()) {
           $sub_value = stripslashes($sub_value);
         }
         print("    ".$key."[".$i."] = ".$sub_value."\n");
      }
    } else { 
      if (get_magic_quotes_gpc()) {
        $value = stripslashes($value);
      }
      print("  $key = $value\n");
    }
  }
  print("</pre></html>\n");
?>

Now if you submit the same data again as in the previous exercise, you will get the original values as:

Number of values: 2
  name = Alan
  comment = I want to say: "It's a good site! :->"

How To Support Multiple Submit Buttons?

Sometimes, you may need to give visitors multiple submit buttons on a single form to allow them to submit the form for different purposes. For example, when you show your customer a purchase order in a Web form, you may give your customer 3 submit buttons as "Save", "Copy", and "Delete". You can do this by adding "name" and "value" attributes to the <INPUT TYPE=submit ...> tags to differentiate the buttons. The following PHP script is a modified version of submit_comments.php with 3 submit buttons:

<?php
  $comment = 'I want to say: "It\'s a good site! :->"';
  $comment = htmlspecialchars($comment);
  print("<html><form action=processing_forms.php method=post>");
  print("<table><tr><td colspan=2>Please enter and submit your"
    ." comments about FYICenter.com:</td></tr>");
  print("<tr><td>Your Name:</td>"
    ."<td><input type=text name=name></td></tr>\n");
  print("<tr><td>Comments:</td>"
    ."<td><input type=text name=comment value=\"$comment\" size=40>"
    ."</td></tr>\n");
  print("<tr><td colspan=2>"
    .'<input type=submit name=submit value="Submit now">'
    .'<input type=submit name=submit value="Save only">'
    .'<input type=submit name=submit value="Cancel">'
    ."<td></tr></table>\n");
  print("</form></html>\n");
?>

If you view this PHP page, you will see 3 buttons. If submit the form by clicking the "Save only" button, you will get something like this:

Number of values: 3
  name = Peter
  comment = I want to say: "It's a good site! :->"
  submit = Save only

Obviously, different code logics should be written based on the received value of the "submit" field.

(Continued on next part...)

Part:   1  2  3  4  5   6  7  8 


Selected Developer Jobs:

More...