Problème de controle de connexion

Eléphant du PHP | 95 Messages

31 mai 2006, 10:47

voila mon pb :
jdoi faire un site avc log et passwd, kan je clik sur le bouton connexion rien ne se passe:

proprietes.php :
<?
	// Adresse du serveur
	$serveur = "localhost";
	// Nom pour l'accès au serveur
	$utilisateurserveur = "root";
	// Mot de passe pour l'accès au serveur
	$mdpserveur = "resa";
?>
une partie de l'index:

Code : Tout sélectionner

<form id="formulaireconnexion" name="formulaireconnexion" method="post" action="file:///C|/Program%20Files/xampp/htdocs/resa/connecte.php"> <label></label> <!-- span: voir .css--> <p><span class="bodyText">Login :</span> <input name="identifiant" type="text" id="identifiant" /> </p> <p><span class="bodyText">Passe :</span> <input name="passwd" type="password" id="passwd" /> </p> <p> <label> <div align="center"> <!-- nom du bouton; type:sert a envoyer; class: voir .css; id:résultat; value:texte affiché; onclick: exécution de la fonction définie plus haut--> <input name="connexion" type="submit" class="subHeader" id="connexion" value="Connexion" onclick="javascript:connecter()" /> </div> </label> </p> </form>
d'où je dois arriver sur la page connecte.php :
<?
	if (isset($_POST["identifiant"]))
		{
		// Définition des variables de session à partir de identifiant et passe de la page index
		session_register("login");
		session_register("password");
		$_SESSION["login"] = $_POST["identifiant"];
		$_SESSION["password"] = $_POST["passwd"];
		$connexionreussie = true;
		}
	else
		{
		$connexionreussie = false;
		}
		
	if ($connexionreussie == true)
		{
		// Connexion à la base de données
		$connexion = mysql_connect($serveur,$utilisateurserveur,$mdpserveur) or die("impossible de se connecter");
		mysql_select_db("resadgac",$connexion) or die("peu pas se connecter a cette foutue base");
		// Fin de la connexion à la base de données
		// Requête de vérification de l'utilisateur et de son statut
		$requete = "select * from users,typeusers where login = '".$_SESSION["login"]."' and passwd = '".$_SESSION["password"]."' and typeuser = numtype;";
		// Fin de la requête de vérification de l'utilisateur et de son statut
		// Execution de la requête et comptage du nombre de résultat
		$resultat = mysql_query($requete,$connexion);
		$nbresultat = mysql_num_rows($resultat);
		// Fin de la requête et comptage du nombre de résultat
		if ($nbresultat != 0)
			{
// Le 'echo' qui suit a pour but d'afficher le menu
			echo ' 
// bon ben la c de l'html, normal
                                ';
// Si l'utilisateur est administrateur, affichage du bouton d'administration 
			$ligne = mysql_fetch_assoc($resultat);
			if ($ligne["nomtype"] == "Chef de Subdivision")
				echo '<tr><td width="165"><a href="administrer.php" class="navText">Administrer le système</a></td></tr>';
// Le 'echo' qui suit a pour but d'afficher la fin du menu
			echo '
// je passe sur la partie html
                                ';
			}
		else
			{
			// Renvoi vers l'index et indication par un message de l'erreur de navigation
			echo '<script>document.location = "index.php";alert ("Erreur dans le login ou bien le mot de passe");</script>';
			}
		}
	else
		{
		// Renvoi vers l'index et indication par un message de l'erreur de navigation
		echo '<script>document.location = "index.php";alert ("Erreur dans le login ou alors le mot de passe");</script>';
		}
?>

</body>
</html>
Merci beaucoup de votre aide, je ne vois pas ce que j'ai oublié ou mal fait, merci de me corriger

Mammouth du PHP | 1353 Messages

31 mai 2006, 10:49

Titre peu explicite, regarde les règles du forum...

Code : Tout sélectionner

<input name="connexion" type="submit" class="subHeader" id="connexion" value="Connexion" onclick="javascript:connecter()" />

