authentification

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 : authentification

Re: authentification

par fnk_west » 06 août 2014, 23:53

Bah j'étais complètement à côté .. merci je vais corriger mes erreurs & tester.


- EDIT -
Merci ça marche, il me manquait aussi une ligne que j'avais passer en commantaire et un autre bout de code que j'avais mis de côté.
Maintenant ça fonctionne correctement.
Je te remercie pour ton aide, maintenant je peux retourner bosser tranquillement.

A bientôt. :)

Re: authentification

par Cyrano » 06 août 2014, 23:48

Ben non : et je voulais être sûr de ta réponse avant de t'indiquer que cette ligne ne fait... rien du tout.

Traduit en pseudo langage, on pourrait dire :
- SI $row['type_droit'] VAUT 'administrateur' ALORS $_SESSION['admin'] SINON rien;
Ce qui ne veut rien dire.

Il aurait fallu une formulation du type :
$variable = ($valeur_x == $valeur_y) ? true : false;
On crée une affectation, et la valeur affectée est conditionnelle. Mais dans ta ligne de code, il n'y a aucune affectation de valeur à une variable quelconque.
Si tu suis le raisonnement, il s'agit de comprendre que tu dois assigner une valeur à une variable qui pourra être lue ailleurs et plus tard.

Je te laisse mûrir ça et corriger, si tu es un peu logique, tu devrais trouver la réponse ;)

Re: authentification

par fnk_west » 06 août 2014, 23:36

Ah pardon, elle renvoie dans la variable $row le type_droit qui est administrateur pour ceux qui souhaitent se connecter en tant qu'admin.

Re: authentification

par Cyrano » 06 août 2014, 23:27

D'accord, et merci pour ton aide.

Pour ma part, il s'agit de savoir si le login et mot de passe saisi correspond à une personne dans ma base de données qui est de type administrateur.
Ça ne répond pas à la question : que fait précisément cette ligne de code ? Est-ce que par exemple elle assigne une valeur à une variable ou quelque chose dans ce style ? (Attention, je ne dis pas que c'est ça, je te donne un exemple de formulation)

Re: authentification

par fnk_west » 06 août 2014, 23:22

D'accord, et merci pour ton aide.

Pour ma part, il s'agit de savoir si le login et mot de passe saisi correspond à une personne dans ma base de données qui est de type administrateur.

Re: authentification

par Cyrano » 06 août 2014, 07:44

Bonjour, merci d'avoir répondu.

En fait, je me suis trompée un moment :
($row['type_droit'] == 'administrateur') ? $_SESSION['admin'] : "";
Cette ligne permet de vérifier si le résultat correspond à administrateur.
Bon, au final je ne suis pas sûre de ce que j'ai codé donc j'ai un doute par rapport à la syntaxe et à mon raisonnement.
Il manque un bout à cette ligne de code.

Tu as effectivement relevé une erreur dont je me doutais, mais pour avancer sur le débogage, il faut que tu saisisse ce que fait exactement cette ligne de code. TU utilises un opérateur ternaire d'une manière incorrecte : je peux te remettre sur la route mais seulement à partir de l'endroit où tu te trouves dans la compréhension de ce bout de code.
Essaye de m'expliquer ce que fait cette ligne dans tes mots à toi.

Re: authentification

par fnk_west » 06 août 2014, 07:22

Bonjour, merci d'avoir répondu.

En fait, je me suis trompée un moment :
($row['type_droit'] == 'administrateur') ? $_SESSION['admin'] : "";
Cette ligne permet de vérifier si le résultat correspond à administrateur.
Bon, au final je ne suis pas sûre de ce que j'ai codé donc j'ai un doute par rapport à la syntaxe et à mon raisonnement.

Re: authentification

par Cyrano » 06 août 2014, 06:28

Salut, c'est effectivement un sujet d'archéologie.

Mais toujours d'actualité : Il faudrait que tu nous explique ce que fait exactement cette ligne de ton code (au moins ce que tu en as compris) :
($row['type_droit'] == 'type_droit') ? $_SESSION['admin'] : "";
Une grosse partie de l'erreur vient de là... mais pas que, on verra la suite après.

Re: authentification

par fnk_west » 06 août 2014, 01:58

Bonjour à tous,

En effet, il s'agit d'un message qui remonte à 2005 mais je ne voulais pas créer un nouveau sujet alors qu'en fouillant j'ai vu qu'il en existe déjà un.
Tout fonctionne dans mon code, j'ai regardé tout ce que vous avez posté et mon problème est le suivant :

-> en rentrant des données dans mon formulaire j'accède à ma page, même en ne saisissant rien dans les input.
Donc si vous avez des pistes, voir une modif dans mon code je suis prenante. Merci! :)

