Jump to content

Please help with really dumb - easy solution question


steelwidow

Recommended Posts

I'm trying to integrate visual confirmation into a comment script that I have.

 

Location: http://pinnaclebowling.com/feedback.php

 

As you can see all is looking good and I got the form integrated and the image is showing up.

 

Now when you go and submit the comment this error comes up.

 

Parse error: parse error, unexpected $ in /home/*******/public_html/comment/submitcomment.php on line 34

 

Here's my very small submitcomment.php page:

 

<?php 
   session_start();
   if(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code'])) ) {
      // Insert you code for processing the form here, e.g emailing the submission, entering it into a database. 
      unset($_SESSION['security_code']);
   } else {
      // Insert your code for showing an error message here
//Please set the following variables for your mysql database:
$db_hostname = "localhost";  //usually "localhost be default"
$db_username = "undergro_comment";  //your user name
$db_pass = "comments";  //the password for your user
$db_name = "undergro_comments";  //the name of the database


/*MYSQL DATABASE CONNECTION/ TRACKING FUNCTIONS
--------------------------------------*/
// connect to database
$dbh = mysql_connect ($db_hostname, $db_username, $db_pass) or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ($db_name);


$tuturl = $_POST["tuturl"];
$tutid2 = $_POST["tutid2"];
$name = $_POST["name"];
$url = $_POST["url"];
$email = $_POST["email"];
$message = $_POST["message"];

$sendcomment = mysql_query("INSERT INTO comments SET tutorialid='$tutid2', name='$name', url='$url', email='$email', comment='$message', date=now()");
if($sendcomment){
//header("Location: $tuturl");
echo 'Sorry, you have provided an invalid security code';
   }
?>

 

I don't know if the code is wrong or what...

 

here's the two originals before i combined them into one submitcomment.php

 

<?php
//Please set the following variables for your mysql database:
$db_hostname = "localhost";  //usually "localhost be default"
$db_username = "undergro_comment";  //your user name
$db_pass = "comments";  //the password for your user
$db_name = "undergro_comments";  //the name of the database


/*MYSQL DATABASE CONNECTION/ TRACKING FUNCTIONS
--------------------------------------*/
// connect to database
$dbh = mysql_connect ($db_hostname, $db_username, $db_pass) or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ($db_name);


$tuturl = $_POST["tuturl"];
$tutid2 = $_POST["tutid2"];
$name = $_POST["name"];
$url = $_POST["url"];
$email = $_POST["email"];
$message = $_POST["message"];

$sendcomment = mysql_query("INSERT INTO comments SET tutorialid='$tutid2', name='$name', url='$url', email='$email', comment='$message', date=now()");
if($sendcomment){
//header("Location: $tuturl");
echo "<h1>Submission Successful</h1>";
echo "Your comment has been submitted.  You will now be redirected back to the last page you visited.  Thanks!";
echo "<meta http-equiv='refresh' content='2;URL=$tuturl'>";
} else {
echo "There was an error with the submission. ";
}

?>

 

and

 

<?php 
   session_start();
   if(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code'])) ) {
      // Insert you code for processing the form here, e.g emailing the submission, entering it into a database. 
      unset($_SESSION['security_code']);
   } else {
      // Insert your code for showing an error message here
echo 'Sorry, you have provided an invalid security code';
   }
?>

 

Of course if anyone can help me figure this small thing out, I'd be more than happy to post the entire script so someone else can use it if they wish. :-D

 

 

Here's the actual form page coding:

 

<?
//Please set the following variables for your mysql database:
$db_hostname = "localhost";  //usually "localhost be default"
$db_username = "pinnacle_*****";  //your user name
$db_pass = "******";  //the password for your user
$db_name = "pinnacle_********";  //the name of the database


/*MYSQL DATABASE CONNECTION/ TRACKING FUNCTIONS
--------------------------------------*/
// connect to database
$dbh = mysql_connect ($db_hostname, $db_username, $db_pass) or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ($db_name);



//for security, html is not allowed, so bbcode is used for formatting

//START 3rd PARTY CODE:  I did not write this
/************************************************/
/*		BBCode v1.0a			*/
/*		Date: 03/2003			*/
/*						*/
/*	A simple and effective script that	*/
/*	allows you to implement bbcode type	*/
/*	behaviour on your php website.		*/
/*						*/
/*	Contact: [email protected]	*/
/*						*/
/*	Usage:					*/
/*						*/
/*	Put the following line at the top of 	*/
/*	the page you want to have the bbocde	*/
/*	in...(assumes both pages are in the	*/
/*	folder					*/
/*						*/
/*	include("bbCode.php");			*/
/*						*/
/*	Pass the text to the function:		*/
/*						*/
/*	$mytext = BBCode("This is my BBCODE");	*/
/*	or					*/
/*	$mytext = "This is my text";		*/
/*	$mytext = BBCode($mytext);		*/
/*						*/
/*	echo $mytext;				*/
/*						*/
/************************************************/
?>
<style type="text/css">
<!--
body	{
font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
}

.bold {
font-weight: bold;
}

.italics {
font-style: italic;
}

.underline {
text-decoration: underline;
}

.strikethrough {
text-decoration: line-through;
}

.overline {
text-decoration: overline;
}

.sized {
text-size:
}

.quotecodeheader {
font-family: Verdana, arial, helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
}

.codebody {
background-color: #FFFFFF;
    font-family: Courier new, courier, mono;
    font-size: 12px;
    color: #006600;
    border: 1px solid #BFBFBF;
}

.quotebody {
background-color: #FFFFFF;
    font-family: Courier new, courier, mono;
    font-size: 12px;
    color: #660002;
border: 1px solid #BFBFBF;
}

.listbullet {
list-style-type: disc;
list-style-position: inside;
}

.listdecimal {
list-style-type: decimal;
list-style-position: inside;
}

.listlowerroman {
list-style-type: lower-roman;
list-style-position: inside;
}

.listupperroman {
list-style-type: upper-roman;
list-style-position: inside;
}

.listloweralpha {
list-style-type: lower-alpha;
list-style-position: inside;
}

.listupperalpha {
list-style-type: upper-alpha;
list-style-position: inside;
}
-->
</style>

<?php
//Local copy

function BBCode($Text)
    {
        	// Replace any html brackets with HTML Entities to prevent executing HTML or script
            // Don't use strip_tags here because it breaks [url] search by replacing & with amp
            $Text = str_replace("<", "<", $Text);
            $Text = str_replace(">", ">", $Text);

           

            // Set up the parameters for a URL search string
            $URLSearchString = " a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'";
            // Set up the parameters for a MAIL search string
            $MAILSearchString = $URLSearchString . " a-zA-Z0-9\.@";

		//Non BB URL Search
		//$Text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "<a href=\"\\1://\\2\\3\" target=\"_blank\" target=\"_new\">\\1://\\2\\3</a>", $Text);
        	//$Text = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:space:]]*)([[:alnum:]-]))", "<a href=\"mailto:\\1\" target=\"_new\">\\1</a>", $Text);
        	if (substr($Text,0, 7) == "http://"){
            $Text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "<a href=\"\\1://\\2\\3\">\\1://\\2\\3</a>", $Text);
        	 // Convert new line chars to html <br /> tags
            $Text = nl2br($Text);
		} else { 
            // Perform URL Search
            $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '<a href="javascript:go(\'$1\',\'new\')">$1</a>', $Text);
            $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '<a href="javascript:go(\'$1\',\'new\')">$2</a>', $Text);
		//$Text = preg_replace("(\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text);
		 // Convert new line chars to html <br /> tags
            $Text = nl2br($Text);
		}
            // Perform MAIL Search
            $Text = preg_replace("(\[mail\]([$MAILSearchString]*)\[/mail\])", '<a href="mailto:$1">$1</a>', $Text);
            $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.+?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);

            // Check for bold text
            $Text = preg_replace("(\[b\](.+?)\[\/b])is",'<span class="bold">$1</span>',$Text);

            // Check for Italics text
            $Text = preg_replace("(\[i\](.+?)\[\/i\])is",'<span class="italics">$1</span>',$Text);

            // Check for Underline text
            $Text = preg_replace("(\[u\](.+?)\[\/u\])is",'<span class="underline">$1</span>',$Text);

            // Check for strike-through text
            $Text = preg_replace("(\[s\](.+?)\[\/s\])is",'<span class="strikethrough">$1</span>',$Text);

            // Check for over-line text
            $Text = preg_replace("(\[o\](.+?)\[\/o\])is",'<span class="overline">$1</span>',$Text);

            // Check for colored text
            $Text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","<span style=\"color: $1\">$2</span>",$Text);

            // Check for sized text
            $Text = preg_replace("(\[size=(.+?)\](.+?)\[\/size\])is","<span style=\"font-size: $1px\">$2</span>",$Text);

            // Check for list text
            $Text = preg_replace("/\[list\](.+?)\[\/list\]/is", '<ul class="listbullet">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=1\](.+?)\[\/list\]/is", '<ul class="listdecimal">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=i\](.+?)\[\/list\]/s", '<ul class="listlowerroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=I\](.+?)\[\/list\]/s", '<ul class="listupperroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=a\](.+?)\[\/list\]/s", '<ul class="listloweralpha">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=A\](.+?)\[\/list\]/s", '<ul class="listupperalpha">$1</ul>' ,$Text);
            $Text = str_replace("[*]", "<li>", $Text);

            // Check for font change text
            $Text = preg_replace("(\[font=(.+?)\](.+?)\[\/font\])","<span style=\"font-family: $1;\">$2</span>",$Text);

            // Declare the format for [code] layout
            $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Code:</td>
                                </tr>
                                <tr>
                                    <td class="codebody">$1</td>
                                </tr>
                           </table>';
            // Check for [code] text
            $Text = preg_replace("/\[code\](.+?)\[\/code\]/is","$CodeLayout", $Text);

            // Declare the format for [quote] layout
            $QuoteLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Quote:</td>
                                </tr>
                                <tr>
                                    <td class="quotebody">$1</td>
                                </tr>
                           </table>';
					   
            // Check for [code] text
            $Text = preg_replace("/\[quote\](.+?)\[\/quote\]/is","$QuoteLayout", $Text);

            // Images
            // [img=http://pathtoimage]
            $Text = preg_replace("/\[img\]http://(.+?)\[\/img\]/", '<img src="$1">', $Text);

            // [img=widthxheight]image source[/img]
            $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" height="$2" width="$1">', $Text);

        return $Text;
	}


