login  Naam:   Wachtwoord: 
Registreer je!
 Forum

login

Offline W0etah - 03/11/2006 12:33 (laatste wijziging 03/11/2006 12:58)
Avatar van W0etahPHP 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

  1. myLoginVars = new LoadVars();
  2. // registreer button
  3. bt_login.onRelease = function() {
  4. if (txt_gebruikersnaam.text eq "") {
  5. txt_fout.text = "No name enterd";
  6. } else if (txt_wachtwoord.text eq "") {
  7. txt_fout.text = "No password enterd";
  8. } else {
  9. txt_fout.text = "loading...";
  10. myLoginVars.gebruikersnaam = txt_gebruikersnaam.text;
  11. myLoginVars.wachtwoord = txt_wachtwoord.text;
  12. myLoginVars.sendAndLoad("http://127.0.0.1/login.php", myLoginVars, "POST");
  13. // kijken of login.php is geladen.
  14. myLoginVars.onLoad = function(success) {
  15. if (success) {
  16. this.onEnterFrame = function() {
  17. if (myLoginVars.Login == 1) {
  18. _root.gotoAndStop(2);
  19. } else if (myLoginVars.Login == 2) {
  20. txt_fout.text = "wrong";
  21. }
  22. };
  23. } else {
  24. txt_fout.text = "error";
  25. }
  26. };
  27. }
  28. };


dit is mijn php scriptje

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <?php
  3. $gebruikersnaam = $_POST['gebruikersnaam'];
  4. $wachtwoord = sha1(md5($_POST['wachtwoord']));
  5.  
  6. if ($gebruikersnaam && $wachtwoord != ""){
  7. include('connectie.php'); //connectie met de database
  8. $dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '$gebruikersnaam' AND `wachtwoord` = '$wachtwoord'") or die(mysql_error());
  9. $result = mysql_query($dbnaam);
  10.  
  11. $num = mysql_num_rows($result);
  12. if ($num == 1){
  13. echo "&Login = 1";
  14. } else {
  15. echo "&Login = 2";
  16. }
  17. } else {
  18. echo "&Login = 2";
  19. }
  20. ?>



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
Offline Stijn - 03/11/2006 16:19
Avatar van Stijn PHP expert if ($gebruikersnaam && $wachtwoord != ""){

==>

if( empty( $gebruikersnaam) === false && empty( $wachtwoord ) === false ) {

maar ik zou het anders doen , want als je $-POST['wachtwoord'] leeg is zal md5 en sha1 toch een tekenreeks geven , want een spatie of een leegte geeft ook een hash probeer maar es echo md5('');

dus hash je $_POST['wachtwoord'] in je if structuur

mvg stijn
Offline W0etah - 03/11/2006 18:38
Avatar van W0etah PHP beginner heb het verandert, maar het probleem ligt voraal bij flash denk ik, want daar blijft er maar staan: loading
Offline Stijn - 03/11/2006 18:49
Avatar van Stijn 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.

  1. <?
  2. $query = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '".$gebruikersnaam."' AND `wachtwoord` = '".$wachtwoord."'");
  3. ?>
Offline W0etah - 03/11/2006 18:57
Avatar van W0etah PHP beginner
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <?php
  3. $gebruikersnaam = $_POST['gebruikersnaam'];
  4. $wachtwoord = sha1(md5($_POST['wachtwoord']));
  5.  
  6. if( empty( $gebruikersnaam) === false && empty( $wachtwoord ) === false ) {
  7. include('connectie.php'); //connectie met de database
  8. $dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE gebruikersnaam = '".$gebruikersnaam."' AND `wachtwoord` = '".$wachtwoord."'") or die(mysql_error());
  9. $result = mysql_query($dbnaam) or die(mysql_error());
  10.  
  11. $num = mysql_num_rows($result) or die(mysql_error());
  12. if ($num == 1){
  13. echo "&Login = 1";
  14. } else {
  15. echo "&Login = 2";
  16. }
  17. } else {
  18. echo "&Login = 2";
  19. echo "Geen wachtwoord";
  20. }
  21. ?>



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
Offline Ultimatum - 03/11/2006 19:34
Avatar van Ultimatum PHP expert hij zegt dus dat $gebruikersnaam + $wachtwoord leeg zijn..

vervang regel 6 eens door:

  1. if( !empty( $gebruikersnaam) && !empty( $wachtwoord )) {
Offline W0etah - 03/11/2006 21:21 (laatste wijziging 03/11/2006 21:42)
Avatar van W0etah 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

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <?php
  3. include('connectie.php'); //connectie met de database
  4.  
  5. $gebruikersnaam = $_POST['gebruikersnaam'];
  6. $wachtwoord = sha1(md5($_POST['wachtwoord']));
  7.  
  8. $dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE `date` >= '0'") or die(mysql_error());
  9. $result = mysql_fetch_assoc($dbnaam);
  10.  
  11. if($result['gebruikersnaam'] != $gebruikersnaam) {//naam is niet goed
  12. $error = 1;
  13. } elseif($result['wachtwoord'] != $wachtwoord) {//wachtwoord is niet goed
  14. $error = 1;
  15. } else { //alles is goed, je word ingelogd
  16. $error = 2;
  17. }
  18. echo "&FlashError=" .$error;
  19. ?>


maar als ik controleer of de velden zijn ingevuld doet hij het ook niet meer
Offline Stijn - 03/11/2006 21:41 (laatste wijziging 03/11/2006 21:48)
Avatar van Stijn 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!

  1. if($result['gebruikersnaam'] != $gebruikersnaam || $result['wachtwoord'] != $wachtwoord) {
  2. $error = 1;
  3. } else { //alles is goed, je word ingelogd
  4. $error = 2;
  5. }
Offline W0etah - 03/11/2006 21:50 (laatste wijziging 03/11/2006 22:07)
Avatar van W0etah 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:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <?php
  3. include('connectie.php'); //connectie met de database
  4.  
  5. $gebruikersnaam = $_POST['gebruikersnaam'];
  6. $wachtwoord = sha1(md5($_POST['wachtwoord']));
  7.  
  8. $dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE `date` >= '0'") or die(mysql_error());
  9. $result = mysql_fetch_assoc($dbnaam);
  10.  
  11. if($result['gebruikersnaam'] != $gebruikersnaam || $result['wachtwoord'] != $wachtwoord) {
  12. $error = 1;
  13. } else { //alles is goed, je word ingelogd
  14. $error = 2;
  15. }
  16. echo "&FlashError=" .$error;
  17. ?>


de as
  1. txt_fout.text = "loading...";
  2. myLoginVars.gebruikersnaam = txt_gebruikersnaam.text;
  3. myLoginVars.wachtwoord = txt_wachtwoord.text;
  4. myLoginVars.sendAndLoad("http://127.0.0.1/login.php", myLoginVars, "POST");
  5. // kijken of login.php is geladen.
  6. myLoginVars.onLoad = function(success) {
  7. if (success) {
  8. if (myLoginVars.FlashError == 1) {
  9. txt_fout.text = "Username or pasword are incorrect.";
  10. } else if (myLoginVars.FlashError == 2) {
  11. txt_fout.text = "ok.";
  12. }
  13. } else {
  14. txt_fout.text = "error";
  15. }
  16. };
  17. }


zo werkt het enkel bij 1 gebruikersnaam


EDIT2: het werkt enkel bij de 1ste gebruikersnaam in de database
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.26s