j'essaye de tester l'exemple donné dans le bouquin de Defrance , Flash avec php, un login/password en flash qui se connecte à une table mysql pour autoriser ou non un accès à une page ça marche bien en locale mais en ligne rien du tout. la base en local et la meme qu'n ligne, donc pas un probleme de connexion à la base..j'ai testé avec des lien absolue, marche pas non plus..
voici le code du php
le code du fichier blocageCache.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 <?php //appel des header pour bloquer le cache require_once('blocageCache.php'); //active les sessions session_start(); //rcupration des variables envoyes par Flash if(isset($_POST['login'])) $login= utf8_decode($_POST['login']); else $login="inconnu"; if(isset($_POST['secret'])) $secret= utf8_decode($_POST['secret']); else $secret="inconnu"; //--------------FONCTIONS function envoi($var, $val){ echo "&".$var."=".utf8_encode($val); } //--------CONNEXION ET SELECT BASE ------------ require_once('connexion.php'); mysql_select_db($database_connexionLogin, $connexionLogin); //---------RECUP DES INFOS (depuis la table adherents) $query_rsVerifLogin = "SELECT password FROM membres WHERE login='$login' "; $rsVerifLogin = mysql_query($query_rsVerifLogin, $connexionLogin) or die(mysql_error()); $row_rsVerifLogin = mysql_fetch_assoc($rsVerifLogin); $total_rsVerifLogin=mysql_num_rows($rsVerifLogin); //---------TEST DE D'EXISTENCE ET DE CONCORDANCE LOGIN/PWD if(($secret == $row_rsVerifLogin['password'])&&($total_rsVerifLogin!=0)){ //test si le controle du mot de passe est ok $_SESSION['login']=$login; //mmorise le login de l'utilisateur en session envoi("retour","ok"); //envoie la confirmation de l'authentification l'application Flash } else { envoi("retour","pb"); //dans le cas contraire, un message d'erreur est renvoy l'application Flash } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php //--------------------------Blocage du Cache header("Expires: Mon, 12 Jul 1995 02:00:00 GMT"); // Date d'expiration antrieure la date actuelle header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Indique de toujours modifier la date header("Cache-Control: no-cache, must-revalidate"); // no-cache pour HTTP/1.1 header("Pragma: no-cache"); // no-cache pour HTTP/1.0 //------------------------------------------------ ?>
le code de control.php pour la session
et enfin le code du flash
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php session_start(); if(!isset($_SESSION['login'])) { header("formulaireLogin.html"); } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 stop(); //------------------------------------------------- bouton1_btn.onRelease=function() { verificationLogin(); } //------------------------------------- boutonI1_btn.onRelease=function() { getURL("http://monsite.com/inscription.php","_blank"); } //------------------------------------- login_txt.text="";//efface le contenu du champ login secret_txt.text="";//efface le contenu du champ secret //------------------------------------- function verificationLogin() { if(login_txt.text != "" && secret_txt.text != "" && login_txt.text.length >=0 && secret_txt.text.length >=0 ){ authentification(); }else{ _root.message="Ne laissez pas le champs vide svp !"; login_txt.text="";//effacement du champ login secret_txt.text="";//effacement du champ secret } }//fin de la fonction //------------------------------------- function authentification() { var retour:String="";//variable de retour //création des objets LV var monEnvoi_lv = new LoadVars(); var monChargement_lv = new LoadVars(); //initialisation des variables de l'objet LV avec les valeurs saisies monEnvoi_lv.login = login_txt.text; monEnvoi_lv.secret = secret_txt.text; //détection du chargement monChargement_lv.onLoad = function(success) { if (success) { retour = monChargement_lv.retour; if(this.retour=="ok"){ _root.message="Authentification vérifiée"; getURL("http://monsite.com/section/index.php"); }else{ _root.message="Login ou mot de passe incorrect"; } } else { _root.message = "Désolé mais la vérification n'a pas pu être effectuée (pb technique)"; } }//fin du onLoad monEnvoi_lv.sendAndLoad("authentification.php", monChargement_lv, "POST"); }
merci de votre aide !
ps j'ai bien mis les codes entre les balises code mais ça marche pas donc je les ai mis sans les balises code
Partager