Preciso de ajuda level access

Sasukez0r

Power Member
Porke kuando faço login com uma conta admin aparece hello member e numa conta member hello member tambem! =S

CODIGO:

<?
session_start();
if(!session_is_registered(myusername)){
header("location:index.html");
}
$host="******";
$dusername="******";
$dpassword="*******";
$db_name="******";
$tbl_name="client";

mysql_connect("$host", "$dusername", "$dpassword")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");




$result = mysql_query('SELECT * FROM $tbl_name WHERE username = "'.mysql_real_escape_string($_SESSION['myusername']).'"');
$row = mysql_fetch_array($result);

switch($row['access'])
{
case 0: echo "Hello Admin"; break;
case 1: echo "Hello Member"; break;
default: echo "Hello Anyelse";
}


?>
 
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/a5657871/public_html/login.php on line 18
 
faz o echo da tua query:

PHP:
echo 'SELECT * FROM $tbl_name WHERE username = "'.mysql_real_escape_string($_SESSION['myusername']).'"'

Como já deves ter percebido, sempre que tiveres erro numa linha faz um echo para verificares se o que está ser gerado é o que é pretendido.
 
PHP Error Message
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a5657871/public_html/login.php on line 16

SELECT * FROM $tbl_name WHERE username = "Sasukez0r"
 
pois claro, as variaveis têm que estar entre aspas para ser interpretadas, senão será apenas puro texto :P

nessa query troca as aspas por pelicas e vice-versa
 
Assim aparee o valor mas é 1 nos dois =S mas na realidade nao...

mysql_connect("$host", "$dusername", "$dpassword")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$result = mysql_query('SELECT access FROM client WHERE username = "'.mysql_real_escape_string($_SESSION['myusername']).'"');
$row = mysql_fetch_array($result);

echo "$row[access]";


?>
 
pois claro, as variaveis têm que estar entre aspas para ser interpretadas, senão será apenas puro texto :P

nessa query troca as aspas por pelicas e vice-versa

As query's não precisam das plicas se estiver dentro da função, neste caso não era preciso.


Então, tu tens o select a dar, tens o echo correcto e dá um e dizes que não? Olha que sim, lol.

PHP:
$result = mysql_query('SELECT access FROM client WHERE username = "'.mysql_real_escape_string($_SESSION['myusername']).'"');
para
$result = mysql_query($x='SELECT access FROM client WHERE username = "'.mysql_real_escape_string($_SESSION['myusername']).'"');
echo "<br> SQL QUERY: ". $x;

E corre no phpmyadmin e ve la se não te dá um também, tem que dar o mesmo.
 
code
<?
Session_start();
if(!session_is_registered(myusername)){
header("location:index.html");
}
$host="************";
$dusername="********";
$dpassword="******";
$db_name="**********";
$tbl_name="client";

mysql_connect("$host", "$dusername", "$dpassword")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select db");

$result = mysql_query($x='select access from client where username = "'.mysql_real_escape_string($_session['myusername']).'"');
echo "<br> sql query: ". $x;
$row="mysql_fetch_array($result)";

echo "$row[access]";


?>

output

sql query: Select access from client where username = "sasukez0r"m
 
Back
Topo