Грешка при избиране на потребител

Dobcho

Registered
Здравейте, имам проблем с vote за потребител. Кодът е следния
PHP:
<?

$userid = protect($_GET['username']);

$userip = $_SERVER['REMOTE_ADDR']; 

$usr = mysql_query("SELECT * FROM `users` WHERE `id`='$username'");

$u = mysql_fetch_array($usr);

$user = $u['username'];

if(mysql_num_rows($usr)>0)

{

$sql = mysql_query("SELECT * FROM votes WHERE userid='$username' and userip='$userip'");

if(mysql_num_rows($sql)>0) {

$row = mysql_fetch_array($sql);

$timeon = time();

if($row['timeend'] < $timeon) {

$row = mysql_fetch_array($sql);

if($u['vip'] == 1) { $prc = '5'; } else { $prc = '3'; }

$voteend = time()+43200;

$insert = mysql_query("UPDATE votes SET timeend='$voteend' WHERE userid='$username' and userip='$userip'");

$insert2 = mysql_query("UPDATE users SET money=money+$prc WHERE id='$userid'");

echo okbox("Успешно гласувахте за <b>$user</b>. Той спечели <b>$$prc</b>.");

}

else

{

$voteend = $row['timeend']-time();

?>

При натискане на линкът, явно неможе да намери потребителят от базата данни и ми дава, че такъв потребител не съществува.
 
Код:
<?php
$userid = protect($_GET['username']);
$userip = $_SERVER['REMOTE_ADDR']; 
$usr = mysql_query("SELECT * FROM `users` WHERE `id`='$username'") or die(mysql_error());
$u = mysql_fetch_array($usr);
$user = $u['username'];
if(mysql_num_rows($usr)>0){
	$sql = mysql_query("SELECT * FROM votes WHERE userid='$username' and userip='$userip'") or die(mysql_error());
	if(mysql_num_rows($sql)>0) {
	$row = mysql_fetch_array($sql);
	$timeon = time();
		if($row['timeend'] < $timeon) {
			$row = mysql_fetch_array($sql);
			if($u['vip'] == 1) { $prc = '5'; } else { $prc = '3'; }
			$voteend = time()+43200;
			$insert = mysql_query("UPDATE votes SET timeend='$voteend' WHERE userid='$username' and userip='$userip'") or die(mysql_error());
			$insert2 = mysql_query("UPDATE users SET money=money+$prc WHERE id='$userid'") or die(mysql_error());
			echo okbox("Успешно гласувахте за <b>$user</b>. Той спечели <b>$$prc</b>.");
		} else {
			$voteend = $row['timeend']-time();
		}
	} else {
echo "проблем с $ sql 0";
}
} else {
	echo "виж ред 7";
}
?>
 
PHP:
mysql_query("SELECT * FROM `users` WHERE `id`='$username'")
Мисля, че грешката ти е тук понеже `id` е пореден номер, а не потребителско име. Според мен трябва да е така:
PHP:
mysql_query("SELECT * FROM `users` WHERE `username`='$username'")
 

Back
Горе