Posez votre question Signaler

[PHP] session_start();

Maxg59 275Messages postés 13 mai 2005Date d'inscription - Dernière réponse le 21 déc. 2008 à 12:13
Salut a tous !
alors voial mon probléme :
J'utilise pour la premiere fois des sessions ( un petit pas pour l'humanitée un pas de géant pour moi !!! )et donc j'ai un probléme :
Notice: A session had already been started - ignoring session_start() in machin.php on line 4

"je comprend ce message" ( pour une foi que je comprend l'anglais !!! )
Mais je pensais que, pour pouvoir utiliser une session il falait toujours mettre session_start() au tout debut d'un code PHP, enfin c'est se que j'ai lu dans un tuto PHP.
Je voudrais savoir si c'est juste easy PHP qui fait sa ?
sinon, si j'ai besoin de mettre session_star() mais que easyPHP n'es a aps besoin je vouidrais pouvoir enlever ce mess ....
D'avance Big merci !!!
Lire la suite 

[PHP] session_start() »

12 réponses
Réponse
+5
moins plus
C'est bon j'ai trouvé pourquoi sa aller pas : il y avait deja un session_start dans un fichier inclu, comme je mettait session start avant sa faisat 2 fois .....
J'avais oublié que j'avais mi mon session start dans un fichier inclu ( pour eviter de toujours repeter)
désolé ...
mais sa m'interesse quand même de savoir se que sa fait le @ ;-)
Merci de m'avoir aider et encor désolé ...
Ajouter un commentaire
Réponse
+3
moins plus
Salut,

Ce session_start() est t'il dans un fichier inclus?
Maxg59 - 20 sept. 2005 à 20:00
Tout depend de se que tu apelle inclu ;
en fait je pense que non,
1er page identification : cré la session
transmition a la 2eme page par : header('Location : ../machin.php')
2eme page là ou j'ai remi un session start ( cette page apelle diffecents fichiers php et html)
voila
kilian - 20 sept. 2005 à 20:06
Ah peut être que la session est gardée si un header location est lancé après....

Dans ce cas tu as la solution bourrine mais je vois pas mieux: met un arobase devant ton session_start comme ça il ne génèrera pas d'erreur (et comme ça si on va directement sur machin.php sans passer par identification, le session_start fonctionnera quand même:

@session_start()
Maxg59 - 20 sept. 2005 à 20:09
Ok merci mais tu pourrais m'expliquer qu'est ce qu'il y a de bourrin la dedan ????
D'avance Merci
Ajouter un commentaire
Réponse
+1
moins plus
bonjour c'est tres simple je suis sur que t'a une ligne avant session_start(); meme si elle est vide
tu doit metrre comme ca : (rien avant l'ouverture du php)
<? php
session_start();
......
Ajouter un commentaire
Réponse
+1
moins plus
bonjour, g un problème avec mon code je sait pas si c'est la session ou la récupération du mot de passe


la connexion au serveur est bonne des de coté (free et easyphp) les requêtes aussi mais si localhost quand je m'identifie avec un login et mot de passe sa m'affiche se message :

Notice: Undefined index: password in D:\DOCUMENT\Site\MON SITE\authentification.php on line 23

mais cela fonctionne quand même il retourne sur la page index avec la session de l'identifiant. Sur free sa redirige vers l'index mais il ne se passe rien, aucune session d'ouvert


voici mon code :

<html>
<head>
<meta http-equiv="Refresh"
content="0;URL=http://dj.slyders.free.fr/">
</head>

<?php include("session.php");?>

<?php

include('connex.php');

$identifiant = $_POST["identifiant"];
$passwd =$_POST["password"];

$sql = "SELECT login FROM adherant WHERE login ='$identifiant' AND password ='$passwd'";
$result = mysql_query($sql);

while ($ligne = mysql_fetch_array($result))
{
$identifiant = $ligne['login'];
$passwd = $ligne['password'];
}

$nbLigne=mysql_num_rows($result);

if ($nbLigne==0)
{

}
else
{
$_SESSION['identifiant']= $identifiant;
$_SESSION['password']= $passwd;
}

?>
</html>
Ajouter un commentaire
Réponse
+0
moins plus
En fait j'appelais ça solution bourrin parce que le @ ne corrigeait pas le problème mais le rendait muet... En plus si tu as d'autres soucis plus tard avec ce même @session_start(), l'erreur risque de ne pas être affichée etc...
tamsamani - 22 sept. 2005 à 20:09
salut
dans ce site tu trouveras cession start bien expliqué dan la partie php www.siteduzero.com
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
juste il faut voir session.auot_start dans le php.ini et dans votre cas c'est sur qu'elle est égal à 1 alors il faut l'initialiser à 0
et tout va bien
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

je ne comprends pas ceci, je travaille en serveur local avec Apache, j'ai une seule ession_start() et l'autoseeeion est à off dans le .ini.


//fichier1.php
<?php
session_start();
$alpha="a";
include("fichier21.php");
$_SESSION['bla']=$alpha;
?>

//fichier2.php
<?php
echo $alpha;
?>

A session had already been started - ignoring session_start() in C:\\www\\essai\\testsession1.php on line 2, referer: http://127.0.1/essai/

Mercide votre aide...
Ajouter un commentaire
Réponse
+0
moins plus
???
Ajouter un commentaire
Ce document intitulé « [PHP] session_start(); » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook