Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/01/2012, 23h13   #1
Membre éclairé
 
Avatar de @rkane
 
Homme Patrick
developpeur amateur dans mon cadre professionnel
Inscription : juin 2006
Messages : 499
Détails du profil
Informations personnelles :
Nom : Homme Patrick
Âge : 52
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : developpeur amateur dans mon cadre professionnel
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 499
Points : 360
Points : 360
Par défaut Erreur d'acces espace membre

bonsoir à tous,

je démarre sur PHP, je viens de Access/VBA, ce que j'ai développé jusqu'à présent sous access aurait besoin de migrer vers SQL, j'ai donc décidé de m’atteler à le tache en partant de quasiment 0 à part quelques tutos.

voilà donc mon premier problème qui apparait lors du contrôle login/password dans le form de log avec ce message d'erreur :
Citation:
Erreur SQL :
SELECT Nom, Age, Sexe, Ville, Pwd FROM Utilisateurs WHERE nom = 'toto'
voici le code de login.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
// On démarre la session
session_start();
$loginOK = false;  // cf Astuce
 
// On n'effectue les traitement qu'à la condition que les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
 
  extract($_POST);  // je vous renvoie à la doc de cette fonction
 
  // On va chercher le mot de passe correspondant à ce login
  $sql = "SELECT Nom, Age, Sexe, Ville, Pwd FROM Utilisateurs WHERE nom = '".addslashes($login)."'";
  $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
 
  // On vérifie que l'utilisateur existe bien
  if (mysql_num_rows($req) > 0) {
     $data = mysql_fetch_assoc($req);
 
    // On vérifie que son mot de passe est correct
    if ($password == $data['pwd']) {
      $loginOK = true;
    }
  }
}
 
// Si le login a été validé on met les données en sessions
if ($loginOK) {
  $_SESSION['Nom'] = $data['Nom'];
  $_SESSION['Age'] = $data['Age'];
  $_SESSION['Sexe'] = $data['Sexe'];
  $_SESSION['Ville'] = $data['Ville'];
}
else {
  echo 'Une erreur est survenue, veuillez réessayer !';
}
?>
voici la structure de la table

Citation:
1 Id int(10) Non Aucune AUTO_INCREMENT
2 Nom varchar(20) latin1_swedish_ci Non Aucune
3 Age int(2) Non Aucune
4 Sexe text latin1_swedish_ci Non Aucune
5 Ville varchar(50) latin1_swedish_ci Non Aucune
6 Pwd varchar(10) latin1_swedish_ci Non Aucune
Quelqu'un aurait il la possibilité de m'aider ?

Merci d'avance
__________________

@rkane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 12h49   #2
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
Il faudrait afficher le contenu de mysql_error() immédiatement après l'échec de mysql_query().
De préférence utiliser aussi mysql_real_escape_string() au lieu de addslashes() pour l'échappement des variables dans la requête sql.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 11h33   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
Etant donné que tu as la requête fautive, tu peux essayer de la lancer directement dans phpMyAdmin (ou assimilé) pour voir si le problème est la requête ou autre chose.
Et sinon, je plussoie l'utilisation de mysql_error() (en dev seulement...)
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 11h58   #4
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 249
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 249
Points : 1 510
Points : 1 510
a tout hasard, tu te connect a ta base avant ?
mysql_connect();
mysql_select_db();
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h24.


 
 
 
 
Partenaires

Hébergement Web