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épannage informatique á domicile">
<meta name="keywords" content="dépanage, informatique, ordinateur, rennes, ille et vilaine, 35, service, prestation, maintenance, forfait">
<title>Atriumpc - Accè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é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ès FTP ou bien encore é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éalablement créé en cliquant sur le lien
au-dessus. <br>
Ou avoir reç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> </p>
<p> </p><p> </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> </p>
<p> </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