php mysql flash marche en local mais 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 pour autoriser ou non un acces à une page mais ça marche bien en locale mais en ligne rien du tout
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 connexion.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?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
| 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");
} |
j'ai fait une version avec les lien en absolue dans le flash mais nada, marche pas en ligne, j'ai mis les bonnes infos pour la database, password etc..mais rien, walou...
j'ai lu quelquepart que ce genre de code n'est pas tres securisé mais pour l'instant je voudrais juste qu'il fonctionne en ligne comme il fonctionne en local
si quelqu'un à une piste à me proposer je suis preneur;)
merci