IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Erreur mysql de variables inconnues


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 150
    Points
    150
    Par défaut Erreur mysql de variables inconnues
    Bonjour à tous....

    J'essaie depuis un moment de tester un script d'authentification, mais je ne parvient pas, sur signalement d'erreur SQL, à trouver la solution au problème. Il me signale aux lignes 2 et 3 du code ci-dessous Undefined index sur les variables Identifiant et Password qui pourtant existent bien dans la table.

    Ca n'est tout de même qu'une bête affectation.... Je ne comprends pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    <?php
     
    	//include ("fonc2.php");
    	$user = $_POST['Identifiant'];
    	$pass = $_POST['Password'];
     
    	if ((!IsSet($user))||(!IsSet($pass))){							/*Pas de pseudo saisi*/
    		$user="moi";
    		$pass="";		
    		/*On donne ici, les accès de consultation uniquement*/
    		?>
    		<HTML>
    			<HEAD>
    				<TITLE>Connection</TITLE>
    				<META http-equiv="Content-Language" content="fr">
    				<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
    			</HEAD>
     
    			<BODY bottommargin="0" topmargin="20" leftmargin="20" rightmargin="0">
     
    			<B>Titre </B><BR><BR>
    			<FORM name="index2" method="post" action="index2.php">
    				Identifiant : <input type = "text" name="Identifiant"/><br/>
    				Mot de passe : <input type = "text" name="Password"/><br/>
    				<input type="submit" name="valider" value="Connection">
    			</FORM>
    		<?php
    		include "consultation.php";
    	}else{															/*Pseudo saisi*/
    		/*Connexion MySql */
    		$mysql = mysql_connect("localhost","$user","$pass");
    		if (!$mysql){
    			echo "Imposible de se connecter à la base.";
    			exit;
    		}
    		/* Choix de la base */
    		$base = mysql_select_db($mysql, "Gestion2");
    		if (!$base){
    			echo "Imposible de trouver la base.";
    			exit;			
    		}
    		/*Interrogation de la base */
     
    		echo $user;
    		$rq= "SELECT * FROM utilisateur WHERE
    		user ='". Identifiant ."' and pass='". Password ."'";
     
    		$resultat=mysql_query($mysql,$rq) or die("erreur MySQL :" .mysql_error());
    		$nombre=mysql_num_rows($resultat);
    		$enreg=mysql_fetch_array($resultat);
    		$n_district=$enreg["N0_District"];
     
    		if ($nombre>0){
    			//Combinaison user/pass correcte
    			echo "<H>Bienvenue. </H1>
    			<P>Accès en modification de données.</P>";
    			include "modif.php";
    		}else{
    			//La combinaison user/pass est incorrecte
    			echo "<H>accès restreint. </H1>
    			<P>Vous ne pourrez que consulter les données.</P>";
    			include "consultation.php";
    		}
    	}	
    ?>
    Pourriez-vous me dépanner ?

    Merci beaucoup d'avance.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Tu confonds les string de connexion à ta base de données avec les users qui pourrais se trouvé dans tes tables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mysql = mysql_connect("localhost","$user","$pass");
    Ici, tu dois passer en paramètres l'utilisateur de ta base de données et non pes ceux qui pourrais utiliser ton appli.

  3. #3
    Membre habitué
    Femme Profil pro
    Développeur informatique et création d'images animées et fixes de synthèse
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique et création d'images animées et fixes de synthèse
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 150
    Points
    150
    Par défaut
    Bonjour et merci MaitrePylos....

    Tu veux dire qu'il faut passer l'identifiant admin et son mot de passe en dur dans ce code ? Il faudra donc ensuite que je créé un nouveau script pour la connection des utilisateurs?

    J'ai récupéré ce code dans un bouquin d'aide au PHP que je trouve franchement pas bien explicite, alors, si tu veux bien m'excuser, alors je suis largement pommé dans ces gestions de sessions.

    Où faudra t'il donc par rapport à çà, que je récupère ce coup-ci les identifiants et mot des passes des utilisateurs autorisés ?

    Merci beaucoup pour ta réponse...

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    1) apprend à te connecter à MySQL (en utilisant MySQLi ).
    2) Essaye de retourner quelque ligne d'une de tes tables.

    Quand tu sauras faire les deux, tu y verra plus clair dans ton.

    La FAQ PHP de ce Forum te seras très utlile, puisque les réponses s'y toruvent.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/04/2015, 12h04
  2. Réponses: 1
    Dernier message: 05/04/2011, 12h02
  3. avoir les log d'erreur mysql
    Par simoryl dans le forum Administration
    Réponses: 4
    Dernier message: 06/09/2005, 14h24
  4. Treeview : Erreur "Reference to variable or parameter..
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 4
    Dernier message: 06/05/2003, 11h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo