begin process at 2012 05 31 02:07:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Server Web

 > 

Apache

 > 

probleme login/redirect avec IE mais pas avec FF


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme login/redirect avec IE mais pas avec FF

mardi 13 novembre 2007 à 00:23:06 | probleme login/redirect avec IE mais pas avec FF

stooff

Bonjour a tout le site,

Pour vous expliquer brievement le sujet ... je developpe une interface web client, dans celle ci le client doit etre redirigé via un formulaire vers son espace apres verification des identifiants via une connexion mysql.

Probleme : cela marche avec FF mais pas avec IE.
N'etant pas un developpeur d'experience, je prefere m'adresser à vous, hommes de savoirs ;)
Je developpe en php sous dreamweaver, intuitif et simple, j'ai trouvé mon bonheur avec ce logiciel (Acheté, cela dit en passant). Malheureusement je n'en maitrise pas encore toute les subtilités (logiciel et surtout code)

Merci de vos retour sur ce code et toute remarques que vous jegerez bonnes de me transmettre.

voici le code de la page .php :

##########################################################
<?php
if (!isset($_SESSION)){session_start();}
require ('Connections/client_data.php');
// *** Validate request to login to this site.

$loginFormAction = $_SERVER['PHP_SELF'];

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

if (isset($_POST['Username']) && isset($_POST['Password']))
{
    $login_Username = $_POST['Username'];
    $login_Password = sha1($_POST['Password']);
}
elseif(isset($_SESSION['Client_Username']) && isset($_SESSION['Password']) && isset($_SESSION['code_client']))
{
    $login_Username = $_SESSION['Client_Username'];
    $login_Password = $_SESSION['Password'];
}
if (isset($login_Username) && isset($login_Password))
{
    $Username=$login_Username;
    $Password=$login_Password;
    $fldUserAuthorization = "";
    $redirectLoginSuccess = "espace.php?cat=bienvenue";
    $redirectLoginFailed = "deny.php";
    $redirecttoReferrer = false;
    mysql_select_db($database_client_data, $client_data);
    $LoginRS__query=sprintf("SELECT Username, Password FROM clients WHERE Username='%s' AND Password='%s'", get_magic_quotes_gpc() ? $Username : addslashes($Username), get_magic_quotes_gpc() ? $Password : addslashes($Password));
    $LoginRS = mysql_query($LoginRS__query, $client_data) or die('Erreur SQL ! acces.php>$LoginRS'.$SQLQuery.''.mysql_error());
    $row_LoginRS = mysql_fetch_assoc($LoginRS);
    $loginFoundUser = mysql_num_rows($LoginRS);

// alternative d'authentification
   
    /*
    mysql_select_db($database_client_data, $client_data);
    $query_ftp_client_data_Recordset = sprintf("SELECT * FROM clients WHERE Username = %s", GetSQLValueString($Username, "text"));
    $ftp_client_data_Recordset = mysql_query($query_ftp_client_data_Recordset, $client_data) or die(mysql_error());
    $row_ftp_client_data_Recordset = mysql_fetch_assoc($ftp_client_data_Recordset);
   
    if ($Username == $row_ftp_client_data_Recordset['Username'] && $Password == $row_ftp_client_data_Recordset['Password'])
    $loginFoundUser = "1";
    else $loginFoundUser = "0";
    */
   
    if ($loginFoundUser)
    {
        $loginStrGroup = "";
//declare three session variables and assign them
        $_SESSION['Client_Username'] = $Username;
        $_SESSION['Password'] = $Password;
        $_SESSION['UserGroup'] = $loginStrGroup;
       
        mysql_select_db($database_client_data, $client_data);
$query_client_data_Recordset = sprintf("SELECT code_client FROM clients WHERE Username = '%s'", get_magic_quotes_gpc() ? $Username : addslashes($Username));
    $client_data_Recordset = mysql_query($query_client_data_Recordset, $client_data) or die(mysql_error());
    $row_client_data_Recordset = mysql_fetch_assoc($client_data_Recordset);
    $totalRows_client_data_Recordset = mysql_num_rows($client_data_Recordset);
//declare code_client session variables and assign it       
        $_SESSION['code_client'] = $row_client_data_Recordset['code_client'];
        header("Location: " . $redirectLoginSuccess );
    }
    else
    {
        header("Location: ". $redirectLoginFailed );
    }
}
?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html40/strict.dtd">
<html><head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Atriumpc 2006">
<meta name="description" content="Atriumpc.com - D&eacute;pannage informatique &aacute;  domicile">
<meta name="keywords" content="d&eacute;panage, informatique, ordinateur, rennes, ille et vilaine, 35, service, prestation, maintenance, forfait">
<title>Atriumpc - Acc&egrave;s clients</title>
<link rel="stylesheet" type="text/css" media="screen" href="css/main.css">
<link rel="stylesheet" type="text/css" media="screen" href="colorschemes/colorscheme4/colorscheme.css">
<link rel="stylesheet" type="text/css" media="screen" href="css/style.css">
<link rel="stylesheet" type="text/css" href="css/sweetTitles.css">
<link rel="stylesheet" type="text/css" href="css/layers.css">
<!-- compliance patch for microsoft browsers -->
    <!--[if lt IE 7]><script src="/medias/patch/IE7/ie7-standard-p.js" type="text/javascript"></script><![endif]-->
