MisterCpp
Messages postés3Date d'inscriptionvendredi 17 février 2012StatutMembreDernière intervention20 février 2012
-
17 févr. 2012 à 10:20
MisterCpp
Messages postés3Date d'inscriptionvendredi 17 février 2012StatutMembreDernière intervention20 février 2012
-
20 févr. 2012 à 09:18
Bonjour,
Je m'en remet à vous car j'ai épuisé toutes les possibilités que j'ai pu trouver sur les forums et autre..
J'ai développer un site vitrine basique en Php pour une entreprise avec inscription et connexion base de donnée mysql en local sur ma machine, le site fonctionne parfaitement.
Je le met donc sur le serveur fournis par l'entreprise en changeant les paramètres de connexion ... et la c'est le drame!
J'ai deux erreurs:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/.sites/51/site255/web/web-orange/pages/action/actionConnexion.php on line 19
Warning: Cannot modify header information - headers already sent by (output started at /home/.sites/51/site255/web/web-orange/pages/action/actionConnexion.php:19) in /home/.sites/51/site255/web/web-orange/pages/action/actionConnexion.php on line 29
Et voici mon fichier actionConnexion.php (sans les paramètres de connexion bien sur )appelé via un formulaire de connexion:
<?php
session_start();
//On ouvre une session on a donc toutes les variales de sessions déclarée lors de la connexion disponibles exemple : $_SESSION['connect']
$login=$_POST['nom'];
$mdp=MD5($_POST['passe']);
//Ouverture Connexion
$connexion=mysql_connect('...','...','...');
//Choisir Base de Données
$db=mysql_select_db('...',$connexion);
//Requête : On Compte le nombre d'utilisateur enregistré dans la base comportant le nom et le login passé dans le formulaire de connexion_membre.php
$sql="SELECT iD_USERS, COUNT(*) AS nb FROM utilisateurs WHERE nom='".$login."' AND mdp='".$mdp."'";
$resultat=mysql_query($sql);
$resultat2= mysql_fetch_array($resultat);
if($resultat2['nb']==1){ //Si un utilisateur est authentifié
$_SESSION['connect'] ="true"; //On en déclare deux : une pour vérifié l'authentification
$_SESSION['nom'] = $login; //Une pour stocker le nom de l'utilisateur connecté
$_SESSION['id_utilisateur'] = $resultat2['iD_USERS'];
}
mysql_close($connexion); //fermeture de la connexion mysql
//On se redirige vers l'index ou on pourra alors utiliser les variables ainsi déclarée
header("../../index.php");
?>
Ps: en précisant que j'ai déjà essayé d'enlever tous les espaces, le '@' devant le 'mysql_fetch_array' ne résout pas mon problème mais lève seulement l'affichage de l'erreur.
MisterCpp
Messages postés3Date d'inscriptionvendredi 17 février 2012StatutMembreDernière intervention20 février 20121 17 févr. 2012 à 10:28
Correction j'ai enlevé certain espace voila les vrai lignes d'erreur:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/.sites/51/site255/web/web-orange/pages/action/actionConnexion.php on line 13
Warning: Cannot modify header information - headers already sent by (output started at /home/.sites/51/site255/web/web-orange/pages/action/actionConnexion.php:13) in /home/.sites/51/site255/web/web-orange/pages/action/actionConnexion.php on line 21
lherblot
Messages postés18Date d'inscriptionmardi 11 octobre 2011StatutMembreDernière intervention17 février 20121 17 févr. 2012 à 15:46
Salut.
Alors, déjà, ta deuxième erreur vient de ta première : la fonction header() ne fonctionne que si aucun caractère n'a été envoyé. Et là ce n'est pas le cas puisqu'un message de Warning est envoyé. Donc si tu corriges l'erreur du fetch_array ça devrait résoudre la seconde erreur.
Pour le fetch_array. Essaie déjà de mettre ta ligne comme ça :
$sql="SELECT iD_USERS, COUNT(*) AS nb FROM utilisateurs WHERE nom='$login' AND mdp='$mdp'";
car les concaténations sont inutiles ici (tu utilises des ", autant t'en servir comme il faut : les variables sont interprétées à l'intérieur).
Sinon, ta requête a l'air correcte. Peut-être un problème sur le iD_USERS qui devrait peut-être être ID_USERS plutôt, non ?
Si ça ne vient pas de là, balance ta requête dans PhpMyAdmin ou ta console pour voir l'erreur renvoyée, ça peut aider.
Cheers !
-----------------------------------------
Loïc Herblot
Créateur de sites web pour professionnels
http://www.loicherblot.fr
Je suis ouvert aux propositions de partenariat professionnel avec d'autres développeurs web, des web designers, rédacteurs web