PHP erreur session

funkeen Messages postés 232 Statut Membre -  
funkeen Messages postés 232 Statut Membre -
Bonjour, j'ai un petit chat www.server.1allo.com/chat.php, je vous met directement sur chat.php (mais d'ailleur normalement vous nje pouvez pas y aller sans passer par lindex mais puiske session_start(); bug ! , bon vous voyez une erreur en haut, ca veut dire quoi !?

et voila le code de mon chat.php :

<?php
session_start();
if(!isset($_SESSION['nom'])){
header('Location: index.php');
}
?>
<head>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
  {lang: 'fr'}
</script>
<title>ServerAllo</title>
<meta name="keywords" content="chat, mini, discussions, or, orange, pseudo, message, réactualiser, blanc, php, html,
minichat, écrire, parler, social, convivial"/>
<meta name="description" content="Un petit chat pour discuter entre amis"/>
<link rel="stylesheet" type="text/css" href="file.css"/>
<link rel="shortcut icon" href="ico.png"/>
</head>
<body>
<?php
$file="stats.html";
$commande = "r+";
$ex = fopen($file, $commande);
fgets($ex);
$ip = $_SERVER['REMOTE_ADDR'];
$affich = 'Adresse ip: '.$ip.'</br>';
fputs($ex, $affich);
fclose($ex);
?>
<h4>Cette page se réactualise automatiquement </h4>
<form method="post" action="from.php">
<input type="submit" value="Se déconnecter pour éviter les frodes"/>
</form>
<center><form method="post" action="cam.php">
<h4>Connecté sous <?php echo $_SESSION['nom'];?></h4>
<h4>Message:</h4><textarea type="text" name="msg" rows="5" cols="20"></textarea></br>
<input type="submit" value="chat!"/>
</form>
<div id="affiche">
<embed src="affich.php"/>
</div>
</center>
</body>




7 réponses

lupuz Messages postés 71 Statut Membre 11
 
Comme je te le disais dans ton autre message, rien ne doit être envoyé avant le session_start.

Tu n'aurais pas un retour chariot avant ton <?php ?
0
funkeen Messages postés 232 Statut Membre 5
 
une réactualisation ? (non il est sur une autre page ! )
0
funkeen Messages postés 232 Statut Membre 5
 
lupuz, je ten suplie vient sur mon ordi via teamviwer et aide moi a regler le probleme ca me soul trop !
0
lupuz Messages postés 71 Statut Membre 11
 
Je suis sûr que tu vas te débrouiller tout seul.
0
funkeen Messages postés 232 Statut Membre 5
 
les forumas ca aide pas en fin de compte
0
lupuz Messages postés 71 Statut Membre 11
 
Si. Mais ce fait pas le boulot à ta place.
0
funkeen Messages postés 232 Statut Membre 5
 
bah jai trouve une solution mais bon c nul ...
jai caché les erreurs donc jai mit un @ devant session ...et voila mais ya plus de securite si le mec met directement chat.php ca le met ...le header marche plus - - ' c trop chian yavai aucun probleme et la ce matin ca marchai plus
0
Utilisateur anonyme
 
Bonjour,

Dans le code source il y a certainement un caractère caché genre retour chariot avant <?php

Il ne faut pas oublier de faire @session_start(); au lieu de session_start();, car si la commande session_start(); est appelée plusieurs fois elle génère une erreur.
0
lupuz Messages postés 71 Statut Membre 11
 
Je pense qu'il vaut mieux ne pas mettre de @ devant les session_start().
Pour être sur que les sessions soient actives, il faut plutôt régler le pb et supprimer les session_start() inutiles.
0
Utilisateur anonyme
 
oui, effectivement, si le code est bien maîtrisé mais là...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
funkeen Messages postés 232 Statut Membre 5
 
c ce ke jai fait ! mais maintenen il ny a plus de sécurité car

if(!isset($_SESSION['nom'])){
header('Location: index.php');
}

ne marche plus !!!! donc l'utilisateur peut kan meme aller sur chat.php sans ki sest choisi un pseudo ( mais bon il peut pas y ecrire donc c deja ca mais bon ca fait moins propre et serieux !)
0
Utilisateur anonyme
 
Que voulez vous dire par ne marche plus ?

Si la session est en marche suite au session_start(); le test va bien se passer même si une erreur est générée suite au session_start() parce que la session est déjà démarrée.

Par contre, si il y a une erreur sur le session_start() et que la session n'est pas démarrée, comme vous le mettiez au début, c'est parce que, avant le session_start() vous envoyez du contenu HTML au navigateur, ça peut être un espace, un retour chariot, n'importe quoi en fait.
0
funkeen Messages postés 232 Statut Membre 5
 
non mais c'est le header('Location: index.php'); qui ne marche plus, vous voyez bien que la condition que j'ai mis ci dessu cherche a voir si le mec n'eesaye pas daller directement sur chat.php sans etre connecte, mais quand on modifie le lien et kon met server.1allo.com ca nous amene kan meme a chat.php alors ke dapres la conditions ca ne devrai pas faire ca !
0