<script type="text/javascript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function YY_checkform() { //v4.66
//copyright (c)1998,2002 Yaromat.com
  var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
  for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
    var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
      if (myReq&&myObj.value.length==0){addErr=true}
      if ((myV.length>0)&&(args[i+2]==1)){ //fromto
        var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==2)){
          var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
      } else if ((myV.length>0)&&(args[i+2]==3)){ // date
        var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
        if(myAt){
          var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
          var myDate=new Date(myY,myM,myD);
          if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
        }else{addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==4)){ // time
        var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
      } else if (myV.length>0&&args[i+2]==5){ // check this 2
            var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
            if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!myObj1.checked){addErr=true}
      } else if (myV.length>0&&args[i+2]==6){ // the same
            var myObj1 = MM_findObj(args[i+1]);
            if(myV!=myObj1.value){addErr=true}
      }
    } else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
          var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
          var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
      if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
      if (args[i+2]==2){
        var myDot=false;
        for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
        if(!myDot){myErr+='* ' +args[i+3]+'\n'}
      }
    } else if (myObj.type=='checkbox'){
      if(args[i+2]==1&&myObj.checked==false){addErr=true}
      if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
    } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
      if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else if (myObj.type=='textarea'){
      if(myV.length<args[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert('Les informations requises sont incomplètes ou contiennent des erreurs :\t\t\t\t\t\n\n'+myErr)}
  document.MM_returnValue = (myErr=='');
}
//-->
</script>
<style type="text/css">
<!--
#apDiv3 {
    position:absolute;
    width:499px;
    height:51px;
    z-index:1;
    left: 216px;
    top: 218px;
}
-->
</style>
</head>
<body id="main_body">

<div id="container"><div id="header">
<div class="Style2" id="key_visual">
  <div id="apDiv1">
    <div align="center"><a href="http://inscription.atriumpc.com" class="main_nav_item">Cr&eacute;er mon espace perso</a>        </div>
  </div>
  <div class="Style17" id="apDiv3">
    <div align="justify">Par le biais de cet espace, vous pourrez facilement modifier une partie des informations vous concernant en notre possession, modifier votre ou vos acc&egrave;s FTP ou bien encore &eacute;diter vos factures.</div>
  </div>
  <div id="apDiv2">
    <div align="right"><img src="images/logo-atrium-small.png" width="343" height="104"></div>
  </div>
</div>
<div id="logo" align="center">
    <span  class="Style27">Bienvenue dans votre espace personnel</span></div>
   </div><div id="main_container"><table width="737" bgcolor="transparent">
     <tr><td width="194" align="center" valign="middle" id="left_column"><div id="left_column_container" class="Style6"  align="justify">
         <div align="justify">Veuillez renseigner votre identifiant ainsi que votre mot de passe pour entrer dans votre espace. <br>
           Vous devez l'avoir pr&eacute;alablement cr&eacute;&eacute; en cliquant sur le lien
           au-dessus. <br>
           Ou avoir re&ccedil;u un mail notificatif  vous indiquant son activation.</div>
     </div></td><td width="100%" align="center" valign="middle" id="right_column"><div id="sub_container2">
     <div id="content_container" class="content">                            <p>&nbsp;</p>
                            <p>&nbsp;</p><p>&nbsp;</p>
           <form name="acces" method="POST" action="<?php echo $loginFormAction; ?>" onSubmit="YY_checkform('acces','Username','#q','0','Identifiant manquant.','Password','#q','0','Mot de passe manquant.');return document.MM_returnValue">

                            <table width="100%" border="0">
                                  <tr>
                                    <td width="44%"><div align="right" class="Style24">Votre identifiant :</div></td>
                                    <td width="56%"><p align="left" class="Style24">
                                      <input name="Username" type="text" size="20" maxlength="40">
                                    </p>                                    </td>
                                  </tr>
                                  <tr>
                                    <td><div align="right" class="Style24">Votre mot de passe :</div></td>
                                    <td><div align="left">
                                      <input name="Password" type="password" size="20" maxlength="20">
                                    </div></td>
                                  </tr>
                         </table>
