Hoe kan ik via de role van de user iets anderd doorgeven met echo.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dimi orla

dimi orla

02/05/2009 12:38:00
Quote Anchor link
Hoe kan ik via de role van de user iets anders doorgeven met echo.
Op de volgende code kreeg ik no voor antwoord als mijn gebruikersnaam of wachtwoord niet klopt maar geen user of admin
Bij voorbaat dank Dimi.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$username = mysql_real_escape_string($_POST["username"]);
$password = mysql_real_escape_string($_POST["password"]);
$role = mysql_real_escape_string($_POST['role']);
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'" ;
$result = mysql_fetch_array(mysql_query($query));
if (!$result)
{
$output .= "<loginsuccess>no</loginsuccess>";
}
elseif (!$result == "yes" || $role == "user" )
{
$output .="<loginsuccess>user</loginsuccess>";    
}
elseif(!$result == "yes" || $role == "admin" )
{
$output .= "<loginsuccess>admin</loginsuccess>";
}
echo $output
?>

[/CODE]
 
PHP hulp

PHP hulp

23/11/2024 17:03:57
 

02/05/2009 12:51:00
Quote Anchor link
Lijkt mij toch te kloppen. Je username en password moeten beide kloppen. Verder haal je een array op dus kan je niet $result == "yes" doen.
Het is ook gevaarlijk om zo passwords in een db te hebben staan. Sla het op met md5 en een salt.
http://phptuts.nl/view/39
http://phptuts.nl/view/41

Owja, wat je nou precies wilt is me niet geheel duidelijk, ik kijk alleen maar naar je code. (En ben je met xml aan het kloten? Ga dan niet zelf die xml maken, maar gebruik dan dom of simplexml.)
Gewijzigd op 01/01/1970 01:00:00 door
 
Dimi orla

dimi orla

03/05/2009 01:22:00
Quote Anchor link
Karl, dank je voor je snelle reactie.
Deze php stuurt via xml een van de drie antwoorden door naar flex en naar aanleiding daar van kreeg je elk keer een ander state(pagina) te zien.
Het werkt niet, als in de verkeerde naam wachtwoord invult kreeg een no voor antwoord (dat is te verwachten). Maar met de juiste inlog kreeg ik error
“Property loginsuccess not found on String and there is no default value.”
Ik heb ook een tweede "oplosing" (zie onder) om flex voor de role laten luisteren en dan beslisen, maar ik doe iets fout, de php pagina werkt niet
Ik ben van plan zo iets(md5) te gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13

if (!$result)
{
$output .= "<loginsuccess>no</loginsuccess>";
}
else
{
$output .="<loginsuccess>yes</loginsuccess>";
// zonder de volgende lijn alles werkt, met niet meer.
// het is waarschijnlijk iets simpels maar ik ken php niet zo goed.
$output .="<role>"$role"</role>";
}
echo $output
Gewijzigd op 01/01/1970 01:00:00 door dimi orla
 
- SanThe -

- SanThe -

03/05/2009 01:36:00
Quote Anchor link
Karl schreef op 02.05.2009 12:51:
Verder haal je een array op dus kan je niet $result == "yes" doen.

En een array is ook geen boolean. Dus niet true of false.
Je opzet is gewoon niet goed. Lees eens een tutorial door over sql en bouw een fatsoenlijke foutafhandeling in.
 
Dimi orla

dimi orla

03/05/2009 01:57:00
Quote Anchor link
Sorry tegen iedereen, ik ben een beitje dom.
Ik zaag het net, php verwacht de role van mijn aplicatie

$role = mysql_real_escape_string($_POST['role']);
(thanks karl voor de tut http://phptuts.nl/view/39)

terwijl ik wil deze van mysql over te nemen
 

03/05/2009 09:43:00
Quote Anchor link
SanThe schreef op 03.05.2009 01:36:
Karl schreef op 02.05.2009 12:51:
Verder haal je een array op dus kan je niet $result == "yes" doen.

En een array is ook geen boolean. Dus niet true of false.
Je opzet is gewoon niet goed. Lees eens een tutorial door over sql en bouw een fatsoenlijke foutafhandeling in.

Klopt, al wordt een lege array naar false gecast en eentje waar teminste één element in zit naar true language.types.boolean#language.types.boolean.casting.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.