Si tu n as pas créer la fonction connecter() c'est normal que rien ne se passe. Pour que ton formulaire t amène à la page spécifier dans le "action=" il suffit de mettre :

Code : Tout sélectionner

<input name="connexion" type="submit" class="subHeader" id="connexion" value="Connexion"/>

Avatar du membre
ViPHP
ViPHP | 3008 Messages

31 mai 2006, 10:51

Code : Tout sélectionner

<form id="formulaireconnexion" name="formulaireconnexion" method="post" action="resa/connecte.php">
Le chemin sans tes C:....etc serait mieux je pense...

J'ai laissé resa mais si c'est au même niveau, à enlever aussi.

Eléphant du PHP | 95 Messages

31 mai 2006, 11:03

Titre peu explicite, regarde les règles du forum...
ok, dsl, c la première fois ke jviens

Code : Tout sélectionner

<input name="connexion" type="submit" class="subHeader" id="connexion" value="Connexion" onclick="javascript:connecter()" />
Si tu n as pas créer la fonction connecter() c'est normal que rien ne se passe. Pour que ton formulaire t amène à la page spécifier dans le "action=" il suffit de mettre :

Code : Tout sélectionner

<input name="connexion" type="submit" class="subHeader" id="connexion" value="Connexion"/>
j'avai oublié de la préciser :

Code : Tout sélectionner

<script> function connecter() { if (document.formulaireconnexion.identifiant.value == "" || document.formulaireconnexion.passwd.value == "") { alert ("Vous n'avez pas entré votre identifiant ou votre mot de passe ! Veuillez complétez vos informations et tentez de vous reconnecter."); document.formulaireconnexion.action = "index.php"; } } </script>

Avatar du membre
ViPHP
ViPHP | 3008 Messages

31 mai 2006, 11:05

Code : Tout sélectionner

<form id="formulaireconnexion" name="formulaireconnexion" method="post" action="resa/connecte.php">
Le chemin sans tes C:....etc serait mieux je pense...

J'ai laissé resa mais si c'est au même niveau, à enlever aussi.
Tu as fait cette modif ? J'ai pas encore lu le reste du code.

Eléphant du PHP | 95 Messages

31 mai 2006, 11:06

Code : Tout sélectionner

<form id="formulaireconnexion" name="formulaireconnexion" method="post" action="resa/connecte.php">
Le chemin sans tes C:....etc serait mieux je pense...

J'ai laissé resa mais si c'est au même niveau, à enlever aussi.
ok jvai changer sa déja, mm si je pense ke c ptet au niveau de la connexion a la base, nn?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

31 mai 2006, 11:07

Fait déjà ça et on avisera plus loin si ça ne fonctionne pas ;)

Et tu as une page proprietes.php, que je ne vois pas incluses dans connecte.php. C'est normal ?

Et autre chose...le SMS est interdit sur ce forum, fait un effort ;)
Modifié en dernier par charabia le 31 mai 2006, 11:13, modifié 1 fois.

Eléphant du PHP | 95 Messages

31 mai 2006, 11:13

ok, promis, je n'écrirait plus en abrégé et avec d fôtes d'or t'eau graffe ^^
modifications réalisées, aucun changement... sniff (je n'aurais jamais dû m'embarquer dans cette histoire de php ^^)
Modifié en dernier par Ben-J le 31 mai 2006, 11:18, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mai 2006, 11:16

Qu'est ce qui se passe précisement ? as tu des messages d'alertes ? d'erreur ? es-tu bien redirigé vers la page de connexion ? est-ce javascript qui pose problème ou php ? Que fait la fonction connecter() ? :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

31 mai 2006, 11:18

modération : Juste pour completer ce qui a été dit plus haut, je te conseille de parcourir les réglements du forum, ca t'éviteras de te faire encore rappeller à l'ordre ;)

Sinon, j'ai modifié le titre de ton message pour lui donner un titre plus explicite et je modifie tes message pour entourer le code par des balise
, mais pense-y toi même, merci :pouce:[/color]
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 95 Messages

31 mai 2006, 11:20

Qu'est ce qui se passe précisement ? as tu des messages d'alertes ? d'erreur ? es-tu bien redirigé vers la page de connexion ? est-ce javascript qui pose problème ou php ? Que fait la fonction connecter() ? :)
non, je n'ai simplement rien qui ce passe lors du click sous firefox et la page code en php qui s'affiche sous IE
je c pas d'où vient le pb
ma fonction connecter:

Code : Tout sélectionner

<script> function connecter() { if (document.formulaireconnexion.identifiant.value == "" || document.formulaireconnexion.passwd.value == "") { alert ("Vous n'avez pas entré votre identifiant ou votre mot de passe ! Veuillez complétez vos informations et tentez de vous reconnecter."); document.formulaireconnexion.action = "index.php"; } } </script>
mais celle la marche, c juste quand on tape qqch, rien, alors qu'il devrait se connecter avec le login/passwd de la base resadgac

Eléphant du PHP | 95 Messages

31 mai 2006, 11:26

modération : Juste pour completer ce qui a été dit plus haut, je te conseille de parcourir les réglements du forum, ca t'éviteras de te faire encore rappeller à l'ordre ;)

Sinon, j'ai modifié le titre de ton message pour lui donner un titre plus explicite et je modifie tes message pour entourer le code par des balise
, mais pense-y toi même, merci :pouce:[/color][/quote]
promis, je ferai des efforts ^^ (au fait, c un lien mort...)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

31 mai 2006, 11:27

A tester
<?php
if (isset($_POST["identifiant"]))
{
	// Définition des variables de session à partir de identifiant et passe de la page index
	$_SESSION["login"] = $_POST["identifiant"];
	$_SESSION["password"] = $_POST["passwd"];
	// Connexion à la base de données
	// Adresse du serveur 
	$serveur = "localhost"; 
	// Nom pour l'accès au serveur 
	$utilisateurserveur = "root"; 
	// Mot de passe pour l'accès au serveur 
	$mdpserveur = "resa"; 
	
	mysql_connect($serveur,$utilisateurserveur,$mdpserveur) or die("impossible de se connecter"); 
	mysql_select_db("resadgac") or die("peu pas se connecter a cette foutue base"); 
	// Fin de la connexion à la base de données 
	// Requête de vérification de l'utilisateur et de son statut 
	$requete = "SELECT * FROM users,typeusers WHERE login = '".$_SESSION["login"]."' AND passwd = '".$_SESSION["password"]."' AND typeuser = numtype";
	// Fin de la requête de vérification de l'utilisateur et de son statut 
	// Execution de la requête et comptage du nombre de résultat 
	$resultat = mysql_query($requete,$connexion);
	$nbresultat = mysql_num_rows($resultat);
	// Fin de la requête et comptage du nombre de résultat 
	if ($nbresultat != 0)
	{
		echo 'html';
		// Si l'utilisateur est administrateur, affichage du bouton d'administration 
		$ligne = mysql_fetch_assoc($resultat); 
		if ($ligne["nomtype"] == "Chef de Subdivision")
		echo '<tr><td width="165"><a href="administrer.php" class="navText">Administrer le système</a></td></tr>';
		echo 'html';
	}
	else
	{
		// Renvoi vers l'index et indication par un message de l'erreur de navigation 
		echo '<script type="text/javascript">document.location = "index.php";alert ("Erreur dans le login ou bien le mot de passe");</script>'; 
	}
}
else
{
	echo '<script>document.location = "index.php";alert ("Erreur dans le login ou alors le mot de passe");</script>';
}
?> 
Sinon tu continues avec le SMS...faudra te menotter attention lol

Eléphant du PHP | 95 Messages

31 mai 2006, 11:36

cool, merci beaucoup! maintenant j'ai le message de l'avant dernier echo,
"Erreur dans le login ou bien le mot de passe"
pourtant le login/passwd que j'utilise est bien dans la base
Modifié en dernier par Ben-J le 31 mai 2006, 11:39, modifié 1 fois.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

31 mai 2006, 11:38

Dans ce cas vérifies ta requête et testes là directement sous phpMyAdmin pour voir s'il te donne un résultat ou pas.