Problem with code for a PHP form that connects with MySQL

Ye' old general discussion board. Basically, for everything that isn't covered elsewhere. Come here to shoot the breeze, shoot your mouth off, or whatever suits your fancy.
This forum is not for asking programming related questions.

Moderator: General Moderators

Post Reply
tsarge5
Forum Newbie
Posts: 1
Joined: Wed Aug 08, 2012 9:52 am

Problem with code for a PHP form that connects with MySQL

Post by tsarge5 »

I am having problems with creating a PHP form for a web site that popluates a MySQL database.

here is the error message I am getting at the following URL: http://www.laboro.biz/employer.php

ERROR MESSAGE:
Parse error: syntax error, unexpected '<' in /hermes/bosoraweb013/b1108/ywh.tsarge83/laboro/employer.php on line 152

the other file that is the action file is http://www.laboro.biz/employer-FormToEmail.php

I need help with scripting to make this work.

Can anyone please help?

Here is the code of employer.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Capture Form</title>
<style type="text/css">
<!--
.style16 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; }
.style17 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 24px;
}
-->
</style>
</head>

<body>

<table width="392" border="0" cellpadding="4" cellspacing="0" bgcolor="#CCCDC2">
<tr>
<td><div align="center" class="style17">EMPLOYER<br />
POSITION SUBMISSION</div></td>
</tr>
<tr>
<td width="473"><form action="employer-FormToEmail.php" method="post" name="ContactForm" id="ContactForm">
<table width="382" border="0" cellspacing="0" cellpadding="4">
<tr>
<td style="width: 137px"><div align="right" class="style16"> Employer Name : </div></td>
<td width="242"><input name= "employername" type="text" id="name" size="40" /></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16">E-Mail Address : </div></td>
<td><input name="address" type= "text" id="address" size="40" /></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16">Phone<br />
Number : </div></td>
<td><input name="phonenumber" type= "text" id="city0" size="40" /></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16">Position<br />
Title : </div></td>
<td><input name="positiontitle" type= "text" id="city" size="40" /></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16"> Position<br />
Location : </div></td>
<td width="242">
<input name= "positionlocation" type="text" id="name2" size="40" /></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16">Position<br />
Description:</div></td>
<td><textarea name="positiondescription" rows="5" cols="31"></textarea></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16">Mandatory
<br />
Criteria</div></td>
<td><textarea name="mandatorycriteria" rows="5" cols="31"></textarea></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16">Optional<br />
Criteria:</div></td>
<td><textarea name="optionalcriteria" rows="5" cols="31"></textarea></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16">Education
Requirements</div></td>
<td><textarea name="educationrequirements" rows="5" cols="31"></textarea></td>
</tr>
<tr>
<td style="width: 137px">&nbsp;</td>
<td width="242">&nbsp;</td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16"> Desired
Start Date</div></td>
<td width="242">
<input name= "desiredstartdate" type="text" id="name0" size="40" /></td>
</tr>
<tr>
<td style="width: 137px"><div align="right" class="style16"> Salary
Range </div></td>
<td width="242">
<input name= "salaryrange" type="text" id="name1" size="40" /></td>
</tr>
<tr>
<td style="width: 137px">&nbsp;</td>
<td><input type="submit" name="SUBMIT" value="Submit Form" />
<input name="Reset" type="reset" id="Reset" value="Reset Form" /></td>
</tr>
</table>
<br />
</form></td>
</tr>
</table>

<?php

$link = mysql_connect('tsarge83.yourwebhostingmysql.com', 'tsarge2', '*Tomcat20*');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db(laboroemployer);

$con = mysql_connect("employername", "address", "phonenumber", "positiontitle", "positionlocation", "positiondescription", "mandatorycriteria", "optionalcriteria", "educationrequirments", "desiredstartdate", "salaryrange");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("my_db", $con);

