login
W0etah - 03/11/2006 12:33 (laatste wijziging 03/11/2006 12:58)
PHP beginner
Hallo, ik probeer nu een login systeem te maken in flash en php
ik zit al redelijk ver, maar nu zit ik echt vast
ik gebruik deze as
myLoginVars = new LoadVars();
// registreer button
bt_login.onRelease = function() {
if (txt_gebruikersnaam.text eq "") {
txt_fout.text = "No name enterd";
} else if (txt_wachtwoord.text eq "") {
txt_fout.text = "No password enterd";
} else {
txt_fout.text = "loading...";
myLoginVars.gebruikersnaam = txt_gebruikersnaam.text;
myLoginVars.wachtwoord = txt_wachtwoord.text;
myLoginVars.sendAndLoad("http://127.0.0.1/login.php", myLoginVars, "POST");
// kijken of login.php is geladen.
myLoginVars.onLoad = function(success) {
if (success) {
this.onEnterFrame = function() {
if (myLoginVars.Login == 1) {
_root.gotoAndStop(2);
} else if (myLoginVars.Login == 2) {
txt_fout.text = "wrong";
}
};
} else {
txt_fout.text = "error";
}
};
}
};
myLoginVars = new LoadVars( ) ;
// registreer button
bt_login. onRelease = function ( ) {
if ( txt_gebruikersnaam. text eq "" ) {
txt_fout. text = "No name enterd" ;
} else if ( txt_wachtwoord. text eq "" ) {
txt_fout. text = "No password enterd" ;
} else {
txt_fout. text = "loading..." ;
myLoginVars. gebruikersnaam = txt_gebruikersnaam. text;
myLoginVars. wachtwoord = txt_wachtwoord. text;
myLoginVars. sendAndLoad( "http://127.0.0.1/login.php" , myLoginVars, "POST" ) ;
// kijken of login.php is geladen.
myLoginVars. onLoad = function ( success) {
if ( success) {
this. onEnterFrame = function ( ) {
if ( myLoginVars. Login == 1 ) {
_root. gotoAndStop( 2 ) ;
} else if ( myLoginVars. Login == 2 ) {
txt_fout. text = "wrong" ;
}
} ;
} else {
txt_fout. text = "error" ;
}
} ;
}
} ;
dit is mijn php scriptje
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = sha1(md5($_POST['wachtwoord']));
if ($gebruikersnaam && $wachtwoord != ""){
include('connectie.php'); //connectie met de database
$dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '$gebruikersnaam' AND `wachtwoord` = '$wachtwoord'") or die(mysql_error());
$result = mysql_query($dbnaam);
$num = mysql_num_rows($result);
if ($num == 1){
echo "&Login = 1";
} else {
echo "&Login = 2";
}
} else {
echo "&Login = 2";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$gebruikersnaam = $_POST [ 'gebruikersnaam' ] ;
$wachtwoord = sha1 ( md5 ( $_POST [ 'wachtwoord' ] ) ) ;
if ( $gebruikersnaam && $wachtwoord != "" ) {
include ( 'connectie.php' ) ; //connectie met de database
$dbnaam = mysql_query ( "SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '$gebruikersnaam ' AND `wachtwoord` = '$wachtwoord '" ) or
die ( mysql_error ( ) ) ;
if ( $num == 1 ) {
} else {
}
} else {
}
?>
als ik dan in een andere pagina, de gebruikersnaam opvraag dan zegt hij dat je niet bent ingelogd, dus ik snap het probleem eigenlijk niet, maar ziet iemand wat ik fout doen
owja, er is nog een probleem, je kan maar met 1 gebruikersnaam inloggen, de rest werkt niet
EDIT: heb wat aan mijn code verandert
8 antwoorden
Gesponsorde links
W0etah - 03/11/2006 18:38
PHP beginner
heb het verandert, maar het probleem ligt voraal bij flash denk ik, want daar blijft er maar staan: loading
Stijn - 03/11/2006 18:49
PHP expert
ik zie niet direct een aanleiding wrm je flash verkeerd is. de enige stoorzender zou mysql zijn. Ik zou je query eens vervangen door onderstaande code.
<?
$query = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '".$gebruikersnaam."' AND `wachtwoord` = '".$wachtwoord."'");
?>
<?
$query = mysql_query ( "SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '" . $gebruikersnaam . "' AND `wachtwoord` = '" . $wachtwoord . "'" ) ; ?>
W0etah - 03/11/2006 18:57
PHP beginner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = sha1(md5($_POST['wachtwoord']));
if( empty( $gebruikersnaam) === false && empty( $wachtwoord ) === false ) {
include('connectie.php'); //connectie met de database
$dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '".$gebruikersnaam."' AND `wachtwoord` = '".$wachtwoord."'") or die(mysql_error());
$result = mysql_query($dbnaam) or die(mysql_error());
$num = mysql_num_rows($result) or die(mysql_error());
if ($num == 1){
echo "&Login = 1";
} else {
echo "&Login = 2";
}
} else {
echo "&Login = 2";
echo "Geen wachtwoord";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$gebruikersnaam = $_POST [ 'gebruikersnaam' ] ;
$wachtwoord = sha1 ( md5 ( $_POST [ 'wachtwoord' ] ) ) ;
if ( empty ( $gebruikersnaam ) === false && empty ( $wachtwoord ) === false ) { include ( 'connectie.php' ) ; //connectie met de database
$dbnaam = mysql_query ( "SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '" . $gebruikersnaam . "' AND `wachtwoord` = '" . $wachtwoord . "'" ) or
die ( mysql_error ( ) ) ;
if ( $num == 1 ) {
} else {
}
} else {
}
?>
heb nu dit gedaan, als die pagina in flash geladen is opent hij die in een nieuw vester, daarin komt te staan:
Notice: Undefined index: gebruikersnaam in c:\program files\easyphp1-8\www\login.php on line 3
Notice: Undefined index: wachtwoord in c:\program files\easyphp1-8\www\login.php on line 4
&Login = 2Geen wachtwoord
Ultimatum - 03/11/2006 19:34
PHP expert
hij zegt dus dat $gebruikersnaam + $wachtwoord leeg zijn..
vervang regel 6 eens door:
if( !empty( $gebruikersnaam) && !empty( $wachtwoord )) {
if ( ! empty ( $gebruikersnaam ) && ! empty ( $wachtwoord ) ) {
W0etah - 03/11/2006 21:21 (laatste wijziging 03/11/2006 21:42)
PHP beginner
neej, er blijft hetzelfde staan, wat ik raar vindt
Citaat:
Notice: Undefined index: gebruikersnaam in c:program fileseasyphp1-8wwwlogin.php on line 3
Notice: Undefined index: wachtwoord in c:program fileseasyphp1-8wwwlogin.php on line 4
&Login = 2Geen wachtwoord
dit krijg ik dus
EDIT:
dit is mijn eerste code, die werkt enkel op 1 gebruikersnaam
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
include('connectie.php'); //connectie met de database
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = sha1(md5($_POST['wachtwoord']));
$dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE `date` >= '0'") or die(mysql_error());
$result = mysql_fetch_assoc($dbnaam);
if($result['gebruikersnaam'] != $gebruikersnaam) {//naam is niet goed
$error = 1;
} elseif($result['wachtwoord'] != $wachtwoord) {//wachtwoord is niet goed
$error = 1;
} else { //alles is goed, je word ingelogd
$error = 2;
}
echo "&FlashError=" .$error;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
include ( 'connectie.php' ) ; //connectie met de database
$gebruikersnaam = $_POST [ 'gebruikersnaam' ] ;
$wachtwoord = sha1 ( md5 ( $_POST [ 'wachtwoord' ] ) ) ;
if ( $result [ 'gebruikersnaam' ] != $gebruikersnaam ) { //naam is niet goed
$error = 1 ;
} elseif ( $result [ 'wachtwoord' ] != $wachtwoord ) { //wachtwoord is niet goed
$error = 1 ;
} else { //alles is goed, je word ingelogd
$error = 2 ;
}
echo "&FlashError=" . $error ; ?>
maar als ik controleer of de velden zijn ingevuld doet hij het ook niet meer
Stijn - 03/11/2006 21:41 (laatste wijziging 03/11/2006 21:48)
PHP expert
natuurlijk krijg je die notic errors , omdat je wss http://localhost/login.php doet , hij kent die indexen nog niet , eens je formulier gepost is kent hij ze wel.
doe die HTML op line 1 es weg!
if($result['gebruikersnaam'] != $gebruikersnaam || $result['wachtwoord'] != $wachtwoord) {
$error = 1;
} else { //alles is goed, je word ingelogd
$error = 2;
}
if ( $result [ 'gebruikersnaam' ] != $gebruikersnaam || $result [ 'wachtwoord' ] != $wachtwoord ) {
$error = 1 ;
} else { //alles is goed, je word ingelogd
$error = 2 ;
}
W0etah - 03/11/2006 21:50 (laatste wijziging 03/11/2006 22:07)
PHP beginner
stijn1989, dat met die regel 1 had ik al geprobeert, ben nu iets anders aan het testen, ik laat wel iets weten als het lukt
EDIT:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
include('connectie.php'); //connectie met de database
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = sha1(md5($_POST['wachtwoord']));
$dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE `date` >= '0'") or die(mysql_error());
$result = mysql_fetch_assoc($dbnaam);
if($result['gebruikersnaam'] != $gebruikersnaam || $result['wachtwoord'] != $wachtwoord) {
$error = 1;
} else { //alles is goed, je word ingelogd
$error = 2;
}
echo "&FlashError=" .$error;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
include ( 'connectie.php' ) ; //connectie met de database
$gebruikersnaam = $_POST [ 'gebruikersnaam' ] ;
$wachtwoord = sha1 ( md5 ( $_POST [ 'wachtwoord' ] ) ) ;
if ( $result [ 'gebruikersnaam' ] != $gebruikersnaam || $result [ 'wachtwoord' ] != $wachtwoord ) {
$error = 1 ;
} else { //alles is goed, je word ingelogd
$error = 2 ;
}
echo "&FlashError=" . $error ; ?>
de as
txt_fout.text = "loading...";
myLoginVars.gebruikersnaam = txt_gebruikersnaam.text;
myLoginVars.wachtwoord = txt_wachtwoord.text;
myLoginVars.sendAndLoad("http://127.0.0.1/login.php", myLoginVars, "POST");
// kijken of login.php is geladen.
myLoginVars.onLoad = function(success) {
if (success) {
if (myLoginVars.FlashError == 1) {
txt_fout.text = "Username or pasword are incorrect.";
} else if (myLoginVars.FlashError == 2) {
txt_fout.text = "ok.";
}
} else {
txt_fout.text = "error";
}
};
}
txt_fout. text = "loading..." ;
myLoginVars. gebruikersnaam = txt_gebruikersnaam. text;
myLoginVars. wachtwoord = txt_wachtwoord. text;
myLoginVars. sendAndLoad( "http://127.0.0.1/login.php" , myLoginVars, "POST" ) ;
// kijken of login.php is geladen.
myLoginVars. onLoad = function ( success) {
if ( success) {
if ( myLoginVars. FlashError == 1 ) {
txt_fout. text = "Username or pasword are incorrect." ;
} else if ( myLoginVars. FlashError == 2 ) {
txt_fout. text = "ok." ;
}
} else {
txt_fout. text = "error" ;
}
} ;
}
zo werkt het enkel bij 1 gebruikersnaam
EDIT2: het werkt enkel bij de 1ste gebruikersnaam in de database
Gesponsorde links
Dit onderwerp is gesloten .