begin process at 2012 05 31 02:22:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Problème : script d'autentification


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème : script d'autentification

lundi 4 juin 2007 à 20:41:07 | Problème : script d'autentification

cirtey

Bonjour;
J'essaye de créer un script qui permet à une personne d'être authentifiée pour accéder à une page.
Je suis sous wamp et dreamweaver v9.
J'ai créé la base sous phpmyadmin et fait insérer un couple de login/pass.
La page d'accueil mest sensée mener vers log.php sensée à son tour rediriger l'internaute en fonction de son mot de passe et login :
s'il est correct -> page reussite.html sinon -> page erreur.htm
Mon problème : je suis bloqué sur log.php qui reste une page vide.
Voyez vous l'erreur? Merci.


<?php
//définir les paramètres
define("MYHOST","localhost");
define("MYUSER","root");
define("MYPASS","");
define("MYBASE", "authentification");
define("MYTABLE", "client");

//vérifier si les données sont postées
if(isset($_POST['login']) && isset($_POST['pass']))
{
    $login=mysql_escape_string($_POST['login']);
    $pass=mysql_escape_string($_POST['pass']);
}
else
{
    echo "mot de passe ou login manquants";
}

//se connecter à la base
$idcom=@mysql_connect(MYHOST,MYUSER,MYPASS,MYBASE,MYTABLE);
if(!$idcom)
{
    echo "Connexion impossible à la base";
}

//faire une requête
$requete="select * from client where login='$login' AND pass='$pass'";
$idresult=@mysql_query($requete,$idcom);

//évaluer les résultats de la requête
if(!idresult)
{
    header("Location: erreur.htm"); // redirection à la page d'échec
}
else
{
     header("Location: reussite.html"); // redirection à la page d'accès
}

//fermer la connexion à la base
mysql_close($idcom);
?>
lundi 4 juin 2007 à 22:31:52 | Re : Problème : script d'autentification

cirtey

J'ai fait une toute petite modif pour mysql connect, mais j'ai toujours la page vide sous dreamweaver v9.
Ma base est pourtant bien créé et mon wamp marche à 100%.
Sous zend studio 5.5 j'ai le message d'erreur suivant :
mot de passe ou login manquants
Warning: Cannot modify header information - headers already sent by (output started at E:\Documents and Settings\teycir\Bureau\exo_authentification\log.php:15) in E:\Documents and Settings\teycir\Bureau\exo_authentification\log.php on line 38
Mais c'est normal, je suis sous débogeur interne.
 
Code :
  1. <?php
  2. //définition des paramètres
  3. define("MYHOST","localhost");
  4. define("MYUSER","root");
  5. define("MYPASS","");
  6.  
  7. //vérifier si les données sont postées
  8. if(isset($_POST['login']) && isset($_POST['pass']))
  9. {
  10.    $login=mysql_escape_string($_POST['login']);
  11.    $pass=mysql_escape_string($_POST['pass']);
  12. }
  13. else
  14. {
  15.    echo "mot de passe ou login manquants";
  16. }
  17.  
  18. //se connecter à la base
  19. mysql_connect(MYHOST, MYUSER, MYPASS) or
  20. die("Impossible de se connecter : " . mysql_error());
  21. mysql_select_db("authentifier");
  22.  
  23. //faire une requête
  24. $requete="select * from client where login='$login' AND password='$pass'";
  25. $result=@mysql_query($requete);
  26. if(!$result)
  27. {
  28.   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
  29.   exit;
  30. }
  31.  
  32. //aller chercher la ligne de requête
  33. $row = mysql_fetch_row($result);
  34.  
  35. //si on ne la trouve pas
  36. if(!$row)
  37. {
  38.     header("Location: erreur.htm"); // redirection à la page erreur
  39. }
  40. //sinon
  41. else
  42. {
  43.     header("Location: reussite.html"); // redirection à la page reussite
  44. }
  45.  
  46. //liberation de mémoire
  47. mysql_free_result($result);
  48. ?>
