Redirection
RésoluLiLou LiLa Messages postés 330 Statut Membre -
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
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.
-
utilise ça pour redirige :
header("Location:accueil.php");
exit; -
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 -
ligne 1 etant <?session_start()?>
et la 11 header blabla -
redonne moi tout ton code stp !
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
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;
?> -
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 -
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-
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.
-
-
-
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 -
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 -
-
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 ... -
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 -
-
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. ;) -
brbr
jai deux fautes :
session_start
et session_destroy -
pareil : erreur sur session start et sur session unset
-
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 -
- 1
- 2