I have been having a parse error but its ok now.But there is another problem.
I can reg and email sent to me for confirmation,. I have confirmed it but when followed link to verify confirmation of registry it said nothing is found. Is this a database error. Thanks

My website is hitscountersite.com
Anyone can help please..
What do you think is the problem? My code in register.php is

<?

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 'finally':
		finally();
		break;
	default:
		main();
		break;
}

include('templates/footer.php');




//=================================
function finally() {
	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 '<BR>You can now login into your member area. Click <a href="counter.php">here</a> to proceed.<br>';
			print $content_screen;
		} else {
			print '<BR>Passwords are different, <a href="#" onclick="history.back(-1)">go back to correct</a>.';
		}
		
	} else {	
		print "<BR>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 "<BR>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 '<BR><DIV>Thank you, a confirmation email has been sent to: <strong>'.$email.'</strong></DIV><br>';
}



?>

As you can see I think its from the function confirm printed out Not Found!! This really sucks but I guess its normal for programs to have so many errors :(
Anyone willing to lend me a hand please. Thanks

Recommended Answers

All 3 Replies

$db->query("select 1 from t_counter_tmp where id='$code' and email='$email'");

select 1 from table ? What does it do ? :-/
I don't think it even enters this loop. What does it ( num_rows() ) do ?

if($db->num_rows()) {

My suggestion is to have echo and print_r statements inside every condition. This is an easy way to debug your application.
Eg.

<?php
if($x  == $y ) {
echo "inside if condition..";
// do something
} else {
echo "in else part..";
//do something else
}

How to do that? I'm sorry I'm still a beginner and this code wasn't coded by me. :(

Without knowing the flow of your script, none of us can guide you !

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.