Voici mon code :
<?php

	session_start();
	
	include "connexion.php";
	
	//en cas de deconnexion, on vide les variable de session
	if (isset($_GET['logout'])) {
		unset($_SESSION['admin']);
	}
	
	if (!isset($_POST['id'])) $_POST['id'] = "";
	if (!isset($_POST['password'])) $_POST['password'] = "";
	
	//si l'administrateur n'est pas connecté
	if ((isset($_SESSION['admin']))) {
		//si l'administrateur a envoyé ses données d'identification
		if ($_POST['id'] && $_POST['psw']) {
		$id = $_POST['id'];
		$psw = md5($_POST['password']);
		
		//on lance une requete pour voir si ceux ci se trouvent dans la database
		$query = "select id, nom, prenom, type_droit, password form user where id = ".$id." and password = ".$psw."";
		$result = mysql_query($query);
		
			//si la requete renvoie bien des resultats
			if ($result > 0) {
				while ($row = mysql_fetch_assoc($result)) { 
				($row['type_droit'] == 'type_droit')?$_SESSION['admin'] : "";
			}
			}
			else echo ("<div id=\error\">Erreur de connexion, veuillez verifier si votre connexion et mot de passe sont corrects.</div>");
			
		}
		
	}
	
	//on affiche la formulaire d'identification
	if ((!isset($_SESSION['admin']))) {
	?>
	
	<h3>Formulaire d'identification</h3>
	<form action="administrateur.php" method="POST">
	<label>Nom :</label><input type="text" name="nom"/><br/>
	<label>Mot de passe :</label><input type="text" name="psw"/>
	<input tyype="submit" value="connexion"/>
	<input type="reset name="raz" value="effacer"/>
	</form>
	

par sausee2005 » 15 juin 2005, 14:56

ca marche
c cool
merci a tous :D

zeus je t'en veu pas tout le monde a le droit a l'erreur maintenant tu sais :pouce:

par zeus » 15 juin 2005, 14:48

Tu sais, quand je pense avoir déterminé le sexe de quelqu'un, je vais pas plus loin

Et puis tu aurais bien pû être une lesbienne libérée ....

Menfin, bon (comme dirais Gaston Lagaffe) ton problème viens de ton include !!!

La seule solution que je vois, c'est de séparé le traitement de l'affichage (un peu comme le conseillais Guakamol)

- Tu met une page incluse qui affiche ton formulaire
- Ce formulaire doit rediriger vers une page externe
<form name="nom" action="mapage.php" method="post">
- Dans cette page externe tu test et tu redirige

exemple

dans la page formulaire.php

Code : Tout sélectionner

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Document sans titre</title> </head> <body> <form name="login" method="post" action="verif_login.php"> <div align="center"> <input name="user_name" type="text"> <input name="password" type="text"> <br> <input type="submit" name="Submit" value="Connecter" > <br> </div> </form> </body> </html>
Dans la page verif_login.php (celle qui est donnée dans la balise form)
<?
if (isset($_POST["Submit"])) {
  $log= (isset($_POST["user_name"])) ? $_POST["user_name"] : "" ;
  $pass= (isset($_POST["password"])) ? $_POST["password"] : "";
  if($log == "artcaddba" && $pass == "Zyd8c6")
  {
    header("Location: index.php?page=administration");
  } else {
    header("Location: index.php?page=news");
  }
}
?>
Comme ça, ta page verif_login.php n'est pas incluse dans ton index et tu n'as plus de problème de flux html déjà envoyé !!!

par sausee2005 » 15 juin 2005, 14:32

oui elle est incluse dans celle ci
<html>
<head>
	<title>ArtCAD</title>
</head>
<body bgcolor="#FFFFFF" text="00000" link="#FF0000" vlink="#663333" alink="#FF9999" ><div class="entete">
<?php 
  include('entete.php');  
?>

</div><table border="1" noswap>
<tr valign="top" ><td valign="top">
<div class="gauche">
<?php 
  $pageOK = array('news' => 'news.php', 
                  'presentation' => 'presentation.php',
				  'cad'=> 'cad.php',
				  'contact' => 'contact.php',
				  'mail' => 'mail.php',
				  'imprimantes' => 'imprimantes.php',
				  'partenaires' => 'partenaires.php',
				  'catalogue' => 'catalogue.php',
				  'developpements' => 'developpements.php',
				  'assistance' => 'assistance.php',
				  'achat en ligne' => 'achat_ligne.php',
				  'formation' => 'formation.php',
				  'logiciels' => 'logiciels.php',
				  'promotions'=> 'promotions.php',
				  'service technique' => 'service_technique.php',
				  'administration' => 'administration.php',
				  'identification' => 'identification.php');

  
  if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
    include($pageOK[$_GET['page']]);
	} else { 
include($pageOK['news']);
  }
?>
</div>
</td><td valign="top">
<div class="droite">
<?php
include('droite.php');
?></div>
</td></tr>
</table>
 <div class="bas">
<?php 
  include('bas.php');
?>
</div> 
</body>
</html>
au fait j'ai pas trouve le sure mais j'ai trouve des messages qui aurait pu te mettre sur la voie
c'est vrai qu'elles sont pas mal, qu'elles mettent l'eau à la bouche et surtout ca donne envie d'en savoir plus sur le php surtout si toute les programmeuses sont comme ca
ouais d'accord mais pour un etudiant en 1ere annee de bts info
le php ne devrait pas etre aussi obscure que ca
:wink:

par zeus » 15 juin 2005, 14:23

Un truc viens de me traverser l'esprit : est ce que cette page est inclu dans une autre page ? parce que chez moi, ça marche très bien

par sausee2005 » 15 juin 2005, 14:22

a bon ba je sui pa tres bon en orthographe

par zeus » 15 juin 2005, 14:21

Alors là, désolé mais dans un post il m'avait semblé voir un "sûre" et j'en ai déduis que tu était du sexe féminin

Désolé :oops:

A l'occasion, je rechercherais ...