Flash και Authorisation

Λύσεις προβλημάτων για το δημοφιλές πρόγραμμα κατασκευής παρουσιάσεων στο διαδίκτυο.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 27 Σεπ 2005 13:14

Γεια σας.

θα ήθελα να κάνω μια ερώτηση. Κάνω μία flash εφαρμογή που απαιτεί login. Έφτιαξα μία φόρμα στο flash με username, password και ένα submit button. Στο submit button έχω βάλει τον παρακάτω κώδικα.

Κώδικας: Επιλογή όλων

on (release) {
if (username.text!="" && password.text!=""){
		myData.username = username.text
		myData.password = password.text
		
		myData.sendAndLoad("login.php", myData, "POST") 
} 
   else 
   {
   status.text = "Όλα τα πεδία είναι υποχρεωτικά!"
   }

myData = new LoadVars()
myData.onLoad = function(){
   if(this.writing == "ok") {
	  status.text = "Επιτυχές Login!"
   }
   else  {       
	  status.text = "To username και password δεν είναι σωστά!"
   }   
}
}
Όταν τρέξω το flash και γράψω κάτι και στα δύο πεδία username και password), τότε όταν πατήσω μία φορά το button δεν γίνεται τίποτα, ενώ με την δεύτερη το status.text παίρνει την τιμή "To username και password δεν είναι σωστά!". Αυτό γιατί δεν γίνεται την πρώτη φορά;

Μία δευτερη ερώτηση είναι: πως μπορώ να έχω restrict access; Δηλαδή πως μπορώ να ελέγχω αν ένας user έχει ήδη κάνει login. Ποιό συγκεκριμένα, όταν ο χρήστης πατά ένα κουμπί Παραγγελία (ας πούμε) τότε αν δεν έχει κάνει πριν login να τον πηγαίνει στην φόρμα για login (πχ frame 2), ενώ αν έχει κάνει να τον πηγαίνει στο frame 3 πχ. που είναι το frame που μπορεί να κάνει την παραγγελία του.

Ελπίζω να έγινα κατανοητός.

Υ.Γ. Άλλαξα το προηγούμενο μήνυμα γιατί βρήκα το σφάλμα του.

Thanks.

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Flash και Authorisation

Δημοσίευση από Knorcedger » 27 Σεπ 2005 16:50

Δοκίμασε αυτό

Κώδικας: Επιλογή όλων

on (release) {
	if (username.text != "" && password.text != "") {
		var myData:LoadVars = new LoadVars();
		myData.user = inputuser.text;
		myData.pass = inputpass.text;
		myData.onLoad = function(ok) {
			if (ok) {
				status.text = "Επιτυχές Login!";
			} else {
				status.text = "To username και password δεν είναι σωστά!";
			}
		};
		myData.sendAndLoad("login.php", myData, "POST");
	} else {
		status.text = "Όλα τα πεδία είναι υποχρεωτικά!";
	}
}
(Ισως χρειαστεί και καμια μικροαλλγή το login.php, με τον παραπάνω κωδικα (ίσως)

όσο για την δευτερη ερωτηση σου, θα μπορούσες να χρησιμοποιήσεις τα sharedObjects
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 27 Σεπ 2005 18:25

Thanks για την απαντηση.
Στον κώδικα όπως τον έγραψες δεν θα πρέπει το

Κώδικας: Επιλογή όλων

myData.sendAndLoad("login.php", myData, "POST");
να είναι γραμμένο πριν από το

Κώδικας: Επιλογή όλων

myData.onLoad = function(ok) { 
         if (ok) { 
            status.text = "Επιτυχές Login!"; 
         } else { 
            status.text = "To username και password δεν είναι σωστά!"; 
         } 
      };
:question: :question: :question:

Γιατί αλλιώς το status.text παίρνει τιμή πριν γίνει η σύνδεση με το login.php, έτσι δεν είναι; Αλλά αν το κάνω έτσι, πάλι γίνεται με το δευτερο κλικ.

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Flash και Authorisation

Δημοσίευση από Knorcedger » 27 Σεπ 2005 18:57

Ο παραπάνω κώδικας (με αρκετες προσθήκες) λειτουργει κανονικά σε μένα.

Το πρόβλημα με το διπλό κλικ, θυμαμαι ότι το αντιμετώπισα και εγω παλία, αλλα πέρασε καιρος και δεν θυμάμαι τι έφταιγε
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 27 Σεπ 2005 19:08

Ok thanks

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 28 Σεπ 2005 11:46

Hey Knorcedger

Μία άλλη ερώτηση που μου προέκυψε.

Η εφαρμογή που κάνω σε flash έχει διάφορα swfs, δηλαδή δεν είναι ένα.
Χρησιμοποιώ την loadMovie κάθε φορά που θέλω να ανοίξω ένα άλλο swf.

Ωραία μέχρι εδώ. Για να μεταφέρω όμως μία τιμή μιας μεταβλητής από ένα swf σε ένα άλλο, πως μπορώ να το κάνω; Έχω προσπαθήσει να βάλω POST ή GET στο loadMovie, αλλά δεν έχω καταφέρει να το χρησιμοποιήσω σωστά.

Για να φορτώσω ένα άλλο swf χρησιμοποιώ ένα κουμπάκι με τον εξής κώδικα.

Κώδικας: Επιλογή όλων

_root.empty.loadMovie("test.swf");
Θέλω, πχ. να περάσω το filename=book, τι πρέπει να γράψω στον κώδικα στο κουμπί; Και πως πρέπει να το τραβήξω από το άλλο swf όταν φορτώσει;
Thanks.

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Flash και Authorisation

Δημοσίευση από Knorcedger » 28 Σεπ 2005 12:30

Δεν είναι ανάγκη να περάσεις καμία μεταβλητη. Το μόνο που χρειάζεται είναι να χαρακτηρίσεις ως global τις μεταβλητες που θα πρέπει να περαστουν και στα αρχεία που φορτώνεις.

π.χ.
στο αρχικο swf

Κώδικας: Επιλογή όλων

_global.fire = 4;
load.onRelease = function() {
	empty.loadMovie("test.swf");
};
και σε αυτο που φορτώνεις

Κώδικας: Επιλογή όλων

more = _global.fire + 2;
trace(more);
Και μια φιλικη συμβουλη. Να αποφευγεις το "_root" όσο περισσότερο μπορείς
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 28 Σεπ 2005 12:53

Αν δεν πρέπει να είναι global η μεταβλητή και ανόλογα από ποιο swf έρχεται να παίρνει αντίστοιχα τιμή, τι γίνεται τοτε;

Thanks για την συμβουλή. Στο συγκεκριμένο πως θα μπορούσα να το αποφύγω το _root;

Ελπίζω να μη σε πειράζει που κάνω τόσες ερωτήσεις. :)

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Flash και Authorisation

Δημοσίευση από Knorcedger » 28 Σεπ 2005 13:17

Γιατί δεν πρέπει να είναι _global? Για να πε΄ρνει την αντίστοιχη τιμη νομιζω ένα if κάνει την δουλειά του

Στην συγκεκριμένη περίπτωση, απλα χρησιμοποιησε τον κωδικα που έγραψα παραπάνω, αλλα γενικα, υπάρχει το κουμπι insert target path
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 28 Σεπ 2005 13:23

Θα κοιτάξω το insert target path και θα επανέλθω.

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 28 Σεπ 2005 13:52

Τελικά πάντως φαίνεται να έχεις δίκιο με ένα προηγούμενο μήνυμα που έλεγες για τις global μεταβλητές. Μάλλον αυτό θα προσπαθήσω.

Thanks για άλλη μία φορά.

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 30 Σεπ 2005 23:31

Γεια σου Knorcedger. Σε κάποιο μήνυμα σου είπες το παρακάτω.
(Ισως χρειαστεί και καμια μικροαλλγή το login.php, με τον παραπάνω κωδικα (ίσως)


Μήπως θα μπορούσες να μου πεις ποιό θα πρέπει να είναι το login.php γιατί έτσι όπως το έχω κάνει εγώ δεν μου δουλεύει σωστά. Αντιμετωπίζω πρόβλημα με το το double click και μου βγάζει λάθος αποτελέσματα.

Πάντως από ότι έχω καταλάβει το πρόβλημα στο double click πρέπει να έχει ρίζα στο php αρχείο και όχι στο fla αρχείο.

Άβαταρ μέλους
Knorcedger
Script Master
Δημοσιεύσεις: 1226
Εγγραφή: 18 Μάιος 2004 04:29
Επικοινωνία:

Flash και Authorisation

Δημοσίευση από Knorcedger » 01 Οκτ 2005 18:44

Δεν μπορώ να σου πω πως θα είναι το login.php γιατι δεν ξέρω τι θελεις να κάνει..
Εικόνα
myUbuntu.gr[Ελληνικός οδηγός για Ubuntu]

freds
Δημοσιεύσεις: 320
Εγγραφή: 24 Φεβ 2005 16:11

Flash και Authorisation

Δημοσίευση από freds » 05 Οκτ 2005 19:44

Ok τα έφτιαξα αυτά thanks

Απάντηση

Επιστροφή στο “Flash γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες