Script PHP pour authentification

Fermé
termGSI - 10 mai 2012 à 09:13
Loader Messages postés 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 - 15 mai 2013 à 20:23
Bonjour, actuellement élève de terminale GSI, je dois faire évoluer une application web. J'ai donc essayer de créer une page web pour s'authentifier. Mais des tas d'erreurs s'affichent, donc : pourriez vous jeter un oeil et me dire ce qui ne va pas ?




<?php 

include("_gestionBase.inc.php");

// Connexion à la base de données
$connect=mysql_connect(localhost, florian, 1234) or die("erreur de connexion au serveur".mysql_error());

// Ouverture de la base de données "festival"
mysql_select_db("festival",$connect) or die("erreur de connexion à la base festival");

// Requete d'affichage des utilisateur
$requete="SELECT * FROM utilisateur";

// Éxecution de la requete (le jeux d'enregistrement $rs contient les résultats)
$rs=mysql_query($requete) or die("erreur dans la requête");

// Vérification de l'utilisateur
while ($rs == true)
{
	if ($rs=['id'] == $_POST["user"] and $rs=['mdp'] == $_POST["mdp"])
	{
		If($rs=['statut'] == etablissement 
		{
		echo "<a href="('menuEtablissement.php')"> Ouverture de la page menu établissement </a>"  
		}
		Elseif ($rs=['statut'] == MDA
		{
		echo "<a href="('menuMDA.php')">Ouverture de la page menu maison des associations </a>"
		}
	}
	Else
	{
		echo "<a href="('erreurConnexion.php')">Ouverture de la page d'erreur connexion </a>"
	}
}

// Fermeture de la base
mysql_close();
?>
A voir également:

4 réponses

Bonjour

Beaucoup trop d'erreurs pour les détailler une par une. Voici un corrigé (non vérifié) avec quelques commentaires.
Je suppose que ce script est appelé à partir d'un formulaire qui contient les champs 'user' et 'mdp'.
Si tu l'essayes, recopie les messages d'erreur (au moins les premiers s'il y en a beaucoup)

Bon courage !

<?php 

include("_gestionBase.inc.php");

// Connexion à la base de données
// attention aux "" autour des chaînes de caratères
$connect=mysql_connect("localhost", "florian", "1234") or die("erreur de connexion au serveur".mysql_error());

// Ouverture de la base de données "festival"
mysql_select_db("festival",$connect) or die("erreur de connexion à la base festival");

// Requete d'affichage des utilisateur
// Autant demander directement le bon !
$requete="SELECT * FROM utilisateur WHERE id=$_POST[user] AND mdp=$_POST[mdp]";

// Éxecution de la requete (le jeux d'enregistrement $rs contient les résultats)
$rs=mysql_query($requete) or die("erreur dans la requête");

// Vérification de l'utilisateur
if (mysql_num_rows ($rs)>0) {  /// s'il y en a au moins un
  $utilisateur = mysql_fetch_assoc($rs); // on récupère les infos du premier (il devrait d'ailleurs y en avoir un seul)

		If($utilisateur['statut'] == etablissement) // et non pas $rs=['statut'] et attention à refermer la parenthèse 
		{
		echo "<a href='menuEtablissement.php'> Ouverture de la page menu établissement </a>"; // attention au point-virgule et au href='...'
		}
		Elseif ($utilisateur['statut'] == 'MDA') // MDA entre ' ou "
		{
		echo "<a href='menuMDA.php'>Ouverture de la page menu maison des associations </a>";
		}
}
Else
{
		echo "<a href="('erreurConnexion.php')">Ouverture de la page d'erreur connexion </a>";
}


// Fermeture de la base
mysql_close();
?>
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
10 mai 2012 à 10:49
gg ^^
0
Il reste plusieurs erreurs..
== 'etablissement') // apostrophes autour de etablissement
<a href='erreurConnexion.php'> // la cible du href entre apostrophes, pas de (
0
Donc, voici ce que j'ai depuis mon précédent message, modifier :

<?php 

include("_gestionBase.inc.php");

// Connexion à la base de données
$connect=mysql_connect("localhost", "florian", "1234") or die("erreur de connexion au serveur".mysql_error());

// Ouverture de la base de données "festival"
mysql_select_db("festival",$connect) or die("erreur de connexion à la base festival");

// Requete d'affichage des utilisateur
$requete="SELECT * FROM utilisateur WHERE id=$_POST[user] AND mdp=$_POST[mdp]";

// Éxecution de la requete (le jeux d'enregistrement $rs contient les résultats)
$rs=mysql_query($requete) or die("erreur dans la requête");

// Vérification de l'utilisateur
if (mysql_num_rows ($rs)>0) // s'il y en a au moins un
{  
	$utilisateur = mysql_fetch_assoc($rs); // on récupére les infos du premier (il devrait d'ailleurs y en avoir un seul)

		If($utilisateur['statut'] == "etablissement") 
		{
			echo "<a href='menuEtablissement.php'> Ouverture de la page menu établissement </a>"; 
		}
		Elseif ($utilisateur['statut'] == "MDA") 
		{
			echo "<a href='menuMDA.php'>Ouverture de la page menu maison des associations </a>";
		}
}
Else
{
	echo "<a href='erreurConnexion.php'>Ouverture de la page d\'erreur connexion</a>";
}


// Fermeture de la base
mysql_close();
?>


Le message d'erreur qui s'affiche est "Erreur dans la requête", mais je ne vois pas ou elle se situe, vu que ma requête semble bonne ! (C'est ligne 12 !)
Merci d'avance pour votre aide :)
0
Il y a bien une erreur dans la requête...

supposons que le mot de passe entré soit 'toto'
La requête est "SELECT ..blabla.. WHERE mdp=toto"

MySQL (qui est très bête) ne sait pas si tu veux vérifier si le champ mdp contient toto ou si le champ toto contient mdp. En fait, dans ce cas, il croit que tu veux comparer le champ mdp et le champ toto.
Pour lui dire que l'un des deux désigne une valeur, il faut entourer la valeur d'apostrophes (inutile si c'est un nombre)
->
$requete="SELECT * FROM utilisateur WHERE id='$_POST[user]' AND mdp='$_POST[mdp]'"; 

Et c'est moi qui l'avais écrite cette erreur... Tu as le droit de me taper sur les doigts ^^
0
Au fait, si tu mettais mysql_error() dans le die(), tu aurais un message un peu plus explicite.
$rs=mysql_query($requete) or die(mysql_erro());
0
Salut j'ai crée une base de données sans mot de passe je foulais crée une page d'authentification quelqu'un peut m'aider ?
0
ta caremant un script pour inscription ?
0
Loader Messages postés 58 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 8 juillet 2013 4
15 mai 2013 à 20:23
Salut, pourrais-tu mettre ton Script en téléchargement S'il te plait ? : http;//loadheberg.fr/fichiers
0