0

我的目标是将 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]:消息:'=' 附近的语法不正确。(严重性 15)

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

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

有人可以帮助我吗?

问候

4

1 回答 1

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);

于 2013-09-30T08:55:28.140 回答