Home / PHP/MySQL Tutorials / Archive by category 'PHP Forms'

PHP Forms

Compare two arrays to see if value from form post exists in PHP

<?php
$choices = array('my choice 1', 'my choice 2', 'my choice 3');
 
$valid = true;
if (is_array($_GET['inputArray'])) {
    $valid = true;
    foreach($_GET['inputArray'] as $input) {
        if (!in_array($input, $choices)) {
           $valid = false;
        }
    }
 
	if ($valid) {
       echo "Input Value were found in choices";
    }
}
?>

Using Radio buttons in PHP Form

<html>
<body>                                  
 
<form action="mychoice.php" method="post">                                                
   <b>Enter Name:</b>           
   <input type="text" size="45" name="username">  <br>
   <b>Please select your favorite animal:</b> <br>             
   <input type="radio" name="animal" value="dog">Dog           
   <input type="radio" name="animal" value="cat">Cat
   <input type="radio" name="animal" value="fish">Fish <br>
   <input type="submit" value="Submit">
</form>            
 
</body>
</html>

File: mychoice.php

<html>
 <head>
  <title>Form submission</title>
 </head>
 <body>
 <br>
 
 <?php
  $username = $_POST['username'];
  $animal =    $_POST['animal'];
 
  if(($animal != null))
  {
    $msg = "The animal you chose is $animal <br>";
    echo($msg);
  }
 ?>
 
 </body>
</html>

use strlen() to validate PHP Form

To make sure a value has been supplied for a form element, like a text box hasn’t been left blank, we can use strlen() to test the element in $_GET or $_POST.

<?php
if (! strlen($_POST['color'])) {
   print 'You must enter your a value for color.';
}
?>

Determine request type in PHP

The $_SERVER['REQUEST_METHOD'] variable can be used to determine whether the request was submitted with the get or post method.
In the example below, If the get method was used, we print the form. If the post method was used, we process the form.

<?php if ($_SERVER['REQUEST_METHOD'] == 'GET') { ?>
<form action="<?php echo $_SERVER['SCRIPT_NAME'] ?>" method="post">
What is your first name?
<input type="text" name="first_name" />
<input type="submit" value="Say Hello" />
</form>
<?php } else {
    echo 'Hello, ' . $_POST['first_name'] . '!';
}
?>

Passing Complex Values In A Querystring

 
string serialize ( mixed value )
mixed unserialize ( string str ) <html>
<?php
class someclass {
  protected $someval;
  public function setsomeval($newval) {
    $this->someval = $newval;
  }
  public function getsomeval() {
    return $this->someval;
  }
}
$myclass = new someclass ( );
$myclass->setsomeval ( "Hello World!" );
$myarray = array ();
$myarray [0] = "Hello";$myarray = serialize ( $myarray );
$myarray = urlencode ( $myarray );
$myclass = serialize ( $myclass );
$myclass = urlencode ( $myclass );
?>
</head>
<body>
<a
  href="index.html?passedarray=<?php
  echo $myarray;
  ?>. &amp;passedclass=<?php
echo $myclass;
?>">Output Current Value</a>
<?phpif (isset ( $_GET ['passedclass'] ) && isset ( $_GET ['passedarray'] )) {
 
  $newclass = new someclass ( );
  $newclass = $_GET ['passedclass'];
  $newclass = stripslashes ( $newclass );
  $newclass = unserialize ( $newclass );
  echo "Object: " . $newclass->getsomeval () . "<br />";
 
  $newarray = array ();
  $newarray = $_GET ['passedarray'];
  $newarray = stripslashes ( $newarray );
  $newarray = unserialize ( $newarray );
  print_r ( $newarray );}
?>
</div>
</body>
</html>

Passing Numeric Values In A Querystring

 
<html>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
  <div align="center">
    <p>Click a link to change the text color of the verbiage below:</p>
    <a href="index.php?color=1">Green</a><br />
    <a href="index.php?color=2">Red</a><br />
    <a href="index.php?color=3">Blue</a><br />
    <a href="index.php">Reset</a>
    <?php
      if (isset ($_GET['color'])){
        $color = intval ($_GET['color']);
      } else {
        $color = "";
      }
      if ($color == 1){
        $fontcolor = "00FF00";
      } elseif ($color == 2){
        $fontcolor = "FF0000";
      } elseif ($color == 3){
        $fontcolor = "0000FF";
      } else {
        $fontcolor = "000000";
      }
      ?><p style="color: #<?php echo $fontcolor; ?>; font-weight: bold;">Hello World!</p><?php
    ?>
  </div>
</body>
</html>

Properly Checking For Submission Using Image Widgets

 
<input TYPE="image" NAME="submit_one" SRC="b.gif">
<input TYPE="image" NAME="submit_two" SRC="b2.gif">//Properly determining which submission button was clicked in PHP:<?php
     if(isset($_GET['submit_one_x'])) {     } elseif(isset($_GET['submit_two_x'])) {
     } else {     }
?>

Responding To Checkboxes

 
    <html>
<head>
<title>Checkbox Demo</title>
</head>
<body>
<h1>Checkbox Demo</h1><h3>Demonstrates checkboxes</h3>
<form action ="HandleFormCheckBox.php"><ul>
  <li><input type ="checkbox" name ="chkFries" value ="11.00">Fries</li>
  <li><input type ="checkbox" name ="chkSoda"  value ="12.85">Soda</li>
  <li><input type ="checkbox" name ="chkShake" value ="1.30">Shake</li>
  <li><input type ="checkbox" name ="chkKetchup" value =".05">Ketchup</li>
</ul>
<input type ="submit">
</form></body>
</html><!-- HandleFormCheckBox.php
<html>
<head>
<title>Checkbox Demo</title>
</head>
<body>
<h3>Demonstrates reading checkboxes</h3>
<?
print <<<here
chkFries: $chkFries <br />
chkSoda: $chkSoda <br />
chkShake: $chkShake <br />
chkKetchup: $chkKetchup <br />
<hr />HERE;$total = 0;if (!empty($chkFries)){
  print ("You chose Fries <br />");
  $total = $total + $chkFries;
}if (!empty($chkSoda)){
  print ("You chose Soda <br />");
  $total = $total + $chkSoda;
}if (!empty($chkShake)){
  print ("You chose Shake <br />");
  $total = $total + $chkShake;
}if (!empty($chkKetchup)){
  print ("You chose Ketchup <br />");
  $total = $total + $chkKetchup;
}print "The total cost is \$$total";?>
</body>
</html>
-->

Saying “Hello”

 
<?
if (array_key_exists('my_name',$_POST)) {
    print "Hello, ". $_POST['my_name'];
} else {
    print<<<_HTML_
<form method="post" action="$_SERVER[PHP_SELF]">
 Your name: <input type="text" name="my_name">
<br/>
<input type="submit" value="Say Hello">
</form>
_HTML_;
}
?>

Send Email With Cc And Bcc

 
     <html>
  <head>
  <title>Send email with CC and BCC</title>
  </head>
  <body>
  <form action="sendemailWithCC_BCC.php" method=post name=form1>
  <table>
    <tbody>
    <tr>
      <td>
       <div align=right><b>To</b></div></td>
      <td>
        <p>Name <input name=mailtoname size=35><br />E-mail
                <input name=mailtomail size=35></p></td></tr>
    <tr>
      <td>
        <div align=right><b>CC</b></div></td>
      <td><input name=mailcc size=35> </td></tr>
    <tr>
      <td>
        <div align=right><b>BCC</b></div></td>
      <td><input name=mailbcc size=35> </td></tr>
    <tr>
      <td>
        <div align=right><b>Priority</b></div></td>
      <td><select name=mailpriority>
            <option value=1>Highest</option>
            <option value=2>High</option>
            <option selected value=3>Normal</option>
            <option value=4>Low</option>
            <option value=5>Lowest</option>
          </select>
      </td></tr>
    <tr>
      <td><div align=right><b>Subject</b></div></td>
      <td><input name=mailsubject size=35></td></tr>
    <tr>
      <td>
        <div align=right><b>Message</b> </div></td>
      <td><textarea cols=50 name=mailbody rows=7></textarea> </td></tr>
    <tr>
      <td colSpan=2>
        <div align=center><input name=Submit type=submit value=Submit></div>
    </td>
    </tr>
   </tbody>
   </table>
  </form>
  </body>
  </html>
 
 
 
 
<!-- sendemailWithCC_BCC.php  <html>
  <head>
  <title>Mail Sent</title>
  </head>
  <body>
  <?php
 
    $message= " " ;
    if (empty ( $mailtoname) || empty ( $mailtomail) ) {
       die ( "Recipient is blank! ") ;
    }else{
       $to = $mailtoname . " <" . $mailtomail . ">" ;
    }
 
    if ( empty ( $mailsubject) ) {
      $mailsubject=" ";
    }    if (($mailpriority>0) && ($mailpriority<6)) {
       $mailheader = "X-Priority: ". $mailpriority ."\n";
    }    $mailheader.= "From: " . "Sales Team <sales@yourdomain.com>\n";
    $mailheader.= "X-Sender: " . "support@yourdomain.com\n";
    $mailheader.= "Return-Path: " . "support@yourdomain.com\n";    if (!empty($mailcc)) {
      $mailheader.= "Cc: " . $mailcc ."\n";
    }    if (!empty($mailbcc)) {
      $mailheader.= "Bcc: " . $mailbcc ."\n";
    }
 
    if (empty($mailbody)) {
      $mailbody=" ";
    }
 
    $result = mail ($to, $mailsubject, $mailbody, $mailheader);
    echo "<center><b>Mail sent to ". "$to". "<br />";
    echo $mailsubject. "<br />";
    echo $mailbody. "<br />";
    echo $mailheader. "<br />";
    if ($result) {
       echo "<p><b>Email sent successfully!</b></p>";
    }else{
       echo "<p><b>Email could not be sent. </b></p>";
    }
  ?>
  <div align="center">
  <table><tr><td width="66"><div align="right"><b>To</b></div></td>
             <td width="308"><b><?php echo $mailtoname . " [". $mailtomail . " ]";?></b></td></tr>
 
         <tr><td width="66"><div align="right"><b>CC</b></div></td>
             <td width="308"><b><?php echo $mailcc;?></b></td></tr>
         <tr><td width="66"><div align="right"><b>BCC</b></div></td>
             <td width="308"><b><?php echo $mailbcc; ?></b></td></tr>
         <tr><td width="66"><div align="right"><b>Priority</b></div></td>
             <td width="308"><b><?php echo $mailpriority;?></b></td></tr>
         <tr><td width="66"><div align="right"><b>Subject </b></div></td>
             <td width="308"><b><?php echo $mailsubject;?></b></td></tr>
         <tr><td width="66"><div align="right"><b>Message</b></div></td>
             <td width="308"><b><?php echo $mailbody;?></b></td></tr>
  </table>
  </div>
  </body>
  </html>
-->

Set Cookie Data

 
<?php
  $user =  $_POST['user'];
  $color = $_POST['color'];
  $self =  $_SERVER['PHP_SELF'];  if( ( $user != null ) and ( $color != null ) )
  {
    setcookie( "firstname", $user , time() + 36000 );
    setcookie( "fontcolor", $color, time() + 36000 );
    header( "Location:getcookie.php" );
    exit();
  }
?><html> <head>
  <title>Set Cookie Data</title>
 </head> <body>  <form action ="<?php echo( $self ); ?>" method = "post">  Please enter your first name:
  <input type = "text" name = "user"><br /><br />  Please choose your favorite font color:<br />
  <input type = "radio" name = "color" value = "#FF0000">Red
  <input type = "radio" name = "color" value = "#00FF00">Green
  <input type = "radio" name = "color" value = "#0000FF">Blue
  <br /><br />
  <input type = "submit" value = "submit">
  </form> </body></html>

Simple File Upload Form

 
<html>
<head>
<title>A Simple File Upload Form</title>
</head>
<body>
<form enctype="multipart/form-data"
   action="<?print $_SERVER['PHP_SELF']?>" method="post">
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="102400" />
<input type="file" name="fupload" /><br/>
<input type="submit" value="upload!" />
</p>
</form>
</body>
</html>