//END 3rd PARTY CODE

//quick script to make the data look nice
function formatDate($val)  
  {  
      list($date, $time) = explode(" ", $val);  
      list($year, $month, $day) = explode("-", $date);
      list($hour, $minute, $second) = explode (":", $time);
      return date("l, m.j.y @ H:ia", mktime($hour, $minute, $second, $month, $day, $year));  
  } 

  

function getComments($tutid){
//creates a function that can easily be called from any page

//create the css code to make the form look good.  You can edit this to change colors, etc:
echo "
<style>
/*COMMENTS
*------------------------------------*/

.postedby {
padding: 0 0 0 18px;
background: url(images/abullet.gif) no-repeat 0 4px;
}

h3.formtitle {
margin : 0px 0px 0px 0px;
border-bottom: 1px dotted #ccc;
padding-bottom: 8px;
}

.commentbody {
border-top: 1px dotted #ccc;
}

/*gray box*/
.submitcomment, #submitcomment, #currentcomments, #rating, .textad {
background-color: #F5F5F5;
border: 1px dotted #ccc;
padding: 5px;
padding: 5px;
margin: 20px 0px 0px 0px;
}


/*FORMS
*------------------------------------*/

.form {
font-size: 100%;
background-color: #FAFAFA;
border: solid 1px #C6C6C6;
padding: 2px;
}

.formtext {
background-color: #FAFAFA;
border: solid 1px #C6C6C6;
padding: 2px;
border-bottom: 1px dotted #ccc
}

.form:hover, .formtext:hover {
background: white;
}

.form:focus, .formtext:focus {
background: white;
border: solid 1px #000000;
}

.submit {
background-color: #D3D3D3;
border: solid 1px #C6C6C6;
border-right:  solid 1px #9A9A9A;
border-bottom:  solid 1px #9A9A9A;
}

.submit:hover, .submit:focus {
background: #EDEDED;
}
</style>


";
//fetch all comments from database where the tutorial number is the one you are asking for
$commentquery = mysql_query("SELECT * FROM comments WHERE tutorialid='$tutid' ORDER BY date") or die(mysql_error());
//find the number of comments
$commentNum = mysql_num_rows($commentquery);
//create a headline
echo "<div id=\"currentcomments\" class=\"submitcomment\"><h3 class=\"formtitle\">Current Comments</h3>\n";
echo $commentNum . " comments so far (<a href=\"#post\">post your own</a>)\n";
//for each comment in the database in the right category number...
while($commentrow = mysql_fetch_row($commentquery)){
//for security, parse through the bbcode script
//the number corresponds to the column (the message is always stored in column 4
//COUTING STARTS at 0!!!
$commentbb = BBCode($commentrow[4]);
//create the right date format
	$commentDate = formatDate($commentrow[6]);

	echo "<div class=\"commentbody\" id=\"$commentrow[0]\">\n
	<p>$commentbb</p>\n
	<p class=\"postedby\">Posted by ";
	if($commentrow[3]){
	echo "<a href=\"$commentrow[3]\">$commentrow[2]</a> ";
	} else {
	echo "$commentrow[2] ";
	}
	echo "on $commentDate | #$commentrow[0]</p>\n
	\n</div>";

}
echo "</div>";
}

function submitComments($tutid2,$tuturl){
//a javascript script to make sure all the required fields are filled in
?>
<script language="javascript">

function form_Validator(form)
{

  if (form.name.value == "")
  {
    alert("Please enter your name.");
    form.name.focus();
return (false);
     }

  if (form.message.value == "")
  {
    alert("Please enter your message.");
    form.message.focus();
    return (false);
  }
  
  return (true);
  }
  //-->
  </script>
<?php
//create the form to submit comments
//you can add more fields, but make sure you add them to the db table and the page, submitcomment.php
echo "
<a name=\"post\">
<div id=\"submitcomment\" class=\"submitcomment\">
<form name=\"submitcomment\" method=\"post\" action=\"comment/submitcomment.php\" onSubmit=\" return form_Validator(this)\">
<table width=\"100%\">
	<tr>
			<th colspan=\"2\"><h3 class=\"formtitle\">Leave your comment:</h3></th>
	</tr>
	<tr>

			<th scope=\"row\"><p class=\"req\">Name:</p></th>
			<td><input class=\"form\" tabindex=\"1\" id=\"name\" name=\"name\" /></td>
	</tr>
	<tr>
			<th scope=\"row\"><p class=\"opt\">Email:</p></th>
			<td><input class=\"form\" tabindex=\"2\" id=\"email\" name=\"email\" /></td>
	</tr>
	<tr>

			<th scope=\"row\"><p class=\"opt\">URL:</p></th>
			<td><input class=\"form\" tabindex=\"3\" id=\"url\" name=\"url\" /></td>
	</tr>
	<tr valign=\"top\">
			<th scope=\"row\"><p class=\"req\">Comments:</p><br /></th>
			<td><textarea class=\"formtext\" tabindex=\"4\" id=\"message\" name=\"message\" rows=\"10\" cols=\"50\"></textarea></td>
	</tr>
<tr>

			<th scope=\"row\"><p class=\"req\"><img src=\"http://www.pinnaclebowling.com/comment/CaptchaSecurityImages.php\" />
</p></th>
<td><input id=\"security_code\" name=\"security_code\" type=\"text\" /></td>
	</tr>

	<tr>	
			<td> </td>
			<td><input type=\"submit\" name=\"post\" class=\"submit\" value=\"Submit Comment\" /><br />
			<p>Note:  Emails will not be visible or used in any way, and are not required.  Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted. No HTML code is allowed.  Line breaks will be converted automatically.  </p>

</td>
	</tr>
</table>
<input type=\"hidden\" name=\"tuturl\" value=\"$tuturl\" />
<input type=\"hidden\" name=\"tutid2\" value=\"$tutid2\" />
</form>


</div>
";




}






?>


 

& Here's the page calling the form above:

 

<?
require('comment/inc_rate.php');
getComments("1");
submitComments("1","$PHP_SELF");
?> 

[/code][/code][/code]

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.