mysql_query("INSERT INTO employertable (employername)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (address)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (phonenumber)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (positiontitle)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (positionlocation)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (positiondescription)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (mandatorycriteria)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (optionalcriteria)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (educationrequirments)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (desiredstartdate)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (salaryrange)
VALUES ($_getfrom)");



</body>
</html>

Here is the code for employer-FormToEmail.php:

<?php

$link = mysql_connect('tsarge83.yourwebhostingmysql.com', 'tsarge2', '*Tomcat20*');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db(laboroemployer);

$con = mysql_connect("employername", "address", "phonenumber", "positiontitle", "positionlocation", "positiondescription", "mandatorycriteria", "optionalcriteria", "educationrequirments", "desiredstartdate", "salaryrange");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("my_db", $con);

mysql_query("INSERT INTO employertable (employername)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (address)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (phonenumber)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (positiontitle)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (positionlocation)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (positiondescription)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (mandatorycriteria)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (optionalcriteria)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (educationrequirments)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (desiredstartdate)
VALUES ($_getfrom)");

mysql_query("INSERT INTO employertable (salaryrange)
VALUES ($_getfrom)");

<?php

ini_set("SMTP","tsarge83.yourwebhosting.com");
ini_set("smtp_port","25");
ini_set('sendmail_from', 'tom@laboro.biz');


$my_email = "tom@laboro.biz";

/*

Enter the continue link to offer the user after the form is sent. If you do not change this, your visitor will be given a continue link to your homepage.

If you do change it, remove the "/" symbol below and replace with the name of the page to link to, eg: "mypage.htm" or "http://www.elsewhere.com/page.htm"

*/

$continue = "/";

/*

Step 3:

Save this file (FormToEmail.php) and upload it together with your webpage containing the form to your webspace. IMPORTANT - The file name is case sensitive! You must save it exactly as it is named above! Do not put this script in your cgi-bin directory (folder) it may not work from there.

THAT'S IT, FINISHED!

You do not need to make any changes below this line.

*/

$errors = array();

// Remove $_COOKIE elements from $_REQUEST.




if(count($_COOKIE)){foreach(array_keys($_COOKIE) as $value){unset($_REQUEST[$value]);}}


// Check all fields for an email header.

function recursive_array_check_header($element_value)
{

global $set;

if(!is_array($element_value)){if(preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i",$element_value)){$set = 1;}}
else
{

foreach($element_value as $value){if($set){break;} recursive_array_check_header($value);}

}

}

recursive_array_check_header($_REQUEST);

if($set){$errors[] = "You cannot send an email header";}

unset($set);

// Validate email field.

if(isset($_REQUEST['email']) && !empty($_REQUEST['email']))
{

if(preg_match("/(%0A|%0D|\n+|\r+|:)/i",$_REQUEST['email'])){$errors[] = "Email address may not contain a new line or a colon";}

$_REQUEST['email'] = trim($_REQUEST['email']);

if(substr_count($_REQUEST['email'],"@") != 1 || stristr($_REQUEST['email']," ")){$errors[] = "Email address is invalid";}else{$exploded_email = explode("@",$_REQUEST['email']);if(empty($exploded_email[0]) || strlen($exploded_email[0]) > 64 || empty($exploded_email[1])){$errors[] = "Email address is invalid";}else{if(substr_count($exploded_email[1],".") == 0){$errors[] = "Email address is invalid";}else{$exploded_domain = explode(".",$exploded_email[1]);if(in_array("",$exploded_domain)){$errors[] = "Email address is invalid";}else{foreach($exploded_domain as $value){if(strlen($value) > 63 || !preg_match('/^[a-z0-9-]+$/i',$value)){$errors[] = "Email address is invalid"; break;}}}}}}

}

//DWM Error Checking
if(empty($_REQUEST['employername'])) {$errors[] = "Employer Name must be filled out";}
if(empty($_REQUEST['phonenumber'])) {$errors[] = "Phone Number must be filled out";}
if(empty($_REQUEST['positiontitle'])) {$errors[] = "Position Title must be filled out";}
if(empty($_REQUEST['positionlocation'])) {$errors[] = "Position Location must be filled out";}
if(empty($_REQUEST['positiondescription'])) {$errors[] = "Position Description must be filled out";}
if(empty($_REQUEST['mandatorycriteria'])) {$errors[] = "Mandatory Criteria must be filled out";}
if(empty($_REQUEST['optionalcriteria'])) {$errors[] = "Optional Criteria must be filled out";}
if(empty($_REQUEST['educationrequirements'])) {$errors[] = "Education Requirements";}
if(empty($_REQUEST['desiredstartdate'])) {$errors[] = "Desired start date must be filled out";}
if(empty($_REQUEST['salaryrange'])) {$errors[] = "Salary Range must be filled out";}



// Check referrer is from same site.

if(!(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']) && stristr($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST']))){$errors[] = "You must enable referrer logging to use the form";}

// Check for a blank form.

function recursive_array_check_blank($element_value)
{

global $set;

if(!is_array($element_value)){if(!empty($element_value)){$set = 1;}}
else
{

foreach($element_value as $value){if($set){break;} recursive_array_check_blank($value);}

}

}

recursive_array_check_blank($_REQUEST);

if(!$set){$errors[] = "You cannot send a blank form";}

unset($set);

// Display any errors and exit if errors exist.

if(count($errors)) {
print"<center>";
print"There were problems with the information you submitted. Please review the error(s) below and click the BACK button to correct them.<BR><BR>";
foreach($errors as $value){print "<b<font color='red'>$value</font></b><br>";}

print"<BR><BR><a href=\"javascript: history.go(-1)\">Back</a>";

exit;
}
if(!defined("PHP_EOL")){define("PHP_EOL", strtoupper(substr(PHP_OS,0,3) == "WIN") ? "\r\n" : "\n");}

// Build message.

function build_message($request_input){if(!isset($message_output)){$message_output ="";}if(!is_array($request_input)){$message_output = $request_input;}else{foreach($request_input as $key => $value){if(!empty($value)){if(!is_numeric($key)){$message_output .= str_replace("_"," ",ucfirst($key)).": ".build_message($value).PHP_EOL.PHP_EOL;}else{$message_output .= build_message($value).", ";}}}}return rtrim($message_output,", ");}

$message = build_message($_REQUEST);

$message = $message . PHP_EOL.PHP_EOL."-- ".PHP_EOL."";

$message = stripslashes($message);

$subject = "LABORO EMPLOYER POSITION SUBMISSION";

$headers = "From: " . $_REQUEST['email'];

mail($my_email,$subject,$message,$headers);

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
<title>THANK YOU!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
-->
</style>
</head>

<body bgcolor="#ffffff" text="#000000">

<div>
<center>

<span class="style1"><b>Thank you&nbsp; very much!<?php print stripslashes($_REQUEST['name']); ?></b><br>
Your position has been submitted<br>and will be posted as soon as possible.<br>
</span>&nbsp;<p><span class="style1"><a href="<?php print $continue; ?>">Click here to continue</a></span></p>
</center>
</div>

</body>
</html>
mikosiko
Forum Regular
Posts: 757
Joined: Wed Jan 13, 2010 7:22 pm

Re: Problem with code for a PHP form that connects with MySQ

Post by mikosiko »

that is too much code to read and try to fix specially when it is a big mess... I'm going just to give you some pointers only based on a quick look of your employer.php file (but I'm sure the same errors are present on the other file.):

1) You are mixing html code with php code without separate it properly... hence your error (php is not closed)
2) Your usage of mysql_connect for your $con connection is nonsense .. that is FUBAR!!
3) Your usage of mysql_query("INSERT...") is also ridiculous... you don't need all those INSERTs... you need only ONE INSERT that include all the fields.
4) No idea what are you trying to INSERT ... your variable $_getfrom is not defined in any place

in summary... you better start again reading the basics before to follow trying to mess with the posted code... there is a lot of simple examples on the web (google it), or you can also visit the PHP/MYSQL manual to learn the basics and look for examples there.
http://php.net/manual/en/function.mysql-connect.php
http://www.php.net/manual/en/function.mysql-query.php

other advise is move from MYSQL API to either MYSQLi or PDO because MYSQL API usage is highly discouraged.
Post Reply