lundi 4 juin 2007 à 23:31:14 | Re : Problème : script d'autentification

coucou747

Administrateur CodeS-SourceS
Salut
bon... j'avais un tuto en cours, il est bref, je te le poste :

Qu'est-ce-que le HTTP ?

Intro

Ce tuto est pour debutant, je n'ai pas le niveau pour ecrire plus, alors je vous le dit tout de suite, il est TRES incomplet... J'en ai simplement marre des erreurs de header sur phpcs, de session_start, setcookie et autre, et marre des confusions php / javascript ; alors j'explique comment se deroule une connexion simple...

Description

Le HTTP est un protocol : hypertext transfert protocol, wikipedia. Deux programmes discutent, un navigateur internet (opera, firefox, MSIE, galeon, lynx, et plus si affinites), et un serveur web (apache, IIS, ...). Ils ont une facon de discute bien cadree, comme tout protocol, cette facon de discuter est decrite dans une RFC.

Une discution simple se deroule en deux temps : le navigateur parle, puis envoie deux lignes vides (une ligne se termine par \r\n), ensuite c'est le serveur qui parle, et enfin, la discution se termine. On appellera par la suite les parolles du navigateur la requette, et la reaction du serveur la reponse.

Requette comme reponse sont composes de deux parties : l'entete et le corps (en anglais, header et body, que ceux qui n'aiment pas l'anglais y portent quand meme attention, ca a son importance) pour la requette, le body n'est pas forcement utilise.

Le header de la requette contient de nombreuses choses : la page sur laquelle on veut aller, le host (si vous avez plusieurs sites par machine, vous les diferenciez par cette variable), le mode d'action (en general GET ou POST), le protocol (HTTP 1.0 ou 1.1), et des parametres plus optionels comme la page precedente, le navigateur, la langue, les types de documents acceptes... Et bien evidement, les cookies sont contenus dans le header de la requette...

Dans le cadre d'un GET, on n'utilise pas le corps, sinon, lors d'un POST, on envoi la taille, et les donnees envoyees ensuite.

Pour un POST de fichier, il y a plusieurs champs : le nom du fichiers, sa taille, son mimetype, et son contenu.

Pour la reponse du serveur, le header contient le status (404 = non trouve, 403 = forbiden, 501 = erreur, 200 = tout va bien ...), le mime type du document, son charset, les nouveaux cookies...

Ensuite, le corps de la reponse du serveur, ca peut-etre n'importe quoi...

alors seulement, le navigateur recoit cette reponse, la lit, et l'interprete a sa maniere (afficher un html, executer du javascript, ...)





header doit donc etre utilise avant tout echo ou autre...



une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
mardi 5 juin 2007 à 01:29:24 | Re : Problème : script d'autentification

amezghal

salut:
on utilise les header's avant toute affichages html y compris les echo's, c'est pas le cas pour toi, le message de warning est claire
Warning: Cannot modify header information - headers already sent by ...
idem pour les cookies et  les sessions!!

Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
mardi 5 juin 2007 à 16:53:12 | Re : Problème : script d'autentification

dossa

Salut, dans mon travail j'ai eu un problème pareil. La page ne supporte pas un <head> au début et un header ("location:erreur.php") après. J'ai testé votre code et cela a bien marché. Peut être vous avez faire un include("log.php") dans une autre page( accueil.php par exemple) contenant un <head> au début. ou vous avez mis un <head> au début de la page log.php. soyez sur qu'il s'agit d'une de ces deux possibilités. Bon courage
mardi 5 juin 2007 à 17:07:45 | Re : Problème : script d'autentification

coucou747

Administrateur CodeS-SourceS
Salut

il ne s'agit pas de l'envoi de <head> mais du header... c'est totalement different... quand tu envois une image, tu n'envois pas <head> mais t'as quand meme un header


