Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-02-2005, 10:16   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 9
loginscript und sendandload

Hallo

Ich wollte ein Login mit Flash machen und die beiden Variablen user und pass in eine php Datei senden. In der php Datei sollte dann user und pass aus einer Datenbank ausgelesen werden und wenn es den user gibt soll er die Seite öffnen.

Wie kann ich das am besten realisieren? Alle meine Versuche blieben bis jetzt ohne Erfolg. Bis jetzt habe ich es in der Flashdatei so:
Code:
on (release) {
	v = new LoadVars(); 
v.user = user;
v.pass = pass;
v.sendAndLoad("http://localhost/secure/partner.php", v, "POST");
}
und in der partner.php steht:
PHP-Code:
<?php 
session_start
();
include(
"connect.inc.php");
$user $_POST["user"]; 
$pass $_POST["pass"];

 
$sql "SELECT count(*) as ANZAHL 
          FROM users 
          where user = '"
.mysql_escape_string($user)."' 
            and pass = '"
.mysql_escape_string($pass)."'"

  if (!
$res_id mysql_query($sql)) die('Fehler! Daten konnten nicht ausgelesen werden.'); 

  
$auslesen mysql_fetch_array($res_id); 
  if (
$auslesen['ANZAHL'] == 1) { 
    echo 
"Login erfolgreich"
  } else { 
    die(
'Fehler! Benutzername oder Passwort stimmt nicht.'); 
  }
?>
Wo könnte mein Denkfehler sein? Reicht das, was ich da dem Button im Flashfilm zugeschrieben habe aus? liegt dort der fehler?
Wenn ich auf den Button drücke passiert gar nichts, so als wäre er ohne funktion.

Danke und MfG Maik

Geändert von Zero2000 (09-02-2005 um 10:18 Uhr)
Zero2000 ist offline   Mit Zitat antworten
Alt 09-02-2005, 10:48   #2 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
1. Flash erwartet die Variablen von PHP so:
&ergebnis=erfolgreich&variable2=bla bla

2. must du warten, bis die Daten auch geladen sind.


ActionScript:
  1. on (release) {
  2.     v = new LoadVars();
  3.     v.user = user;
  4.     v.pass = pass;
  5.     v.onLoad=function(erfolg){
  6.         if(erfolg)
  7.             {
  8.                 trace("daten geladen");
  9.                 trace(this.ergebnis);
  10.             }
  11.         else trace("lade fehler!");
  12.     }
  13. v.sendAndLoad("http://localhost/secure/partner.php", v, "POST");
  14. }

Geändert von dburucu (09-02-2005 um 10:50 Uhr)
dburucu ist offline   Mit Zitat antworten
Alt 09-02-2005, 11:10   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 9
und das ist was ich nicht verstehe.
eigentlich will ich doch den inhalt der beiden flashvariablen an PHP senden und nicht zurück.

Ich habe es nun mal so abgeändert aber gehen tut es auch nicht. in Flash sagt er mir:
Code:
daten geladen
undefined
Flash:
PHP-Code:
on (release) { 
    
= new LoadVars(); 
    
v.user user
    
v.pass pass
    
v.onLoad=function(erfolg){ 
        if(
erfolg
            { 
                
trace("daten geladen"); 
                
trace(this.ergebnis); 
            } 
        else 
trace("lade fehler!"); 
    } 
v.sendAndLoad("logintest.php"v"POST"); 

und in php habe ich es nun so:
PHP-Code:
<?php 
session_start
();
// Include connect_inc.php 
include("connect_inc.php"); 

// Daten auslesen 
$result mysql_query("SELECT user,pass FROM users"); 
$log_dat mysql_fetch_array($result); 

// Variablen annnehmen mit registerGlobalsDaten überprüfen 
$user $_POST["user"]; 
$pass $_POST["pass"];

//Daten überprüfen 
if($user == $log_dat["user"] && $pass == $log_dat["pass"]) { 
    echo 
"&issue=access_allowed"
} else { 
    echo 
"&issue=access_denied"

?>
Also im Browser passiert nach wie vor nichts beim betätigen des Buttons.

MfG Maik
Zero2000 ist offline   Mit Zitat antworten
Alt 09-02-2005, 11:12   #4 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
Du sendest per POST an PHP die Variablen.
Du bekommst aber auch dann eine Antwort.

mach mal aus:
trace(this.ergebnis);
das:
trace(this.issue);

also die Variablen von PHP kommen dann mit this.variablenname an.
dburucu ist offline   Mit Zitat antworten
Alt 09-02-2005, 11:40   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 9
es ist schon besser. ich habe also alle 3 variablen in so ein trace gesteckt.
PHP-Code:
trace("daten geladen"); 
                
trace(this.user);
                
trace(this.pass);
                
trace(this.issue); 
dabei fällt mir auf, das er bei trace(this.issue); aus Flash heraus
den rest der PHP datei mit ausgibt. Sieht also so aus:
PHP-Code:
daten geladen
test
test
access_denied
"; 



?> 
Im Browser ist es nachwievor noch so das beim frücken des Buttons nichts passiert. Das alles läuft lokal auf xampp.

MfG Maik
PS: Ich hoffe ich bin nicht so schwierig
Zero2000 ist offline   Mit Zitat antworten
Alt 09-02-2005, 11:46   #6 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
also dass du das ende der datei siehst, ist deswegen, weil du nicht auf deinem Internet Explorer oder Firefox dein Flash aufrufst.

Also bei dir sollte als URL oben http://localhost/blabla/deineflashseite.htm stehen

dann sollte das eine Problem gelöst sein.

Was möchtest Du eigentlich, wenn man auf den Button geklickt wird?

Soll da ne andere Seite aufegerufen werden?
dburucu ist offline   Mit Zitat antworten
Alt 09-02-2005, 13:10   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 9
Ja.
und zwar soll eine seite aufgerufen werden, aber eben nur für benutzer die in einer mysql datenbank stehn.
In dem Flash Menü steht benutzername: und Passwort: die vars sind user und pass
die wollte ich an die php datei schicken die kontrollieren soll ob es den user mit dem passwort gibt und wenn ja dann soll sich die seite öffnen und wenn nein entweder eine fehlermeldung oder gar nichts....

MfG Maik
Zero2000 ist offline   Mit Zitat antworten
Alt 09-02-2005, 13:15   #8 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
Aha...

Dann solltest Du es so machen.

ActionScript:
  1. on (release) {
  2.     v = new LoadVars();
  3.     v.user = user;
  4.     v.pass = pass;
  5. v.send("logintest.php", "neueseite", "POST");
  6. }

Ich dachte Flash soll dir "geschützte"-Inhalte anzeigen, und nicht ein neues Fenster als nicht-Flash-Seite.
dburucu ist offline   Mit Zitat antworten
Alt 09-02-2005, 13:57   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 9
Ja! so geht es.
Das problem ist jetzt nur das er die seite auch lädt wenn user und pass leer sind oder irgendwas anderes drin steht.
könnte das jetzt an meiner abfrage und dem php-script liegen?

PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php 
session_start
();
// Include connect_inc.php 
include("connect.inc.php"); 

// Daten auslesen 
$result mysql_query("SELECT user,pass FROM users"); 
$log_dat mysql_fetch_array($result); 

// Variablen annnehmen mit registerGlobalsDaten überprüfen 
$user $_POST["user"]; 
$pass $_POST["pass"];

//Daten überprüfen 
if($user == $log_dat["user"] && $pass == $log_dat["pass"]) { 
    echo 
"&issue=access_allowed"
} else { 
    echo 
"Kein Zugriff!"

?> 
<html>
<head>
.
.
.
.
MfG Maik
Zero2000 ist offline   Mit Zitat antworten
Alt 09-02-2005, 14:09   #10 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
so sollte es gehen:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
session_start();
// Include connect_inc.php
include("connect.inc.php");

// Daten auslesen
$result = mysql_query("SELECT user,pass FROM users");
$log_dat = mysql_fetch_array($result);

// Variablen annnehmen mit registerGlobalsDaten überprüfen
$user = $_POST["user"];
$pass = $_POST["pass"];

//Daten überprüfen
if($user == $log_dat["user"] && $pass == $log_dat["pass"]) {
echo "&issue=access_allowed";
} else {
echo "Kein Zugriff!";
exit();
}
?>
<html>
<head>
.
.
.
.
dburucu ist offline   Mit Zitat antworten
Alt 09-02-2005, 14:19   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 9
Ich danke Dir das Du mir bis hierher geholfen hast und ich kann mir vorstellen das ich ein wenig nerve weil ich das auch nicht alleine hinbekomme.
Nun ist es so das wenn ich die richtigen daten eingebe er den teil Zugriff gewährt! überspringt und ich keinen Zugriff! habe obwohl ja user und pass stimmen.

Also in der DB ´gibt es die tabelle und in der tabelle die spalten user und pass beides ist test. kann es sein das sich hier ein fehler eingeschlichen hat?
PHP-Code:
if($user == $log_dat["user"] && $pass == $log_dat["pass"]) 
ansonsten könnte es vielleicht auch sein das er nicht weiß welche variable welche ist? Weil ich doch vom Flash die vars user und pass bekomme und im php lasse ich sie user und pass. kann es da probleme geben?

MfG Maik
Zero2000 ist offline   Mit Zitat antworten
Alt 09-02-2005, 14:36   #12 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 9
Ok habs doch noch rausbekommen.
einfach die abfrage erweitert. naja ich sollte mal weg vom computer und an die frische luft.
PHP-Code:
$result mysql_query("SELECT * FROM users WHERE user = '".$_POST['user']."'")or die("Select fehlgeschlagen!"); 
Danke Dir nochmal für Deine Geduld

MfG Maik
Zero2000 ist offline   Mit Zitat antworten
Alt 09-02-2005, 14:38   #13 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
jo bitte

Forum ist doch zum Helfen da...
dburucu ist offline   Mit Zitat antworten
Alt 09-02-2005, 14:49   #14 (permalink)
Neuer User
 
Registriert seit: Feb 2005
Beiträge: 9
gut dann kannst du ja vielleicht nochmal helfen...
wie bekomme ich es hin das nun im Flashfilm nach dem betätigen des buttons die felder benutzername und passwort leer sind?

Denn wenn ich drücke dann öffnet sich ja ein neues fenster und wenn ich in das alte zurückgehe dann steht das alles noch drin.

MfG Maik
Zero2000 ist offline   Mit Zitat antworten
Alt 09-02-2005, 14:53   #15 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
ActionScript:
  1. on (release) {
  2.     v = new LoadVars();
  3.     v.user = user;
  4.     v.pass = pass;
  5.     user = "";
  6.     pass = "";
  7. v.send("logintest.php", "neueseite", "POST");
  8. }
dburucu ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele