IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

redirection vers page web


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 64
    Points
    64
    Par défaut redirection vers page web
    Bonjour,

    je débute en PHP et j'ai besoin d'un petit conseil.

    J'essaye de developper une interface de gestion de stock. La première étape a été de créer une page sur laquelle le visiteur entre son pseudo et son password.

    J'ai constitué ma page index.php de cette facon:

    - si le password n'existe pas alors afficher la page de connection
    - sinon vérifier que le pass correspond au login dans la BDD:
    --> Si correspond on redirige vers une autre page php (celle de gestion)
    --> Sinon on affiche la meme page de connection mais avec un petit message d'erreur

    Ce que je n'arrive pas à faire c'est (si le mot de passe et le login correspondent) rediriger l'utilisateur vers la page correspondant à la gestion des stocks. Page que l'on peut appeler gestion.php par exemple.

    J'ai essayé include("gestion.php"); mais le pb est que ca integre la page gestion.php dans la page index.php mais ca ne l'ouvre pas independament.

    Si quelqu'un peut m'aider, j'en serait ravi!

    merci par avance.

    ps: je précise que j'ai fait quelques recherche avant de poser la question mais que je n'ai rien trouvé.

    remedy

  2. #2
    Membre habitué Avatar de ..:: Atchoum ::..
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 156
    Points
    156
    Par défaut
    Salut et bienvenue sur developpez.com,

    Peux tu nous envoyer du code, qu'on voit un peu comment tu as fait

    ++

  3. #3
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Citation Envoyé par remedy
    ps: je précise que j'ai fait quelques recherche avant de poser la question mais que je n'ai rien trouvé.
    en es tu sur ? allez un petit lien vers la doc qui pourrait t'aider:
    http://gr2.php.net/manual/fr/function.header.php

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     
    <?	if(isset($_POST['mot_de_passe']))
    	{
    		$pseudo = $_POST['pseudonyme'];
    		$pass = $_POST['mot_de_passe'];
    		$bMatch = false;
     
    		// Connection à MYSQL et à la BDD db_pti
    		mysql_connect("localhost","root","");
    		mysql_select_db("db_pti");
     
    		// req SQL qui récupère tous les mot de passe et pseudo de chaque entré de la table.
    		$res = mysql_query("SELECT * FROM tbl_user");
     
    		while($donnees = mysql_fetch_array($res) ) 
    		{
    			if($donnees['pseudo_user'] == $pseudo AND $donnees['pass_user'] == $pass)
    			{
    				$bMatch = true;
    			}
    		}
     
    		// fermeture de la connection à la BDD
    		mysql_close();
     
    		if($bMatch == true)
    		{
    			//jaimerai lancer ici la redirection vers gestion.php
    		}
    		else
    		{
    		?>
     
    	      <!-- code de la PAGE DE LOGIN AVEC LE MESSAGE INDIQUANT L'ERREUR D'IDENTIFICATION -->		
    		<?
    		}
    	}
    	else
    	{
    	?>
    	     <!-- code de la PAGE DE LOGIN INITIALE   -->		
    	<?
    	}
    ?>

    JE SUIS OUVERT A TOUTE REMARQUE ET CONSEIL QUAND A L'ORGANISATION ET LA STRUCTURE DU CODE

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    yiannis j'en suis sûr

    J'ai peut être pas cherché au bon endroit cela dit ^^

    Sinon, en ce qui concerne les header j'avais trouvé ça mais j'ai lu quelque part qu'il fallait que ce soit au tout tout début du code ce qui est impossible dans mon organisation de la page index.php.


  6. #6
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    non, non pas du tout
    je te propose de faire comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
          if($bMatch == true)
          {
             header("Location: gestion.php");
             exit;
          }
          else
          {
          ?>

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par yiannis
    non, non pas du tout
    je te propose de faire comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
          if($bMatch == true)
          {
             header("Location: gestion.php");
             exit;
          }
          else
          {
          ?>
    J'obtient le message d'erreur suivant: Warning: Cannot modify header information - headers already sent by (output started at f:\programmes\php\pti gestion de stock\index.php:1) in f:\programmes\php\pti gestion de stock\index.php on line 44

    et la ligne 44 c 'est la ligne ou il ya header("Location: gestion.php");

  8. #8
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    tu n'as pas de sortie html avant ton header ???

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    Et bien lorsque j'entre un bon mot de passe au lieu d'ouvrir gestion.php ca me mets le msg d'erreur précedement cité.

    Et rien d'autre.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 144
    Points
    144
    Par défaut
    Pourquoi tu ne modifie pas ta requete pour qu'elle ne te retourne qu'un seul enregistrement, tu regarde si cette enregistrement existe (couple login/mdp) et ensuite suivant cela tu redirige sur ta page. je trouve que c'est plus court et tu elimine ta variable $bmatch.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    //ta requete qui vérifie que ton utilisateur associé au mdp est correct
     
    $res = mysql_query("SELECT * FROM tbl_user where pseudo_user= '$pseudo' and pass_user = '$pass' " ); 
     
    //si tu récupere l'enregistrement ca veu dire que le couple login/mdp est correct       
         if($donnees = mysql_fetch_array($res) ) 
          { 
    //si c'est correct alors tu envoi sur ta page
           header("Location: gestion.php");
    		    die();
             { else} 
    //sinon tu renvoi sur une autre page ou tu informe que le couple et incorrect
          header("Location: donnees_incorrect.php");
    		    die();
          }
    par contre apres il faut que tu utilise des séssions sinon un utilisateur non enregistrer peu allez directement sur ta page gestion.php si il connais l'url (il me semble).

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    peut être que je peux taper directement le code de ma page gestion.php dans la page index.php comme ca pas de problème de sécurité elle ne serait visible qu'une fois le mot de passe rentré.

    enfin je vais essayer tout et je reviens si je m'en sort pas!!

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    l'idée d'halukard est bonne pour la requête c'est plus rapide, merci à toi

    Cependant pour le header pas moyen...

    Warning: Cannot modify header information - headers already sent by (output started at f:\programmes\php\pti gestion de stock\index.php:1) in f:\programmes\php\pti gestion de stock\index.php on line 36

Discussions similaires

  1. Redirection de page Web vers serveur CAS
    Par chomeko dans le forum Langage
    Réponses: 1
    Dernier message: 05/11/2014, 07h58
  2. redirection vers page web avec un resultat d'une requête
    Par ishika83 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 20/08/2009, 15h29
  3. redirection vers page web (resultat requête)
    Par ishika83 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/08/2009, 14h59
  4. Réponses: 12
    Dernier message: 30/01/2006, 14h35
  5. Pb de redirection vers page principale
    Par croco83 dans le forum ASP
    Réponses: 2
    Dernier message: 06/05/2004, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo