查询仅在IE浏览器上失败

时间:2013-09-29 15:26:35

标签: php sql-server apache request

我的目标是将PHP应用程序从Windows Server 2000 - SQL Server 2005 - Apache 2.2迁移到带有Windows Server 2012的新服务器 - SQL Server 2012 - Apache 2.2。

在新服务器上,我安装并配置了SQL Server 2012 - Apache 2.2和PHP 5.2.9。

我在新服务器上复制了应用程序和数据库。

不幸的是,该应用程序无法与Internet Explorer一起使用。我无法访问我的应用程序帐户,因为它在登录表单上失败了。它适用于Firefox和Chrome。

我可以阅读Apache日志:PHP警告:mssql_query()[function.mssql-query]:message:'='附近的语法不正确。 (严重程度15)

我在PHP 5.4和Apache 2.4下使用ODBC库来处理请求。我再次遇到与Internet Explorer相同的错误。

在旧服务器上,应用程序可以正常使用IE7-8-9-10。

有人可以帮助我吗?

此致

1 个答案:

答案 0 :(得分:0)

我没有使用JQuery,登录表单中的数据被传递到$ _POST到另一个页面。 日志刚刚失败,它不认识我。

这是表格

<fieldset class="fld_type" style="width:80%;">
<legend class="lgd_style">Connexion - Inscription</legend>
<table align="center">
<?php if(!empty($erreur)){ ?>
<tr>
<td align="right" colspan="3" style="color:red; font-size:14px;" ><?php echo $erreur; ?></td>
</tr>
<?php } ?> 
<tr><td>&nbsp;</td></tr>
<tr>
<td rowspan="4"><img style="height:90px;" src="images/connect.png" alt="Authentification" /></td>
<td class="right"><b>N&ordm; Pan&eacute;liste (identifiant):</b></td>
<td><input style="border:1px solid #0075bc;" onFocus="modif_champs(this);" onBlur="default_champs(this);" type="text" id="txt_login" name="txt_login" /></td>
</tr>
<tr>
<td class="right"><b>Mot de passe :</b></td>
<td><input style="border:1px solid #0075bc;" onFocus="modif_champs(this);" onBlur="default_champs(this);" type="password" id="txt_mdp" name="txt_mdp" /></td>
</tr>
<tr>
<td></td>
<td><a class="strong" href="#MDPOublie" onClick="$('formMDPOublie').appear();Effect.ScrollTo('MDPOublie'); return false;" >Mot de passe oublié ?</a></td>
</tr>
<tr>
<td></td>
<td>
<!--<input onClick="verifLoginMDP(this.form);" type="button" value="Se connecter" id="btn_valider" name="btn_valider" class="btn_style" />-->
<input type="submit" value="Se connecter" id="btn_valider" name="btn_valider" class="btn_style" />
</td>
</tr>
<tr><td colspan="3"><hr style="color:white;" /></td></tr>
</table>
<table align="center">
<tr>
<td align="right"><a href="questionnaire_consommation/form_inscriptionPaneliste.php"><img style="height:40px; width:40px; " src="images/addP2.png" alt="Nouveau ?" /></a></td>
<td><a class="strong" href="questionnaire_consommation/form_inscriptionPaneliste.php">Vous n'&ecirc;tes pas encore inscrit ?</a></td>
</tr>
</table>
</fieldset>

这是处理登录的PHP代码

if(isset($_POST['txt_login']) AND isset($_POST['txt_mdp'])){
    $login = Securite::bdd($_POST['txt_login']);
    $mdp = md5($_POST['txt_mdp']); // cryptage du mot de passe
    $erreur = "";

    /* Verification de l'utilisateur
     *********************************/      
    $requeteVerif = "SELECT COUNT(*) FROM paneliste WHERE PANELISTE_LOGIN = '" . $login . "' AND PANELISTE_MDP = '" . $mdp . "'";
    $stmtVerif = ExecRequete($requeteVerif, Connexion());
    $donneesVerif = ObjetSuivant($stmtVerif);

    if($donneesVerif[0] == 0){
    //Le paneliste n'est pas referencé dans la base de données
        $erreur = "Les identifiants de connexion sont incorrects !";
    }else{  
        $requeteIDPaneliste = "SELECT PANELISTE_ID, PANELISTE_TYPE, PANELISTE_DATENAISS, SITE_ID FROM paneliste WHERE PANELISTE_LOGIN = '" . $login . "' AND PANELISTE_MDP = '" . $mdp . "'";
        $stmtIDPaneliste = ExecRequete($requeteIDPaneliste, Connexion());
        $IDPaneliste = ObjetSuivant($stmtIDPaneliste);
        $_SESSION['id_paneliste'] = $IDPaneliste[0];
        $_SESSION['site_id'] = $IDPaneliste[3];
        $_SESSION['type_user'] =  $IDPaneliste[1];
        $_SESSION['type_questionnaire'] = getTypeQuestionnaire($IDPaneliste[2]);

        // Correction de l'erreur #90 : Des références au site de Vandoeuvre (e-mail et téléphone) apparaissent quelque soit le site de rattachement du panéliste.
        // A la connexion, on enregistre donc ces valeurs en session.
        $siteInfo = recupererSiteInfo($_SESSION['id_paneliste']);
        $_SESSION['site_admin_nom'] = $siteInfo['SITE_ADMIN_NOM'];
        $_SESSION['site_admin_prenom'] = $siteInfo['SITE_ADMIN_PRENOM'];
        $_SESSION['site_tel'] = $siteInfo['SITE_TEL'];
        $_SESSION['site_email'] = $siteInfo['SITE_EMAIL'];
        $_SESSION['site_horaires'] = $siteInfo['SITE_HORAIRES'];

        // Correction de l'erreur #132 : Certains panélistes ne peuvent accéder au site, car la variable de session est effacée après une redirection par header().
        session_write_close();

        header("Location: /partie_paneliste/accueil_paneliste.php");    
    }
}

    afficheEnTete("Espace de Connexion", "");

这是执行查询的php代码     

// Execution d'une requête SQL
function ExecRequete($requete, $connexion){

    $resultat = mssql_query($requete, $connexion);

    if($resultat){
        return $resultat;
    }
    else{
        echo "<b>Erreur dans l'execution de la requete '$requete' .</b>";
        exit;
    }
} // Fin de la fonction ExecRequete

//Recherche de l'objet suivant
function ObjetSuivant($resultat){
    return mssql_fetch_array($resultat);
}

//Recherche de la ligne suivante (retourne un tableau)
function LigneSuivante($resultat){
    return mssql_fetch_assoc($resultat);
}

// Correction de l'erreur #187 : Erreur SQL lors de la mise à jour des fréquences de consommation.
// Nombre d'enregistrements trouvés
function Nombre($resultat){
    return mssql_num_rows($resultat);
}

?>

它在$resultat = mssql_query($requete, $connexion);

行失败