<div align="center">
                              <p>&nbsp;</p>
                              <p>&nbsp;</p>
                              <p>
                                <input type="submit" name="Submit" value="Me connecter" style="cursor:hand;">
                              </p>
                  </div>
           </form>
            </div>
                            </div></td>
   </tr></table>
   </div>
<?php
require ("footer.php");
?>
</div>
</div>
<!-- wfxbuild / 1.0 / layout5-10 / 2006-11-17 17:06:48 CET--></body></html>

########################################

Merci à tous de votre support.

Amicalement



mardi 13 novembre 2007 à 00:31:51 | Re : probleme login/redirect avec IE mais pas avec FF

stooff

Petit rajout de derniere minute, je viens de m'appercevoir que cela serait un probleme de session server, voici le debut de la page incriminée :

<?php
if (!isset($_SESSION)){session_start();}
if(isset($_SESSION['Client_Username']))
{
    $actual_user = $_SESSION['Client_Username'];
}
else header("Location: deny.php");
$cat = $_GET["cat"];
?>

Donc le test de la variable session echoue sous IE mais pas FF, je ne comprend toujours pas le probleme mais cela vous aidera surement je l'espere.

Merci encore de votre soutient.

Amicalement
mardi 13 novembre 2007 à 12:48:53 | Re : probleme login/redirect avec IE mais pas avec FF

stooff

Réponse acceptée !
J'ai trouvé la solution, la voici pour ceux qui serait confronté au meme probleme.

"Une page contenant une frame qui redirige vers un autre site. IE n'acceptait pas les cookies de cet autre site et donc ne prenait pas en compte la session.

Pour résoudre ce problème, il faut indiquer à IE qu'il peut accepter les cookies sans problème.

Pour cela, il suffit d'ajouter la ligne suivante :

header('P3P: CP="CAO PSA OUR"');

en début de script sur le site pointé (attention, aucun caractère ne doit être envoyé avant cette ligne, y compris un espace ou un retour à la ligne). "

vu sur ce site : commentcamarche.net

Dsl pour ce poste peut etre posté de manière hative.


Cette discussion est classée dans : data, client, var, args, if


Répondre à ce message

Sujets en rapport avec ce message

sessions [ par rudybiss ] salut à tousje suis en train de programmer en php (je suis debutant) et en ce moment je suis sur les sessions,et j'ai voulu tester un code pris sur un page blache [ par flague ] class padl  {    var $HASH_KEY1 = 'KD2bInfMjl9XDOsjx5qXn5Ax66w8frQi6I8QCOta';    var $HASH_KEY2 = 'JZabr6I0aTYT6koV1a9D48zq90vXI1NKDYaqIQjx';    var $ ADODB_PAGER [ par daris ] Bonjour!J'utilise la class adodb_pager  de adodb .Suite à une requete , j'arrive à  afficher mon tableau avec la pagination.tout marche .Problème! J'a Fonction ajax remplacer contenu div : récupérer sélection [ par astuces_jeux ] Bonjour,J'ai créer un code ajax avec plusieurs liens. Exemple : quand on clike sur lien 1 : il affiche le contenu de la page lien1.htm et quand on cli SPIP, php et javascript soucis défilement informations [ par oceane751 ] bonjour (encore moi, oui je sais ;) )j'ai du code qui me permet de faire défiler des informations j'utilise : du phpdu spipdu javascript mon code Image de fond sur carte visite Outlook (Classe VCARD) [ par flopad ] Bonjour tout le monde,j'utilise la classe vcard c-dessous afin de permettre de télécharger les cartes de visites du personnel sur mon annuaire intrane probleme concaténation [ par devmouad ] j'ai  un problème quand j'exécute le code en rouge j'ai ni le résultat ni un message d'erreur:session_start();if (session_is_registered("authentificat id [ par Homeros ] Bonjour, je demande une si vous pouvez. ce que je suis entraine de fair c'est crée un site pour recrutement, dans la page "annonnce.php" j'ai fait p une erreur en PHP(besoin d'aide) [ par uniXbyte ] Bonsoir, je suis nouveau sur le forum et je suis un étudiant en informatique qui a commencé à étudier le javascript, css et html pourtant je n'ai pas Aide pour trier mes données [ par blackblade ] Hello Merci de bien vouloir aider un pur amateur !!! J'ai modifié une source trouvé sur le site pour un faire une sorte de fichier client chez nous. T


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales