Re: [PHP] iterate javascript verification

[email protected] (Ken Robinson)
Newsgroups php.general
Message-ID <[email protected]>
You do realize that you shouldn't rely on Javascript to validate 
values returned in a form?  Also, if you use HTML5, you can use the 
required attribute in the <input> tag and the browser won't let a 
user submit a form with a required field not filled. Of course, you 
should still validate within your PHP script, in case a user is using 
a browser that doesn't understand HTML5.

At 08:07 PM 5/24/2013, Tim Dunphy wrote:
>Hello list,
>
>  I have a php script that creates a variable number of forms based on a
>$_POST variable from a preceding page. It then takes the data input into
>the form and neatly packages the result into an email sent to an email
>address (eventually to be a ticketing system).
>
>
>Almost everything on the page works great. The only thing I can't seem to
>get working is how to verify that the fields in the form are not left empty
>using javascript. The syntax I'm using seems like it should work, however
>when I leave one or more of the fields empty, the email gets sent anyway
>with the missing data.
>
>Here's the app I was hoping someone might be able to suggest a successful
>approach:
>
><html>
><head>
><title>LDAP Form</title>
><body>
>   <?php
>
>    if (isset($_POST['submit'])) {
>     $requestor_email = $_POST['requestor_email'];
>     $num_forms  = $_POST['num_forms'];
>     }
>
>     echo "<center>You will be creating $num_forms accounts
>today.</center><br />";
>     for($counter = 1;$counter<=$num_forms;$counter++) {
>         echo '<center><form name="ldap_accounts" method="post"
>action="sendemail.php" onsubmit="return validateForm()">';
>         echo '<br /><br />';
>         echo "Enter user: $counter<br />";
>         echo "<label for=\"first_name_.$counter.\">First Name:</label><br
>/>";
>         echo "<input type=\"text\" id=\"first_name_.$counter.\"
>name=\"first_name_.$counter.\" /><br /><br />";
>         echo "<label for=\"last_name_.$counter.\">Last Name:</label><br />";
>         echo "<input type=\"text\" id=\"last_name_.$counter.\"
>name=\"last_name_.$counter.\" /><br /><br />";
>         echo "<label for=\"department_.$counter.\">Department:</label><br
>/>";
>         echo "<input type=\"text\" id=\"department_.$counter.\"
>name=\"department_.$counter.\" /><br /><br />";
>         echo "<label for=\"title_.$counter.\">Title:</label><br />";
>         echo "<input type=\"text\" id=\"title_.$counter.\"
>name=\"title_.$counter.\" /><br /><br />";
>         echo "<label for=\"email_.$counter.\">Email:</label><br />";
>         echo "<input type=\"text\" id=\"email_.$counter.\"
>name=\"email_.$counter.\" /><br /><br />";
>         echo "<label for=\"phone_$counter.\">Phone:</label><br />";
>         echo "<input type=\"text\" id=\"phone_.$counter.\"
>name=\"phone_.$counter.\" /><br /><br />";
>   ?>
>    <script>
>     function validateForm()
>      {
>        var a=document.forms["ldap_accounts"]["first_name_"].value;
>        if (a==null || a=="")
>        {
>         alert("User $counter first name must be filled out.");
>         return false;
>        }
>         var b=document.forms["ldap_accounts"]["last_name_"].value;
>         if (b==null || b=="")
>         {
>         alert("User $counter last name must be filled out.");
>         return false;
>         }
>         var c=document.forms["ldap_accounts"]["department_"].value;
>         if (c==null || c=="")
>         {
>         alert("User $counter department must be filled out.");
>         return false;
>         }
>         var d=document.forms["ldap_accounts"]["title_"].value;
>         if (d==null || d=="")
>         {
>         alert("User $counter title must be filled out.");
>         return false;
>         }
>         var d=document.forms["ldap_accounts"]["email_"].value;
>         if (d==null || d=="")
>         {
>         alert("User $counter address must be filled out.");
>         return false;
>         }
>         var d=document.forms["ldap_accounts"]["phone_"].value;
>         if (d==null || d=="")
>         {
>         alert("User $counter phone name must be filled out.");
>         return false;
>         }
>       }
>      </script>
>  <?php
>   }
>
>   echo "<input type=\"hidden\" id=\"num_forms\" name=\"num_forms\"
>value=\"$num_forms\" /><br /><br />";
>   echo "<input type=\"hidden\" id=\"requestor_email\"
>name=\"requestor_email\" value=\"$requestor_email\" />";
>   echo "<input type=\"submit\" name=\"submit\" value=\"Create Ticket\" />";
>   echo "</form></center>";
>
>    ?>
></body>
></html>
>
>Thanks,
>Tim
>
>--
>GPG me!!
>
>gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.