Jump to content

HELP - error message and validation in php???


wblati

Recommended Posts

hi, ive got this code in java script where it generates an error message with a red cross when a field is empty.

 

now what im looking for is to do the validation and error messaging in php.

 

<html>

<head>

<style type=text/css>

input.blue {background-color: #0066FF; font-weight: bold; font-size: 12px; color: white;}

input.violet {background-color: #ccccff; font-size: 14px;}

textarea.violet {background-color: #ccccff; font-size: 14px;}

option.red {background-color: #cc0000; font-weight: bold; font-size: 14px; color: white;}

option.pink {background-color: #ffcccc;}

.style2 { color: #990000;

font-weight: bold;

font-size: 36px;

font-family: Verdana, Arial, Helvetica, sans-serif;

}

.style5 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; }

.style6 {font-family: Arial, Helvetica, sans-serif}

body {

background-color: #FFFFCC;

}

</style>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<title>MOVIE BOOKING</title>

<script type='text/javascript'>

 

 

function report()// TAKEN FROM http://www.tizag.com/javascriptT/javascriptform.php

{

    if (formValidator()) {

        var thisForm = document.myForm;

    }

}

 

function formValidator()

{

    var errors = new Array();

 

    // Check name field

    if(empty('nameOnCard') || !isAlphabet('nameOnCard'))

    {

        document.getElementById('nameOnCard_err').style.visibility = '';

        errors[errors.length] = "Name is required and must contain only alpha characters";

    }

    else

    {

        document.getElementById('nameOnCard_err').style.visibility = 'hidden';

    }

 

 

    // Check email field

    if(empty('email') || !validEmail('email'))

    {

        document.getElementById('email_err').style.visibility = '';

        errors[errors.length] = "Email is not valid";

    }

    else

    {

        document.getElementById('email_err').style.visibility = 'hidden';

    }

 

    if (errors.length==0)

    {

        return true;

    }

 

    var error_msg = 'The following errors occured:\n\n';

 

    for (i=0; i<errors.length; i++)

    {

        error_msg += ' - ' + errors + '\n';

    }

 

    alert(error_msg);

    return falses;

}

 

function empty(elem_id)

{

    return (document.getElementById(elem_id).value.length == 0);

}

 

function isAlphabet(elem_id)

{

    var alphaExp = /^[a-zA-Z]+$/;

    return document.getElementById(elem_id).value.match(alphaExp);

}

 

function validEmail(elem_id){

    var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;

    return document.getElementById(elem_id).value.match(emailExp);

}

 

 

 

// CALCULATIONS TAKEN OUT------------------------------------------------------------------------------------------------------------

 

/* function CheckChoice(whichbox)//TAKEN FROM http://javascript.internet.com/forms/order-form.html

{

with (whichbox.form)

{

if (whichbox.type == "radio")

{

hiddentotal.value = eval(hiddentotal.value) - eval(hiddenpriorradio.value);

hiddenpriorradio.value = eval(whichbox.price);

hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.price);

}

else

{

if (whichbox.checked == false)

{ hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value); }

else { hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value); }

}

 

if (hiddentotal.value < 0)

{

InitForm();

}

 

return(formatCurrency(hiddentotal.value));

}

}

 

function formatCurrency(num)//TAKEN FROM http://javascript.internet.com/forms/order-form.html

{

num = num.toString().replace(/\$|\,/g,'');

if(isNaN(num))

num = "0";

sign = (num == (num = Math.abs(num)));

num = Math.floor(num*100+0.50000000001);

cents = num%100;

num = Math.floor(num/100).toString();

if(cents<10)

cents = "0" + cents;

for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)

num = num.substring(0,num.length-(4*i+3))+','+

num.substring(num.length-(4*i+3));

return (((sign)?'':'-') + '£' + num + '.' + cents);

}

 

function InitForm()//TAKEN FROM http://javascript.internet.com/forms/order-form.html

{

//Reset the displayed total on form:

document.myform.total.value='£0';

document.myform.hiddentotal.value=0;

document.myform.hiddenpriorradio.value=0;

document.myform2.total.value='£0';

document.myform2.hiddentotal.value=0;

document.myform2.hiddenpriorradio.value=0;

document.myform2.hiddenpriorradio.value=0;

 

for (xx=0; xx < document.myform.elements.length; xx++)

{

if (document.myform.elements[xx].type == 'checkbox' | document.myform.elements[xx].type == 'radio')

{

document.myform.elements[xx].checked = false;

}

}

for (xx=0; xx < document.myform2.elements.length; xx++)

{

if (document.myform2.elements[xx].type == 'checkbox' | document.myform2.elements[xx].type == 'radio')

{

document.myform2.elements[xx].checked = false;

}

}

 

}

 

---------------------------------------------------------------------------------------------------------------------------------------*/

 

</script>

<body>

<FORM NAME="myForm" action="http://localhost/adw%20php_v3/response%20cinema%20booking_v1.php" METHOD="POST" onSubmit="return formValidator();">

 

<div align="center"><span class="style2">ONLINE MOVIE BOOKING </span>

</div>

<div align="center">

<table width="444" border="1">

<tr>

<td><span class="style5">NAME ON CARD: </span><span id="nameOnCard_err" style="color:red;visibility:hidden;" title="Name is required and must contain only letters">[X]</span></td>

<td><input name="text" type='text' class="violet " id='nameOnCard'></td>

</tr>

<tr>

<td><span class="style5">EMAIL: </span><span id="email_err" style="color:red;visibility:hidden;" title="Email is empty or not valid">[X]</span></td>

<td><input name="text2" type='text' class="violet " id='email' /></td>

</tr>

<tr>

<td><span class="style5">CARD NUMBER: </span></td>

<td><input name="number" type='number' class="violet " id='cardNumber'></td>

</tr>

<tr>

<td><span class="style5">CARD TYPE: </span></td>

<td><span class="style6">

<select name="select" id='cardType'>

<option class="red" >Please Choose</option>

<option class="pink" >VISA</option>

<option class="pink" >Mastercard</option>

<option class="pink" >American Express</option>

</select>

</span></td>

</tr>

<tr>

<td><span class="style5"><br />

MOVIES: </span></td>

<td><span class="style6">

<select name="select2" id='movie'>

<option class="red" >Please Choose</option>

<option class="pink" >Burn After Reading</option>

<option class="pink" >Planet Terror</option>

<option class="pink" >Tropic Thunder</option>

<option class="pink" >Quantum of solace</option>

</select>

</span></td>

</tr>

<tr>

<td><span class="style5">DATE: </span></td>

<td><span class="style6">

<select name="select3" id='date'>

<option class="red" >Please Choose</option>

<option class="pink" >October 20</option>

<option class="pink" >October 21</option>

<option class="pink" >October 22</option>

<option class="pink" >October 23</option>

<option class="pink" >October 24</option>

<option class="pink" >October 25</option>

<option class="pink" >October 26</option>

<option class="pink" >October 27</option>

</select>

</span></td>

</tr>

<tr>

<td><span class="style5"><br />

TIME: </span></td>

<td><span class="style6">

<input type="radio" value="10:40am" name="time" />

10:40am<br />

<input type="radio" value="1:00pm" name="time" />

1:00pm<br />

<input type="radio" value="3:50pm" name="time" />

3:50pm<br />

<input type="radio" value="6:10pm" name="time" />

6:10pm<br />

<input type="radio" value="8:40pm" name="time" />

8:40pm<br />

<input type="radio" value="9:10pm" name="time" />

9:10pm</span></td>

</tr>

</table>

</div>

<p align="center"><br>

<textarea rows="5" cols="36" name="info" readonly></textarea>

</p>

<p align="center">

<input class="blue" type="button" name="buttont" value="SUBMIT" onClick= "report()">

</p>

<p align="center">

<input class="blue" name="Submit2" type="reset" value="CLEAR ALL FIELDS" />

</p>

</form>

 

</body>

</html>

i added a few bits of php code which are in BOLD and im getting this error.

 

"Parse error: syntax error, unexpected ';' in C:\wamp\www\adw php_v3\php cinema booking.php on line 6"

 

 

 

<?php

 

if(isset($_POST))

{

    $name_error_vis = (empty($_POST['text']) || !ctype_alpha($_POST['text'])) ? '' : 'hidden';

    $name_error_vis = (empty($_POST['text2']) || !valid_email($_POST['text2']) ? '' : 'hidden'; <<<<< THIS IS LINE 6>>>>>

}

else

{

    $name_error_vis = 'hidden';

    $email_error_vis = 'hidden';

}

 

function valid_email($email) {

    $formatTest = '/^[-\w+]+(\.[-\w+]+)*@[-a-z\d]{2,}(\.[-a-z\d]{2,})*\.[a-z]{2,6}$/i';

    $lengthTest = '/^(.{1,64})@(.{4,255})$/';

    return (preg_match($formatTest, $email) && preg_match($lengthTest, $email));

}   

 

?>

 

<html>

<head>

<style type=text/css>

input.blue {background-color: #0066FF; font-weight: bold; font-size: 12px; color: white;}

input.violet {background-color: #ccccff; font-size: 14px;}

textarea.violet {background-color: #ccccff; font-size: 14px;}

option.red {background-color: #cc0000; font-weight: bold; font-size: 14px; color: white;}

option.pink {background-color: #ffcccc;}

.style2 { color: #990000;

font-weight: bold;

font-size: 36px;

font-family: Verdana, Arial, Helvetica, sans-serif;

}

.style5 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; }

.style6 {font-family: Arial, Helvetica, sans-serif}

body {

background-color: #FFFFCC;

}

</style>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<title>MOVIE BOOKING</title>

<script type='text/javascript'>

 

 

function report()// TAKEN FROM http://www.tizag.com/javascriptT/javascriptform.php

{

    if (formValidator()) {

        var thisForm = document.myForm;

    }

}

 

function formValidator()

{

    var errors = new Array();

 

    // Check name field

    if(empty('nameOnCard') || !isAlphabet('nameOnCard'))

    {

        document.getElementById('nameOnCard_err').style.visibility = '';

        errors[errors.length] = "Name is required and must contain only alpha characters";

    }

    else

    {

        document.getElementById('nameOnCard_err').style.visibility = 'hidden';

    }

 

 

    // Check email field

    if(empty('email') || !validEmail('email'))

    {

        document.getElementById('email_err').style.visibility = '';

        errors[errors.length] = "Email is not valid";

    }

    else

    {

        document.getElementById('email_err').style.visibility = 'hidden';

    }

 

    if (errors.length==0)

    {

        return true;

    }

 

    var error_msg = 'The following errors occured:\n\n';

 

    for (i=0; i<errors.length; i++)

    {

        error_msg += ' - ' + errors + '\n';

    }

 

    alert(error_msg);

    return falses;

}

 

function empty(elem_id)

{

    return (document.getElementById(elem_id).value.length == 0);

}

 

function isAlphabet(elem_id)

{

    var alphaExp = /^[a-zA-Z]+$/;

    return document.getElementById(elem_id).value.match(alphaExp);

}

 

function validEmail(elem_id){

    var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;

    return document.getElementById(elem_id).value.match(emailExp);

}

 

function validEmail(emailStr)

{

    //Return true/false for valid/invalid email

    formatTest = /^[-\w+]+(\.[-\w+]+)*@[-a-z\d]{2,}(\.[-a-z\d]{2,})*\.[a-z]{2,6}$/i

    lengthTest = /^(.{1,64})@(.{4,255})$/

    return (formatTest.test(emailStr) && lengthTest.test(emailStr));

}

 

// CALCULATIONS TAKEN OUT------------------------------------------------------------------------------------------------------------

 

/* function CheckChoice(whichbox)//TAKEN FROM http://javascript.internet.com/forms/order-form.html

{

with (whichbox.form)

{

if (whichbox.type == "radio")

{

hiddentotal.value = eval(hiddentotal.value) - eval(hiddenpriorradio.value);

hiddenpriorradio.value = eval(whichbox.price);

hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.price);

}

else

{

if (whichbox.checked == false)

{ hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value); }

else { hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value); }

}

 

if (hiddentotal.value < 0)

{

InitForm();

}

 

return(formatCurrency(hiddentotal.value));

}

}

 

function formatCurrency(num)//TAKEN FROM http://javascript.internet.com/forms/order-form.html

{

num = num.toString().replace(/\$|\,/g,'');

if(isNaN(num))

num = "0";

sign = (num == (num = Math.abs(num)));

num = Math.floor(num*100+0.50000000001);

cents = num%100;

num = Math.floor(num/100).toString();

if(cents<10)

cents = "0" + cents;

for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)

num = num.substring(0,num.length-(4*i+3))+','+

num.substring(num.length-(4*i+3));

return (((sign)?'':'-') + '£' + num + '.' + cents);

}

 

function InitForm()//TAKEN FROM http://javascript.internet.com/forms/order-form.html

{

//Reset the displayed total on form:

document.myform.total.value='£0';

document.myform.hiddentotal.value=0;

document.myform.hiddenpriorradio.value=0;

document.myform2.total.value='£0';

document.myform2.hiddentotal.value=0;

document.myform2.hiddenpriorradio.value=0;

document.myform2.hiddenpriorradio.value=0;

 

for (xx=0; xx < document.myform.elements.length; xx++)

{

if (document.myform.elements[xx].type == 'checkbox' | document.myform.elements[xx].type == 'radio')

{

document.myform.elements[xx].checked = false;

}

}

for (xx=0; xx < document.myform2.elements.length; xx++)

{

if (document.myform2.elements[xx].type == 'checkbox' | document.myform2.elements[xx].type == 'radio')

{

document.myform2.elements[xx].checked = false;

}

}

 

}

 

---------------------------------------------------------------------------------------------------------------------------------------*/

 

</script>

<body>

<FORM NAME="myForm" action="http://localhost/adw%20php_v3/response%20cinema%20booking_v1.php" METHOD="POST" onSubmit="return formValidator();">

 

<div align="center"><span class="style2">ONLINE MOVIE BOOKING </span>

</div>

<div align="center">

<table width="444" border="1">

<tr>

  <td>

    <span class="style5">NAME ON CARD: </span>

    <span id="nameOnCard_err" style="color:red;visibility:<?php echo $name_error_vis; ?>;" title="Name is required and must contain only letters">[X]</span>

  </td>

  <td><input name="text" type='text' class="violet " id='nameOnCard'></td>

</tr>

<tr>

  <td>

    <span class="style5">EMAIL: </span>

    <span id="email_err" style="color:red;visibility:<?php echo $name_error_vis; ?>;" title="Email is empty or not valid">[X]</span>

  </td>

  <td><input name="text2" type='text' class="violet " id='email' /></td>

</tr>

<td><span class="style5">CARD NUMBER: </span></td>

<td><input name="number" type='number' class="violet " id='cardNumber'></td>

</tr>

<tr>

<td><span class="style5">CARD TYPE: </span></td>

<td><span class="style6">

<select name="select" id='cardType'>

<option class="red" >Please Choose</option>

<option class="pink" >VISA</option>

<option class="pink" >Mastercard</option>

<option class="pink" >American Express</option>

</select>

</span></td>

</tr>

<tr>

<td><span class="style5"><br />

MOVIES: </span></td>

<td><span class="style6">

<select name="select2" id='movie'>

<option class="red" >Please Choose</option>

<option class="pink" >Burn After Reading</option>

<option class="pink" >Planet Terror</option>

<option class="pink" >Tropic Thunder</option>

<option class="pink" >Quantum of solace</option>

</select>

</span></td>

</tr>

<tr>

<td><span class="style5">DATE: </span></td>

<td><span class="style6">

<select name="select3" id='date'>

<option class="red" >Please Choose</option>

<option class="pink" >October 20</option>

<option class="pink" >October 21</option>

<option class="pink" >October 22</option>

<option class="pink" >October 23</option>

<option class="pink" >October 24</option>

<option class="pink" >October 25</option>

<option class="pink" >October 26</option>

<option class="pink" >October 27</option>

</select>

</span></td>

</tr>

<tr>

<td><span class="style5"><br />

TIME: </span></td>

<td><span class="style6">

<input type="radio" value="10:40am" name="time" />

10:40am<br />

<input type="radio" value="1:00pm" name="time" />

1:00pm<br />

<input type="radio" value="3:50pm" name="time" />

3:50pm<br />

<input type="radio" value="6:10pm" name="time" />

6:10pm<br />

<input type="radio" value="8:40pm" name="time" />

8:40pm<br />

<input type="radio" value="9:10pm" name="time" />

9:10pm</span></td>

</tr>

</table>

</div>

<p align="center"><br>

<textarea rows="5" cols="36" name="info" readonly></textarea>

</p>

<p align="center">

<input class="blue" type="button" name="buttont" value="SUBMIT" onClick= "report()">

</p>

<p align="center">

<input class="blue" name="Submit2" type="reset" value="CLEAR ALL FIELDS" />

</p>

</form>

 

</body>

</html>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.