Script de connexion [Résolu]

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script de connexion [Résolu]

Re: Script de connexion

par Carole54 » 25 oct. 2011, 16:03

Je sais, mon code pique un peu les yeux parfois, je ne le rend présentable qu'une fois qu'il fonctionne (je sais, c'est pas malin mais une habitude, même bête, reste une habitude).
Quoiqu'il en soit, après quelque correction dans le nom des variables, le code que vous m'avez fournit fonctionne !
 

	// Pour savoir ce qui passe dans le POST
		print_r($_POST);

// Connexion a la base de donnée
	$base = mysql_connect('localhost','root','') or die("erreur de connexion".mysql_error());
	mysql_select_db("creapart",$base) or die("erreur de connexion à la base");

// Requete pour obtenir les infos de l'utilisateur      
	$sql = "SELECT `courrielutil`, `mdputil` FROM `utilisateur` WHERE `courrielutil` = '".$_POST['COUR']."' AND `Mdputil` = '".$_POST['MOTPASSE']."'";
	$utilisateur = mysql_query($sql, $base)or die( mysql_error());
	$num = mysql_num_rows($utilisateur); // On compte le nombre de resultat
		if($num == 1) 
		{
			echo "C'est bon !";
		} 
		else 
		{
			echo "Erreur de connexion";
		}
?> 


Je m'étais juste compliqué l'existence en fin de compte... Merci beaucoup !

Re: Script de connexion

par Elie » 25 oct. 2011, 15:51

Décidement personne ne code de la meme maniere.

Déjà évitons les majuscules dans les nom de variables ou dans les nom des champs.
Mettre des ` ` pour delimiter facilement les champs.

Dans ta premiere requete le nom de ta table était en majuscule et pas l'autre. Bizarre !

Voici un truc qui pourrait être bon :
// Pour savoir ce qui passe dans le POST
print_r($_POST);

// Connexion a la base de donnée
$base = mysql_connect('localhost','root','') or die("erreur de connexion".mysql_error());
mysql_select_db("creapart",$Base) or die("erreur de connexion à la base");

// Requete pour obtenir les infos de l'utilisateur      
$sql = "SELECT `courrielutil`, `mdputil` FROM `utilisateur` WHERE `courrielutil` = '".$_POST['COUR']."' AND `Mdputil` = '".$_POST['MOTPASSE']."'";
$utilisateur = mysql_query($sql, $base)or die( mysql_error());
$num = mysql_num_rows($req); // On compte le nombre de resultat
if($num == 1) {
	echo "C'est bon !";
} else {
	echo "Erreur de connexion";
}

Script de connexion [Résolu]

par Carole54 » 25 oct. 2011, 15:45

Bonjour ! Je suis en B.T.S. Informatique de Gestion deuxième année, option D.A. *installation du décors*
Dans le cadre d'une P.T.I., j'ai à réaliser un site 'marchand' en php seulement voilà, je suis embêtée par un tout petit IF de rien du tout (normalement TT) lors de la connexion d'un membre.
Cette condition ne rentre jamais dans le cas = "Bon mot de passe", "bon courriel/identifiant".
//Connexion a la base de donnée
        $Base=mysql_connect('localhost','root','')or die("erreur de connexion".mysql_error());
	mysql_select_db("creapart",$Base) or die("erreur de connexion à la base");

//Requete pour obtenir les infos de l'utilisateur	
	$UTIL = "SELECT courrielutil, mdputil FROM UTILISATEUR WHERE courrielutil =\"".$_POST['COUR']."\" AND Mdputil =\"".$_POST['MOTPASSE']."\";";
	$Utilisateur=mysql_query($UTIL, $Base)or die( mysql_error());

//requete pour voir si un utilisateur avec ce courriel et ce mot de passe existe	
	$REQ ="SELECT COUNT(*) as Nombre FROM utilisateur WHERE courrielutil =\"".$_POST['COUR']."\" AND Mdputil =\"".$_POST['MOTPASSE']."\";";
	$UtilExist=mysql_query($REQ, $Base)or die( mysql_error());

// Conditionnelle emmerdante
//Si l'utilisateur existe
	if( ($UtilExist != 0) ) 
	{
               //Si le mot de passe et le courriel correspondent
		if ( ($_POST['COUR']==$Utilisateur['courrielutil']) && ($_POST['MOTPASSE']==$Utilisateur['mdputil']) )
		{
               // alors la session est ouverte, l'utilisateur connecté
			$_SESSION['connecter'] = true;
			$_SESSION['COUR'] = $_POST['COUR'];
			echo "<h3>Vous êtes connecté !</h3> </br>Vous pouvez commencer votre selection parmis nos produits.</br></br>";
		}
		else
		{
                 // Sinon, réaffichage du formulaire de connexion et petit message d'erreur
			echo "<h3>Erreur !</h3> </br> Mot de passe ou courriel incorrect. </br>";

			echo "<form method='POST' action='connexion.php'>
				<center><table cellpadding=10 frame=border border=5>
					</br><td><table>
					 <td>Courriel </td><td><input type='text' style='width: 200px; height: 20px;' name='COUR' /></td></tr>
					
					<td>Mot de passe </td><td><input type='PASSWORD' style='width: 200px; height: 20px;' name='MOTPASSE' /></td></tr>
					<tr><td></td></tr>
					<tr><td colspan=2><p align=right> <input type='submit' style='width: 200px; height: 25px;' value='Connexion' title='connectez-vous'/></p></td></tr></table>
				</td></table></center>
				</form>";
		}
	}
	// si l'utilisateur n'existe pas, pas de connexion
       else
	{
		$_SESSION['connecter'] = false;
	} 

Je suis sure que ce n'est qu'une toute petite étourderie. En tout cas, merci d'avance pour votre aide et votre temps ! :)