une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
mardi 5 juin 2007 à 17:31:22 | Re : Problème : script d'autentification

dossa

Salut, Je ne sais pas grand chose sur la différence entre ces deux. Mais, comme j'ai dit j'avais déja ce problème. Et lorsque j'ai mis le code qui contient header ("location:page.php") dans une page contenant seulement du code php et non du html  cela a bien marché. Et le code de cirtey  a marché encore.
mardi 5 juin 2007 à 17:32:52 | Re : Problème : script d'autentification

coucou747

Administrateur CodeS-SourceS
Salut

lis ce que j'ai poste plus haut !! j'ai pris la peine de l'ecrire, alors stp... lis le au lieu de confondre tout et d'enseigner tes erreurs a d'autres debutants


une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
mardi 5 juin 2007 à 17:56:12 | Re : Problème : script d'autentification

dossa

Salut, merci pour ce cours, j'ai compris un peu plus les choses. Si je ne me trompe pas le problème est au niveau de echo "mot de passe ou login manquants"; à la ligne 15 de log.php car header("location:errer.php") est utilisée après echo. Désolé pour les autres débutants si je les enseigner mes erreurs.

mardi 5 juin 2007 à 18:17:25 | Re : Problème : script d'autentification

cirtey

Salut Dossa;
j'ai changé reussite.htm en reussite.php et paril pour erreur. Ces changements ont été fait sur   les  fnoms de fichiers et dans le header de log.php.
Par la suite j'ai rajouté include ('log.php'); dans les deux fichiers transformés.
Le résultat est tjs le même.
Peux-tu envoyer un copier coller des codes des pages:
accueil.htm, log.php et reussite.php qui ont marché chez toi?
Merci.

1 2 3

Cette discussion est classée dans : page, login, post, pass, define


Répondre à ce message

Sujets en rapport avec ce message

Autentification sur un site [ par talamaskary ] Donc j'ai un site et j'aimerai qu'il y ai pour y acéder un mots de pass et un login! donc ce qu'il faudrai c'est une page d'inscription pour les nouve session_start ou autre chose... ? [ par elisaba ] bonjour, j'ai une page a accès login + pass avec accès formulaire + test + la page en php. j'ai bien mon dossier sessions, à priori ca defrait foncti insertion dans une base [ par 01cod10 ] pouvez vous m'aider à corriger ce bout de script. Voici le message d'erreur que j'ai eu :  Erreur SQL !INSERT INTO membres VALUES("", "monia", "ff3d00 Probleme session [ par Anthotill ] Bonjour à tous J'ai un probleme avec les sessions dans mes pages.Je précise que ma base de donnée se trouve sur un https:// ...A chaque début de page, Comparaison d'une donnée avec une donnée d'une table [ par monsieurmartinez ] Bonjour je crée actuellement un site internet pour une faculté roumaine.Je suis actuellement en train de créer un formulaire d'inscription pour les él Besoin de vos yeux expert [ par Anthotill ] Bonjour à tousJ'ai un probleme avec une page que je suis en train de créer, une page d'authentification.Je récupère les informations de deux formulair Problème d'authentification [ par rasengan7 ] Bonjour j'aurai aimé savoir comment mettre des input type tout en regardant si le login et le pass sont bon. voici mon code: ?> <form accès a ma base par login et pass [ par dengab ] Bonjour,   Sur mon site en page d'accueil existe un cadre "accès reservé" avec deux fenetres session [ par nicomilville ] Bonjour tout le monde, mon problème est le suivant :j'ai une page connection.php qui permet de se connecter et je voudrai que si l'utilisateur est rec page blanche avec requete SQL dans page PHP [ par sedajosh ] Salut tout le monde et merci par avance de l'aide que vous voudrez bien m'apporter. Je cherche a faire une page de connexion qui permet d'accéder a u


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,557 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales