Probleme requete PDO avec apache et iss
cobra85
Messages postés
148
Statut
Membre
-
cobra85 Messages postés 148 Statut Membre -
cobra85 Messages postés 148 Statut Membre -
Bonjour,
Je suis en train de développer une petite messagerie et j'ai un gros souci avec mon code. J'utilise un serveur ISS 7, pour héberger mon site. Au départ j'avais coder sans POO/PDO et je testait avec Apache et tout marchait bien; dès que je l'ai installé sur ISS, certaines requête ne passait plus.
Je cherche surtout à sécurisé mes champs d'entrés.
Voici une partie du code (je sais c'est pas très propre):
Il me retourne requete invalide mais je n'arrive pas a savoir ce qui est faux !!
et le code ou je rentre mon objet:
Je suis obligé s'utiliser la PDO car un autre système tourne sur ISS et si je modifie le fichier php.ini en activant php_mysql, ce sernier ne fonctionne plus.
Merci
Sur php.ini j'ai d'activé:
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
Je suis en train de développer une petite messagerie et j'ai un gros souci avec mon code. J'utilise un serveur ISS 7, pour héberger mon site. Au départ j'avais coder sans POO/PDO et je testait avec Apache et tout marchait bien; dès que je l'ai installé sur ISS, certaines requête ne passait plus.
Je cherche surtout à sécurisé mes champs d'entrés.
Voici une partie du code (je sais c'est pas très propre):
//Si l'action de valider a été faite
if(isset($_POST["Valider"]))
{
$bdd = mysqli_connect($hostname, $username, $password, $database);
//$expediteur = htmlspecialchars(stripcslashes(trim($_POST["expediteur"])));
//$objet = htmlspecialchars(stripcslashes(trim($_POST["objet"])));
//$message =htmlspecialchars(stripcslashes($_POST["message"]));
$destinataire = $_POST["destinataire"];
$date = date("d-m-Y");
$objets=$_POST["objets"];
$messages=$_POST["messages"];
$objet=mysqli_real_escape_string($bdd,$objets);
$message=mysqli_real_escape_string($bdd,$messages);
//Vérification du formulaire
if(empty($objet))
{
echo'<div class="erreur"><a name="ok"></a>Vous n\'avez pas saisie d\'objet.</div>';
}
//Si tout est ok
else
{
//on se connecte à la base de données
include('messagerie_connexion.php');
$bdd = mysqli_connect($hostname, $username, $password, $database);
//mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
//on enregistre les données
$result = mysqli_query($bdd,"INSERT INTO message_e VALUES
(
'',
'$expediteur',
'$destinataire',
'$objet',
'$message',
'$date'
)"
);
Il me retourne requete invalide mais je n'arrive pas a savoir ce qui est faux !!
et le code ou je rentre mon objet:
<p><strong>Objet :</strong><br/>
<input name="objets" size="65" value="<?php
if (!empty($_POST["objets"]))
{
echo $_POST["objets"];
}
?>"
type="text"/></p>
Je suis obligé s'utiliser la PDO car un autre système tourne sur ISS et si je modifie le fichier php.ini en activant php_mysql, ce sernier ne fonctionne plus.
Merci
Sur php.ini j'ai d'activé:
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
A voir également:
- Probleme requete PDO avec apache et iss
- Apache open office gratuit - Télécharger - Suite bureautique
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Redemarrer apache ✓ - Forum Linux / Unix
- L'opérateur ou l'administrateur a refusé la requête ✓ - Forum Windows
4 réponses
Bonsoir
Tu dis que tu utilise PDO, mais en fait tu utilises mysqli... Ça n'est pas compatible.
D'ailleurs, on ne voit absolument aucun code PDO dans ce que tu montres. Où est-il ? Dans messagerie_connexion.php ? Si cet include fait réellement la connexion à la base de données, à quoi sert mysqli_connect ?
Pas cohérent, tout ça.
Tu dis que tu utilise PDO, mais en fait tu utilises mysqli... Ça n'est pas compatible.
D'ailleurs, on ne voit absolument aucun code PDO dans ce que tu montres. Où est-il ? Dans messagerie_connexion.php ? Si cet include fait réellement la connexion à la base de données, à quoi sert mysqli_connect ?
Pas cohérent, tout ça.
Bonjour,
En faite je pensais que PDO et mysqli etait le même language, cela explique bien des choses.
En faite j'ai rajouté mysqli_connect quand j'ai modifié mon code afin pouvoir l'utiliser sur ISS. Ceci dit la ligne ce trouve aussi dans messagerie_connection.php
En clair, il faudrait que je recode entièrement mon site avec un language PDO. Je suis pas couché !!!
En faite je pensais que PDO et mysqli etait le même language, cela explique bien des choses.
En faite j'ai rajouté mysqli_connect quand j'ai modifié mon code afin pouvoir l'utiliser sur ISS. Ceci dit la ligne ce trouve aussi dans messagerie_connection.php
En clair, il faudrait que je recode entièrement mon site avec un language PDO. Je suis pas couché !!!
PDO n'est pas un langage. C'est juste une interface différente de mysqli, mais le langage d'interrogation de la base de données reste le même, à savoir SQL dans sa variante mysql.
Je ne connais pas l'ISS 7 dont tu parles (ce ne serait pas plutôt IIS 7 ? Je ne connais pas non plus, remarque) mais ça m'étonne beaucoup qu'il t'impose PDO plutôt que mysqli ou l'inverse, c'est la cuisine interne de PHP. Deux scripts différents peuvent indifféremment utiliser l'un ou l'autre.
Je ne connais pas l'ISS 7 dont tu parles (ce ne serait pas plutôt IIS 7 ? Je ne connais pas non plus, remarque) mais ça m'étonne beaucoup qu'il t'impose PDO plutôt que mysqli ou l'inverse, c'est la cuisine interne de PHP. Deux scripts différents peuvent indifféremment utiliser l'un ou l'autre.
En effet, il s'agit de IIS 7.
L'application qui est déja installée ne fonctionne plus si je décommente php_mysql.dll dans le fichier php.ini. Ce qui est bizarre, deux type de language devrais pouvoir cohabiter ... Et comme il s'agit d'une application propriétaire, je ne peut pas toucher au code (qui est crypté en plus).
En principe que ce soit IIS ou apache, ce n'est que le support pour le site, donc le problème viendrais plus de PHP.
L'application qui est déja installée ne fonctionne plus si je décommente php_mysql.dll dans le fichier php.ini. Ce qui est bizarre, deux type de language devrais pouvoir cohabiter ... Et comme il s'agit d'une application propriétaire, je ne peut pas toucher au code (qui est crypté en plus).
En principe que ce soit IIS ou apache, ce n'est que le support pour le site, donc le problème viendrais plus de PHP.