Redirection

Résolu
LiLou LiLa Messages postés 330 Statut Membre -  
LiLou LiLa Messages postés 330 Statut Membre -
Bonjour,
je travaille en html/php et lors dune identification ou le nom e mot de passe est recuperé,je souhaite faire une redirection
identification.php > login.php (qui enregistre dans session mais qui ne doit pas s afficher)>>redirection> accueil.php

jai utilisé pour linstant

<meta http-equiv="Refresh"
 content="20";URL="accueil.html">


mais jai une erreur :

Notice: A session had already been started - ignoring session_start() in /var/www/Portail_Logistique/cartouchesite/login.php on line 1

Notice: Undefined index: nom in /var/www/Portail_Logistique/cartouchesite/login.php on line 6

Notice: Undefined index: motdepasse in /var/www/Portail_Logistique/cartouchesite/login.php on line 7


login.php :

<? session_start()?>
<html><head></head><body>

<? //recupere les nom & mot de passe saisis

$_SESSION['nom']=$_POST['nom'];
$_SESSION['motdepasse']=$_POST['motdepasse'];

//redirection vers accueil.php
?>
<meta http-equiv="Refresh"
 content="20";URL="accueil.html">
</body></html>


merci d avance !
Configuration: Linux
Firefox 2.0.0.11

28 réponses

  • 1
  • 2
Résumé de la discussion

Le fil porte sur une identification en PHP où les nom et mot de passe sont stockés en session et une redirection vers accueil.php est envisagée via meta refresh.
Des notices apparaissent, notamment 'session_start()' déjà démarré et 'Undefined index' pour noms, liées à l'ordre d'affichage et à l'absence de vérifications des POST.
La solution préconisée dans les réponses évoque soit l'utilisation correcte de header 'Location' après vérification des POST, soit l'évitement de sorties HTML avant les en-têtes.
En cas d'erreur persistante, il est recommandé de placer session_start() en tête du fichier, de vérifier isset($_POST['nom']) et de remplacer la redirection par header('Location: ...') puis exit.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. aiacciu Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   3
     
    utilise ça pour redirige :

    header("Location:accueil.php");
    exit;
    0
  2. LiLou LiLa Messages postés 330 Statut Membre 12
     
    merci mais jai des messages d erreur :


    Notice: A session had already been started - ignoring session_start() in /var/www/Portail_Logistique/cartouchesite/login.php on line 1

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/Portail_Logistique/cartouchesite/login.php:1) in /var/www/Portail_Logistique/cartouchesite/login.php on line 11
    0
  3. LiLou LiLa Messages postés 330 Statut Membre 12
     
    ligne 1 etant <?session_start()?>
    et la 11 header blabla
    0
  4. aiacciu Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   3
     
    redonne moi tout ton code stp !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LiLou LiLa Messages postés 330 Statut Membre 12
     
    ok alors :

    ma page identification.php :

    <form action="login.php" method="post">
    	<table align="center" border=0>
    	<tr>
    		<td> Nom : </td>
    		<td><input type="text" name="nom"></td>
    	</tr>
    	<tr>
    		<td> Mot de passe : </td>
    		<td><input type="password" name="motdepasse"></td>
    	</tr>
    	<tr>
    		<td></td>
    		<td><input type="submit" value="Valider"></td>
    	</tr></table></form>


    ma page login.php :

    <?session_start();?>
    <html><head></head><body>
    
    <? //recupere les nom & mot de passe saisis
    
    $_SESSION['nom']=$_POST['nom'];
    $_SESSION['motdepasse']=$_POST['motdepasse'];
    
    //redirection vers accueil.php
    
    header("Location:http:intranet.sdis81.fr/cartouchesite/accueil.html");
    exit;
    ?>
    </body></html>


    mes messages d'erreurs qui apparaisse après validation de l'identification

    Notice: A session had already been started - ignoring session_start() in /var/www/Portail_Logistique/cartouchesite/login.php on line 1

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/Portail_Logistique/cartouchesite/login.php:1) in /var/www/Portail_Logistique/cartouchesite/login.php on line 11
    0
  7. aiacciu Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   3
     
    essai plutot ça pour login.php :

    <?php

    session_start();

    //recupere les nom & mot de passe saisis

    $_SESSION['nom']=$_POST['nom'];
    $_SESSION['motdepasse']=$_POST['motdepasse'];

    //redirection vers accueil.php

    header("Location: accueil.html");
    exit;

    ?>
    0
  8. LiLou LiLa Messages postés 330 Statut Membre 12
     
    je viens d'essayer de faire dans login.php
    <?session_start();?>
    <html><head>
    <META http-equiv="refresh" content="1; URL=http://intranet.sdis81.fr/cartouchesite/accueil.html">
    </head><body>
    
    <? //recupere les nom & mot de passe saisis
    
    $_SESSION['nom']=$_POST['nom'];
    $_SESSION['motdepasse']=$_POST['motdepasse'];
    
    ?>
    </body></html>


    il va a lautre page
    mais entre temps ya toujours le message d'erreur sur session_start

    Notice: A session had already been started - ignoring session_start() in /var/www/Portail_Logistique/cartouchesite/login.php on line 1
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      C'est parce que tu as déjà une session de créée.
      Il faut que tu la ferme quand tu te déconnecte.
      0
  9. LiLou LiLa Messages postés 330 Statut Membre 12
     
    avec ta solution il me met :
    Notice: A session had already been started - ignoring session_start() in /var/www/Portail_Logistique/cartouchesite/login.php on line 16

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/Portail_Logistique/cartouchesite/login.php:14) in /var/www/Portail_Logistique/cartouchesite/login.php on line 25


    jcrois qu il aime pas header :s

    je fais avec meta donc mais toujours le soucis avec session_start :s
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Notice: A session had already been started - ignoring session_start() in /var/www/Portail_Logistique/cartouchesite/login.php on line 16
      Voir ce que j'ai mis plus haut.

      Warning: Cannot modify header information - headers already sent by (output started at /var/www/Portail_Logistique/cartouchesite/login.php:14) in /var/www/Portail_Logistique/cartouchesite/login.php on line 25
      Tu dois avoir du HTML de déclaré avant ton header, et il n'en faut surtout pas.
      0
  10. LiLou LiLa Messages postés 330 Statut Membre 12
     
    hein?? dejà crée? comment?
    0
  11. LiLou LiLa Messages postés 330 Statut Membre 12
     
    trois pages après j'ai fait un echo pour voir si ça enregistrait

    <?session_start()?>
    <html>
    
    <head>
    
    <title>Liste des sorties par reference</title>
    
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    </head>
    
    
    
    <body>
    
    
    <?php
    error_reporting(E_ALL);
    
    include "connexion.php";
    ?>
    
    <? //afficher valeur de SESSION 
    echo $_SESSION['nom'];
    echo $_SESSION['motdepasse'];?>


    et jai bien le nom et mot de passe qui s'affiche

    mais avant jai un message d'erreur encore

    Notice: A session had already been started - ignoring session_start() in /var/www/Portail_Logistique/cartouchesite/choixref.php on line 2
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Pas grave cette erreur.
      0
  12. LiLou LiLa Messages postés 330 Statut Membre 12
     
    pour header c'est bon je fais avec

    <META http-equiv="refresh" content="1; URL=http://intranet.sdis81.fr/cartouchesite/accueil.html">
    </head><body>


    et ça marche :)

    sauf message d'erreur entre le changement de page sur session_start
    0
  13. LiLou LiLa Messages postés 330 Statut Membre 12
     
    oui peut etre pas grave mais il me la faut pas ^ ^
    0
  14. aiacciu Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   3
     
    sur ta page login.php tu vire tout et mais juste ça :

    <?php

    session_start();

    //recupere les nom & mot de passe saisis

    $_SESSION['nom']=$_POST['nom'];
    $_SESSION['motdepasse']=$_POST['motdepasse'];

    //redirection vers accueil.php

    header("Location: accueil.html");
    exit;

    ?>
    vire tous même les balises head body ...
    0
  15. LiLou LiLa Messages postés 330 Statut Membre 12
     
    c'est fait : ça me marque :

    Notice: A session had already been started - ignoring session_start() in /var/www/Portail_Logistique/cartouchesite/login.php on line 14

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/Portail_Logistique/cartouchesite/login.php:14) in /var/www/Portail_Logistique/cartouchesite/login.php on line 23
    0
  16. LiLou LiLa Messages postés 330 Statut Membre 12
     
    oui peut etre pas grave mais il me la faut pas ^ ^
    0
  17. MrSlave Messages postés 2657 Statut Membre 147
     
    Essaye avec session_destroy à la fin.
    Mais tout à la fin.

    Comme ça quand tu quitteras, tu détruira la session.
    Tu en recréera une quand tu reviendras, et magique, plus de message d'erreur. ;)
    0
  18. LiLou LiLa Messages postés 330 Statut Membre 12
     
    brbr
    jai deux fautes :
    session_start
    et session_destroy
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Essaye session_unset à la place de session_destroy
      0
  19. LiLou LiLa Messages postés 330 Statut Membre 12
     
    pareil : erreur sur session start et sur session unset
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Est ce que tu pourrais copier les erreurs et ton code par la même occasion ? :)
      0
  20. LiLou LiLa Messages postés 330 Statut Membre 12
     
    il est au dessus mon code :p
    et les erreurs jpeux pas les recopier pas le temps ça change de page, c'ets les mm quand haut
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Ou est ce que tu as mis session_unset ?
      0
  21. LiLou LiLa Messages postés 330 Statut Membre 12
     
    je lai enlevé ça marche pas :p
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      A mon avis c'est parce qu'il est mal placé.
      Parce qu'il supprimera également l'erreur de session_start.

      Je reprend un de mes code et je vois ça.
      0
  • 1
  • 2