error T-String

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
augirl
Forum Newbie
Posts: 6
Joined: Sat Aug 18, 2007 9:24 am

error T-String

Post by augirl »

This is error keep getting with my register.php page
tried find answer but cant quite work it out
So I will post code below and can some one help please.


Parse error: syntax error, unexpected '(', expecting T_CLASS in /home/aussiesh/public_html/counter/register.php on line 18

Code: Select all

<?

require('config.php');
require('inc/main.inc.php');

$action = $_REQUEST['action'];

include('templates/header.php');

switch($action) {
	case 'register':
		register();
		break;
	case 'confirm':
		confirm();
		break;
	case 'final':
		final();
		break;
	default:
		main();
		break;
}

include('templates/footer.php');




//=================================
function final() {
	global $db,$site_name,$admin_email;
	$email = $_REQUEST['email'];
	$code = $_REQUEST['code'];
	$pass1 = $_REQUEST['pass1'];
	$pass2 = $_REQUEST['pass2'];
	
	$db->query("select 1 from t_counter_tmp where id='$code' and email='$email'");
	if($db->num_rows()) {
		
		if($pass1 == $pass2) {
			$source = 'abcdefghijklmnopqrstuvwxyz0198765432';
			list($usec, $sec) = explode(' ', microtime());
    			$seed = (float) $sec + ((float) $usec * 100000);
    			srand($seed);
			
			for($i=0;$i<20;$i++) {
				$randval = rand(0,strlen($source)-1);
				$secret .= $source[$randval];
			}
			
			$db->query("insert into t_counter_profiles(id,email,pass,secret) values(null,'$email','$pass1','$secret')");
			$db->query("select id from t_counter_profiles where email='$email' and pass = '$pass1'");
			$db->next_record();
			$id = $db->f('id');
			$db->query("insert into t_counter_totals values($id,0)");
			$db->query("delete from t_counter_tmp where email='$email'");
			$content = 'Welcome to '.$site_name.'!<br><br><strong>Details:</strong><br>-------<br><br>id: '.$id.'<br>password: '.$pass1.'<br><br>Thanks,<br>Admin';
			$content_screen = 'Welcome to '.$site_name.'!<br><br><strong>Details:</strong><br>-------<br><br>id: '.$id.'<br><br>Thanks,<br>Admin';
			mail($email,'Welcome to '.$site_name,$content,"Content-Type: text/html\nFrom: $admin_email\n\n");
			print 'You can now login into your member area. Click <a href="counter.php">here</a> to proceed.<br>';
			print $content_screen;
		} else {
			print 'Passwords are different, <a href="#" onclick="history.back(-1)">go back to correct</a>.';
		}
		
	} else {	
		print "Not found!";
	}
}
	
	
	
function confirm() {
	global $db;
	$email = $_REQUEST['email'];
	$code = $_REQUEST['code'];
	$db->query("select 1 from t_counter_tmp where id='$code' and email='$email'");
	if(!$db->num_rows()) {
		print "Not found!";
	} else {	
		$ip = getIP();
		$url = $_SERVER[PHP_SELF];
		$tpl = new FastTemplate('templates');
		$tpl->define(array(confirm  => 'confirm.php'));
		$tpl->assign(array(IP => $ip, URL => $url, EMAIL => $email, CODE => $code));
		$tpl->parse('FORM','confirm');
		$tpl->FastPrint();
	}
}



function main() {
	$ip = getIP();
	$url = $_SERVER[PHP_SELF];
	$tpl = new FastTemplate('templates');
	$tpl->define(array(register  => 'register.php'));
	$tpl->assign(array(IP => $ip, URL => $url));
	$tpl->parse('FORM','register');
	$tpl->FastPrint();
}


function register() {
	global $db,$admin_email,$site_name;
	$email = $_REQUEST['email'];
	$ip = getIP();
		
	$now = $code = time();
	
	// purge old temporary
	$old = $now - 86400;
	$db->query("delete from t_counter_tmp where date<'$old'");
	// end of purge
	
	do {
		$code--;
		$db->query("select from t_counter_tmp where id='$code'");
	} while($db->num_rows());
	
	$db->query("insert into t_counter_tmp values('$code','$email','$now')");
	$link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?action=confirm&email='.$email.'&code='.$code;
	$url = '<a href="'.$link.'">'.$link.'</a>';
	
	$tpl = new FastTemplate('mailtemplates');
	$tpl->define(array(register  => 'register.php'));
	$tpl->assign(array(IP => $ip, URL => $url));
	$tpl->parse('MAIL','register');
	
	mail($email,'Confirmation for signup at '.$site_name,$tpl->MAIL,"Content-Type: text/html\nFrom: $admin_email\n\n");
	print 'Thank you, a confirmation email has been sent to: <strong>'.$email.'</strong><br>';
}



?>
I think it has something to do with word final but are unble to rectify problem

Thank you :roll:
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

"final" is a reserved word in PHP 5. Rename the function.
augirl
Forum Newbie
Posts: 6
Joined: Sat Aug 18, 2007 9:24 am

Re Error T- String

Post by augirl »

Hi

Thank you for your answer but not being a programmer I don't know what to rename it.

Can you help please.

Thank you :roll:
User avatar
superdezign
DevNet Master
Posts: 4135
Joined: Sat Jan 20, 2007 11:06 pm

Post by superdezign »

Something more descriptive. 'final' isn't much of an action name, and functions are basically the 'verbs,' or possible actions, of the class.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

It doesn't really matter what you name a function provided it means something to you (and others, potentially) and is not a reserved word.
augirl
Forum Newbie
Posts: 6
Joined: Sat Aug 18, 2007 9:24 am

Re answers

Post by augirl »

Thank you guys for all your help.

Take Care :roll:
Post Reply