Time-Sensitive Form Example

 
<?
<form ACTION="index.php" METHOD=GET>
<input TYPE="hidden" NAME="time" VALUE="<?php echo time(); ?>">
Enter your message (5 minute time limit):<input TYPE="text" NAME="mytext" VALUE="">
<input TYPE="submit" Value="Send Data">
</form>if($_GET['time']+300 >= time()) {
     echo "You took too long!<br />";
     exit;
}
?>

Uploading A File

 
<?php if ($_SERVER['REQUEST_METHOD'] == 'GET') { ?>
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME'] ?>"
      enctype="multipart/form-data">
<input type="file" name="document"/>
<input type="submit" value="Send File"/>
</form>
<?php } else {
    if (isset($_FILES['document']) &&
    ($_FILES['document']['error'] == UPLOAD_ERR_OK)) {
        $newPath = '/tmp/' . basename($_FILES['document']['name']);
        if (move_uploaded_file($_FILES['document']['tmp_name'], $newPath)) {
            print "File saved in $newPath";
        } else {
            print "Couldn't move file to $newPath";
        }
    } else {
        print "No valid file uploaded.";
    }
}
?>

Using Arrays With Form Data In Php

 
<select NAME="myselect[]" MULTIPLE SIZE=3>
<option VALUE="value1">A</option>
<option VALUE="value2">B</option>
<option VALUE="value3">C</option>
<option VALUE="value4">D</option>
</select>//The PHP code to access which value(s) were selected:<?php
     foreach($_GET['myselect'] as $val) {
          echo "You selected: $val<br />";
     }
     echo "You selected ".count($_GET['myselect'])." Values.";
?>

Validating Form Data

 
<?
if ($_POST['_submit_check']) {
    if (validate_form()) {
        process_form();
    } else {
        show_form();
    }
} else {
    show_form();
}function process_form() {
    print "Hello, ". $_POST['my_name'];
}function show_form() {
    print<<<_HTML_
<form method="POST" action="$_SERVER[PHP_SELF]">
Your name: <input type="text" name="my_name">
<br/>
<input type="submit" value="Say Hello">
<input type="hidden" name="_submit_check" value="1">
</form>
_HTML_;
}function validate_form() {
    if (strlen($_POST['my_name']) < 3) {
        return false;
    } else {
        return true;
    }
}
?>

Accessing Multiple Submitted Values

 
<form method="POST" action="index.php">
<select name="lunch[]" multiple>
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
<option value="d">D</option>
<option value="e">E</option>
</select>
<input type="submit" name="submit">
</form>
Selected buns:
<br/>
<?php
foreach ($_POST['lunch'] as $choice) {
    print "You want a $choice bun. <br/>";
}
?>

Access Widget’s Form Value

 
<input TYPE="text" NAME="myform.email">would be accessed in PHP as the following:<?php
    echo $_GET['myform_email'];
?>

A Form With Checkboxes Using The Same Name To Store Multiple Values

 
<html>
<head>
    <title>Using Default Checkbox Values</title>
</head>
<body>
<?php
$food = $_GET["food"];
if (!empty($food)){
    echo "The foods selected are: <strong>";
    foreach($food as $foodstuff){
        echo '<br />'.htmlentities($foodstuff);
    }
    echo "</strong>.";
}
else {
    echo ('
    <form action="'. htmlentities($_SERVER["PHP_SELF"]).'" method="GET">
        <fieldset>
            <label>
                Italian
                <input type="checkbox" name="food[]" value="Italian" />
            </label>
            <label>
                Mexican
                <input type="checkbox" name="food[]" value="Mexican" />
            </label>
            <label>
                Chinese
                <input type="checkbox" name="food[]" value="Chinese" checked="checked" />
            </label>
        </fieldset>
        <input type="submit" value="Go!" />
    </form> ');
    }
?>
</body>
</html>

An Html Form That Calls Itself

 
<html>
<head>
<title>An HTML Form that Calls Itself</title>
</head>
<body>
<div>
<?php
if ( ! empty( $_POST['guess'] ) ) {
    print "last guess: ".$_POST['guess'];
}
?>
<form method="post" action="<?php print $_SERVER['PHP_SELF']?>">
<p>
Type your guess here: <input type="text" name="guess" />
</p>
</form>
</div>
</body>
</html>