login password flash vers php mysql marche en locale pas en ligne
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
Code:
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
}
?> |
le code du fichier blocageCache.php
Code:
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
Code:
1 2 3 4 5 6 7
| <?php
session_start();
if(!isset($_SESSION['login']))
{
header("formulaireLogin.html");
}
?> |
et enfin le code du flash
Code:
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