Authentification html bdd

Résolu
phoneutria Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour/bonsoir !

j'ai un petit soucis en fait, je dois créer une page d'authentification qui va "pêcher" ses infos dans une base de données, jusque là pas de soucis.... lorsqu'un utilisateur enregistré se log il rentre parfaitement, lorsqu'il fait une faute il est redirigé ailleur...donc voici mon soucis.... il suffit de ne mettre ni identifiant ni mot de passe pour passer....

Je n'y connais pas grand chose pour être franc, c'est pour un projet de stage et mon chef m'a mit au défi de réussir un projet dans lequel je n'y connaissais strictement rien)

voici la partie du code qui pose problème, pourriez vous me dire ce que vous en pensez?

if(isset($_POST["userform"])) $userform=strtoupper($_POST["userform"]);
else $userform="noname";
if(isset($_POST["passform"])) $passform=$_POST["passform"];
else $passform="nopass";

6 réponses

a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
Salut, en PHP, personnellement, je réfléchis sur Papier.

Donc en gros, tu veux faire un espace membre.

Donc, déjà, on va récupérer ce que l'utilisateur à rentré dans le champs PSEUDO et PASS

pour ça on aura :
$pseudo = $_POST['userform'] ;
$pass = $POST['passform'] ;


Ensuite, on va vérifier que ces champs existent et s'ils ne sont pas vides.
On aura :
if ( isset($pseudo) AND isset($pass)) 
{
if ($pseudo != NULL AND $pass != NULL)
{

ICI, tu feras ta requête qui vérifiera si le membre existe et que le pass correspond au membre. Si oui, il peut entrer sur le site.

Et n'oublie pas ensuite de fermer les deux IF qu'on a ouert plus haut:
}
}


Cordialement
3
phoneutria Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
MEEEEEERCCCIIIIIIIIII : P

je test de suite!
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
Bon je viens de voir que je n'ai pas protégé les $_POST
Donc n'importe qui pourrait entrer du code HTML ou un requête SQL

Si ça t'intérrèsse, pour sécuriser un champs d'un formulaire, lors de la redéfinition de tes variables, rajoute la fonction
mysql_real_escape_string ET
htmlspecialchars

On aura donc :


$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['userform'])) ;
$pass = mysql_real_escape_string(htmlspecialchars($POST['passform'])) ;


Cordialement
0
phoneutria Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup à toi mais j'ai fais une gaffe apparemment car ça ne va pas ^^".

Voici ma page, peux tu y jeter un oeil lorsque tu as le temps?

<?php
require("password.inc");

$pseudo = $_POST['userform'];
$pass = $_POST['passform'];

if ( isset($pseudo) AND isset($pass)) 
{
if ($pseudo != NULL AND $pass != NULL)
{
if(isset($_POST["userform"])) $userform=strtoupper($_POST["userform"]);
if(isset($_POST["passform"])) $passform=$_POST["passform"];
}
   }

$conn = mysql_connect ($host, $user, $pwd);
mysql_select_db ($database, $conn);

// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT * FROM utilisateurs WHERE nom="'.$pseudo.'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

$data = mysql_fetch_assoc($req);

    // verification du mot de passe entré
if($data['password']==$pass)
	
{
	
	echo '
			<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
		<head><style type="text/css">
			p.double {border-style:double;}
			</style>

 

       <title>Caméra. police domaniale.</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		
		</head>

		<body>
		<h1><center><p class="double">test camera</p></center></h1>
		<a href="#" onClick="window.open(\'test.html\',\'_blank\',\'toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=1, copyhistory=0, menuBar=0, width=330, height=250\');return(false)"><center>test</center></a> 

		</body>
			</html>
	
	';
}

else
	{echo '
	<center>Le mot de passe ou identifiant n\'est pas reconnu! Veuillez vérifier l\'orthographe.<br><br>
	<input type="button" name="lien1" value="Réessayer" onclick="self.location.href=\'index.php\'" style="background-color:#c0c0c0" style="color:black; font-weight:bold"onclick> 
	</center>'; 
	}
   
mysql_close();
?>


oups ça fait un peu grand je crois ... Je me suis perdu quelque part mais je ne sais pas où...comme dit plus haut, je n'y connais rien (ou presque) : /
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
C'est dans les deux IF que j'ai fait, tu as collé ce que tu avaais avant et ce que je t'ai corrigé.

Dans les deux if que je t'ai donné, il faut que tu mettes te requête SQL
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phoneutria Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
>TILT<

Compris !

Désolé il a fallut le temps, ça fonctionne ; )

encore merci.
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
Derien :)

Mets ton post en résolu :)

Cordialement
a70m
0