Oggi vedremo come creare un Login in Flash con autenticazione di account multipli utilizzando PHP + database MySql.
Avremo a disposizione una pagina per gestire gli USER, potremo inserirli, visualizzare quelli nel database e cancellarli.
NB: La pagina di gestione è pubblica per darvi la possibilità di provare il tutorial in tutti i suoi aspetti.
Prima di tutto andiamo a creare la tabella users nel database MySql
ecco la query da utilizzare:
CREATE TABLE `users` (
`userid` int(4) NOT NULL auto_increment,
`username` varchar(20) default NULL,
`userpassword` varchar(20) default NULL,
PRIMARY KEY (`userid`)
) ENGINE=MyISAM AUTO_INCREMENT=1 ;
Vediamo ora i file PHP necessari alla realizzazione del Login in Flash
- connessione.php
- controlla_login.php
- gestisci_user.php
- canc_user.php
In connessione.php troveremo i dati per connetterci al database MySql, questa pagina viene richiamata ogni qualvolta sia necessario connettersi al database, ecco come è strutturato:
<?php
mysql_pconnect("localhost","nome_user","password") or die ("Attenzione non trovo il database");
mysql_select_db("nome_database") or die ("Attenzione non trovo il database");
?>
- localhost: è il nome del host
- nome_user: è l’username del nostro account database MySql
- password: bè è la password del database MySql
- nome_database: è il nome del database MySql in uso
Se avete problemi a creare una connessione al database MySql leggete questi link utili
In controlla_login.php ci sono degli script che hanno il compito di controllare la fase di login durante l’invio delle variabili da Flash a PHP
In gestisci_users.php invece troveremo un pannello di controllo con il quale sarà possibile inserire, visualizzare o come vedremo dopo cancellare un USER
La pagina canc_users.php come avrete gia intuito, serve a cancellare un USER creato e inserito in precedenza nel database.
107 Commenti
ma mi devo registrare a il database
mi puoi mandare una guida su questo indirizzo dfigliolia@libero.it scritta da te che mi spieghi passo per passo cosa dovrei fare? GRAZIE
Cmq SEI UN GRANDE BELLISSIMO IL TUO LOGIN
Ci sono tante cosine da sapere…
Prima di tutto programmare in linguaggio PHP, e sapere come si creano le query tramite database MySql
Ma su uno dei link che ci hai dato su come creare un database dice che username , password e il nome del database vengono forniti dall’amministratore del nostro spazio web.
Quindi li devo chiedere ad aruba?!Mmmm…help!!
In teoria quando ti registri ARUBA ti deve dare tutti gli user e pass per accedere al tuo database…
mi puo scrivere il link del download di mysql
Ok,grazie mille! Scusa se le domande sono scontate…ma x me non lo sono!:-)
Ho fatto un salto su Aruba e se ho capito bene l servizio MySQL costa 7 euro l’anno, pensavo fosse compreso nell’attivazione del sito!
@giuseppe ciao di solito ho è un servizio incluso nel proprio spazio web oppure leggi qui come scaricarlo
@kangaru ;)
CIAO JULIUS
MI STO ADDENTRANDO NEL MONDO MYSQL E PHP.
HO SCARICATO IL TUO LOGIN – VERAMENTE MOLTO BELLO.
HO PROVATO A INSTALLARLO IN LOCALE CON EASY PHP – HO CREATO UN DATABASE CON PHP MY ADMIN E HO ESEGUITO SENZA PROBLEMI LA QUERY PER CREARE LA TABELLA USERS.
QUANDO PERO PROVO A REGISTRARE UN UTENTE MI DA UNA SERIE DI ERRORI NEL CODICE “GESTISCI USER.PHP”
MI SEGNALA LE LINEE DI ERRORE , TRA CUI UN “REQUEST”
SE TI POSTO LE LINEE DI ERRORE MI POTRESI DARE UN AIUTINO.
TI RINGRAZIO
SEI GRANDE
certo scrivi pure…
OK GRAZIE JULIUS
QUESTO E’ QUANTO MI APPARE QUANDO VADOP NELLA SEZIONE GESTISCI USER:
Notice: Undefined index: newUser in c:\programmi\easyphp1-8\www\login_flash\gestisci_user.php on line 5
Notice: Undefined index: passOne in c:\programmi\easyphp1-8\www\login_flash\gestisci_user.php on line 6
Notice: Undefined index: passTwo in c:\programmi\easyphp1-8\www\login_flash\gestisci_user.php on line 7
Notice: Undefined variable: REQUEST_METHOD in c:\programmi\easyphp1-8\www\login_flash\gestisci_user.php on line 18
Notice: Undefined variable: result in c:\programmi\easyphp1-8\www\login_flash\gestisci_user.php on line 36
SCUSAMI MA STO TENTANDO DI CAPIRCI QUALCOSA E SE MI PUOI DARE UNA MANO TE NE SAREI GRATO.
QUESTO MESSAGIO ME LO DA QUANDO PROVO IN LOCALE IL TUO PROGETTO.
GRAZIE
MATTEO
Ciao juliusss, ho dei problemi con la comunicazione tra php e mysql, considerando che è la prima volta che uso mysql (naturalmente per ora in locale) mi trovo difronte a dei “problemi” magari banali….quando accedo a gestisci_user.php (http://localhost/login/gestisci_user.php) mi dà questa stringa di errore____ Fatal error: Cannot re-assign $this in C:\AppServ\www\login\gestisci_user.php on line 22____
molto probabilmente ho spagliato i settaggi nel file connessione.php e volevo sapere più inormazioni riguardo al campo “host” (cosa devo inserire??? localhost e basta??? e quando andrà on-line?? l’indirizzo del sito??) e il campo del nome DB (ha un percorso particolare?? o basta il solo nome del DB?? devo scrivere un percorso tipo “localhost.nome_db”??). Oltre ai settaggi nel file connessione.php …ci sono altri campi da modificare negli altri file .php??
grazie mucho
S
ora mi funziona!!!!
però ho commentato un blocco nel file gestisci_user.php
if (($REQUEST_METHOD==’POST’)) {
//for(reset($HTTP_POST_VARS);
// $key=key($HTTP_POST_VARS);
// next($HTTP_POST_VARS)) {
// $this = addslashes($HTTP_POST_VARS[$key]);
// $this = strtr($this, “>”, ” “);
// $this = strtr($this, “<“, ” “);
// $this = strtr($this, “|”, ” “);
// $$key = $this;
// }
colmeresti la mia ignoranza dicendomi ….cosa ho commentato?? :P
ciao Julius,
volevo chiederti una cosa.
Ho inserito il login nel mio sito in flash, e tutto va bene.
l’unica cosa e che se lascio vuoti username e pasword e clicco su login mi accede al sito. come mai?
grazie per l’aiuto Gigio
@Shining serve ha codificare alcuni caratteri…
@Gigio sei sicuro di aver configurato correttamente il database?
Ciao, Julius
Si il database e’ a posto.
il problema e che mi entra in loop quando mi loggo,
ti linKo il sito
http://www.cod4.helloweb.eu/
se accedi con username:gigi e pawsprd:pippo
ti esce il messaggio di conferma,. Se clicchi sul pallino bianco (provvisorio) dovrebbe saltare al sito ma entra in loop. In pratica ho fatto un bottone con
azione:
(no (release) {
_root.gotoAndPlay(6) // 6 e’ il frame dove inizia il sito sulla timaline.
Mi potresti dire dove sbaglio? Ti ringrazio molto
Sermbrerebbe che manchi uno stop(); sul frame 6
prova a inserire un _root.gotoAndStop
ciao, Julius,
volevo chiederti una cosetta.
ho fatto una pagina del login, e se l’utente e la pasw sono giusti vieni indirizzato nella pagina del sito (in un’altro url.) Come faccio a evitare che un utente che ha avuto accesso copi l’indirizzo del sito e possa saltare l’autenticazione le volte successive che si collega (cioe’ che copi e incolli l’indirizzo del sito e acceda senza login )? Vorrei che flash riconosca che l’utente non ha eseguito il login e quindi sia reindirizzato all’url dove ce la pagina del login, e vice versa che flash riconosca che il login e stato fatto e che quindi puo’ avere accesso al sito.
Come posso fare?
Ti ringrazio moltissimo.
Gigio
Ciao, ho provato questo tutorial ma il mio sito è in Action Script 3 e non mi accetta il “var” nei campi in flash “userinput” e “passinput” … qualche consiglio?
Grazie e Complimenti
Lamberto
ciao Julius…volevo sapere se questa applicazione era possibile da usare per fare entrare i miei visitatori, inserendo utente e pass, per esempio in myspace…come se entrassero proprio dall home page del sito…..aspetto tue risp grazie ancora x l’altro intervento
Ciao Julius…..complimenti bello script e da un po’ che cercavo una cosa del genere però volevo chiederti se io voglio poi realizzare tutto il sito in php come faccio nn avendo flash ha indiizzare la pagina dell login quando e stato effettusto a un altra pagina che nel mio caso sarà la ma home page…….ah un altra cosa come faccio a criptare tutte le altre pagine che voglio creare quale file devo includere cosa devo fare???
Grazie in anticipo….
Ciao Julius
Ho inserito con loadmovie l’swf in un sito tutto in flash per riservare l’accesso a sezioni del file ma quando clicco sul login mi dice sempre “accesso al database attendere prego” . Se usato da solo funziona.
Il problema da quello che riesco a capire dovrebbe essere in questa riga o sbaglio?
loadVariablesNum(“controlla_login.php”, 0, “POST”);
Grazie anticipate
Ciao Julius,
io ho un sito su Aruba.
Da quando c’è stato il passaggio del PHP su Aruba non funziona più correttamente il login.
Non mi trova la pagina di gestisci_user, non si connette al database..
A sempre funzionato tutto correttamente. ora non +.
Mi sai aiutare o consigliare un metodo per far sì che riprenda a funzionava tutto correttamente?
Grazie mille.
Andrea
@Andrea: controlla di aver aggiornato e abilitato correttamete il database MySql di Aruba
Ciao Julius,
Ho trovato molto utile questo tutorial, tra l’altro funziona benissimo. e tu sei un grande.. ho provato su un server altervista.. tutto ok. successivamente ho provato su un dominio aruba. (con i relativi servizi di gestione db mysql attivi), ho impostato la tabella, il file connessione.php. ho messo online ma……
…..SORPRESA… NON FUNZIONA!
accedo a config_user.php e mi da il seguente errore.
Fatal error: Cannot re-assign $this in D:\Inetpub\webs\nomedelmiositosenzapunti\gestisci_user.php on line 22
-.-” porca vacca
Ma che significa? Mi puoi aiutare?
(ho ricontrollato un sacco di volte, i dati di connessione.php. e sono certo che sono giusti)
ciao julius e grazie per queste dritte.
TUTTO OK.
il problema sta in config_user.php
PHP5 con riconsce il campo $this. (MI PARE DI AVER CAPITO).
consiglio di impostare le righe manualmente dal pannello di controllo.
con nome utente e password.
grazie lo stesso
Ciao, è possibile aggiornare questo utile tutorial rendendolo compatibile con php 5 ?
@Hecto: in teoria dovrebbe funzionare anche per PHP 5… cmq la parte da aggiornare è semplicemente il PHP e non Actioscript…
Già.. e come si aggiorna lo script PHP? Ho provato a commentare o a cancellare parte del codice con $this, ma quando provo a d aggiungere un nuovo user la pagina non si aggiorna, continuo a vedere 0 come numero di utenti e infatti controllando il db noto che i campi sono vuoti…
@Aranuir… se ancora ti serve…
in gestisci_user.php
cambia questa riga di codice
if (($REQUEST_METHOD=='POST')) {
con questa
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
Ciao.
Ciao Julius…ma sai che sei davvero bravissimo??
Cmq scusa ho bisogno di un’informazione…io ho impostato tutto per il MySql e ho caricato tutto sul web. Quando vado a effettuare il login mi dice “grazie di aver effettuato il login”…ma poi come devo fare ad andare al sito che dovrebbe essere protetto???!
Aspetto una tua risposta al più presto….ciaoooo a tutti
In pratica il “sito protetto” viene gestito dall’applicazione flash che nel mio esempio ti rimanda a un frame
Invece del rimando la frae nella condizione puoi indicare una pagina web o un’altro accesso
Ok, grazie Julius sei stato molto chiaro, ma se per caso la persona salva il link del sito poi puo accedergli ogni volta che lo vuole senza effettuare nuovamente il login…o sbaglio?? quindi cosa dovrei fare??
ciao julius, solo una domanda…ma se voglio inserire questo login nel mio sito costruito in ac3 con adobe flash cs3 come devo fare?? GRAZIE MILLE
potrei caricare il file esterno SWF?…oppure in questo modo non funzionerebbe?
Scusa mi sno dimenticato un altra cosa..ma posso provarlo insieme a XAMMP?
CIAO
GESTIRE gestisci_user.php CON PHP 5
Non potendo riassegnare un valore alla variabile $this ho risolto in questo modo e funziona:
$thisa = addslashes($HTTP_POST_VARS[$key]);
$thisb = strtr($thisa, “>”, ” “);
$thisc = strtr($thisb, “<“, ” “);
$thisd = strtr($thisc, “|”, ” “);
$$key = $thisd;
Ciao a tutti ragazzi, sono un po’ in panico!!!
Mi hanno chiesto di inserire su questo sito internet, come sezione finale dei download un log in…. ho chiesto a un po’ di gente, ma chi poteva darmi una mano è momentaneamente impegnata…
Dunque, premetto che ho sempre e solo usato photoshop, e flash lo sto usando solo da maggio 2008…. ho imparato parecchie cose, ma quello che ancora non sò è fare proprio il log in….che cos’è questo MYSQL? e PHP? non sò darmi una risposta…e non le trovo ingiro…Che cosa devo scaricare per gestire account?
In pratica il capo dell’azienda mi ha chiesto di inserire il log in nei download prima di accedere alla pagina effettiva…..
Come mi devo comportare? sono alle prime armi in questo senso….Aiutatemi please!
Grazie mille a chi risponderà!
Andrea
Ciao Julius,
mi è interessato molto il tuo tutorial ed era proprio quello che cercavo… Ma c’è un’errore nella pagina Connessione.php perchè io inserisco correttamente host, nome, password e nome database. Io ho scritto questo:
Poi siccome non funzionava ho provato questo:
[Naturalmente nella password non ho messo ********]
Ti ringrazio in anticipo
Koskha
Scusa per l’altro commento, ma non ha visualizzato il testo del contenuto di Connessione.php.
Perfetto… ho capito qual era l’errore infatti poi ha funzionato. Il problema è che in Gestisci_user.php quando registro un user mi dice ‘Insert Failed!’ cioè Inserimento fallito… Potete guardare voi stessi in questo sito: http://riflecommunity.altervista.org/gestisci_user.php
ciao Julius!
Ottimo questo file ma mi da un problema su gestisci user, esattamente questo:
Fatal error: Cannot re-assign $this in /web/htdocs/www…./gestisci_user.php on line 22
da cosa è dovuto?
ops scusate non avevo visto che era già stato trattato questo errore!
Risolto!!!!
basta sostituire i $this con $_this
a me cosi funziona ciao!
ciao mi funziona benissimo se carico swf da solo
ma se lo carico come livello cioe’ in load movie livello 8
non va piu
rimane in loop la scritta verifico nel database…
cosa devo fare?
ciao e grazie mille
questo è il link
e poi altra cosa ancora…
ho usato un tuo tutorial per mettere in fullscreen il tutto
ma quando carico swf del login in fullscreen
non mi va piu’ la digitazione del testo
come mai?
ciao jlius fammi sapere
simone
Ancora complimenti per il Tutorial! Però ho il solito problema del Fatal error: Cannot re-assign $this in(ecc ecc …….) on line 22, ho seguito la discussione e ho apportato un po di modifiche al file gestisci_user.php ; ora il codice inserito è questo:
if (($REQUEST_METHOD==’POST’)) {
for(reset($HTTP_POST_VARS);
$key=key($HTTP_POST_VARS);
next($HTTP_POST_VARS)) {
$_this = addslashes($HTTP_POST_VARS[$key]);
$_this = strtr($_this, “>”, ” “);
$_this = strtr($_this, “<", " ");
$_this = strtr($_this, "|", " ");
$$key = $_this;
}
l'errore non lo da più ma se registro un utente mi dice che è già esistente…. vi linco la pagina:
http://www.jhonflushenigma.com/ut/gestisci_user.php
(un altra cosa i permessi io li ho impostati tutti a 0777 vanno bene così?)
grazie mille!
ho risolto! :D non avevo capito che avrei dovuto cambiare sia la parte dell’ aggiornamento al php5 e le variavili $this con $_this
codice nuovo————
if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’) {
for(reset($HTTP_POST_VARS);
$key=key($HTTP_POST_VARS);
next($HTTP_POST_VARS)) {
$_this = addslashes($HTTP_POST_VARS[$key]);
$_this = strtr($_this, “>”, ” “);
$_this = strtr($_this, “<", " ");
$_this = strtr($_this, "|", " ");
$$key = $_this;
}
Ciao julius! grazie mille!
@lorenzo ottimo ;)