Erreur a l'ouverture de session

Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011 - 30 mai 2006 à 10:25
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 - 30 mai 2006 à 15:41
Cela commence a m'enerver, j'ai sans cesse cette erreur dés la premiere ligne de mon script:

Cannot send session cookie - headers already sent by

Pourtant je n'y comprend rien, car session_start() est la premiere ligne de ma page et je ne vois donc pas pourquoi ça ne fonctionne pas.

Si vous avez une idée, je vous colle le debut de ma page:

<? session_start();
if (isset($valide)) {
 if (isset($_POST['login']) && isset($_POST['passe']))
 {
 if ($_POST['login'] != NULL && $_POST['passe'] !=NULL)
            {
            $_SESSION['login'] = $_POST['login'];
            $_SESSION['passe'] = $_POST['passe'];
                            mysql_connect("localhost","rouliendelavegas","123456") or die ("Connection impossible !");
 mysql_select_db("technique") or die ("Selection de base impossible !");
 $recup = mysql_query("SELECT pass_usr, pseudo_usr FROM usr WHERE pass_usr='{$_POST['passe']}' AND pseudo_usr='{$_POST['login']}'") or die ("Requete non effectu?!");
 $num = mysql_num_rows($recup);
 if ($num == "1")
 {
 echo "Passe et pseudo corrects ! OK !";
 }else{
 echo" Password et login faux !";
 }
 }
 }


} else {
// SI LE FORMULAIRE N4A PAS ETE TRAITER, ON LE REAFFICHE
?>

MERCI

5 réponses

xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
30 mai 2006 à 10:33
tu fé pas un include de ta page par azar ?
exemple :
index.php
<html>
<head><title></title>
</head>

<!-- blabla HTML-->
<?PHP
include('ma_page.php');
?>
<!-- blabla HTML-->

</html>
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
30 mai 2006 à 10:38
Edit :
si c'est un formulaire pour ce loguer
tu doit vérifier le $_POST['login'] et le $_POST['pass'] avec les valeur de ta base de donnée pas de la session ?

et aussi quand tu balance du code evite de mettre tes login et pass de ta base de données :/ on c'est jamais sur qui on tombe

stocke tes donéne de connexion dans un fichier exemple
*** conf.inc.php ***
<?PHP
$login = "login";
$pass = "pass";
$serveur = "localhost";
$base = "base";

et dans tes fichier php ou tu te connect
include_once('conf.inc.php');
mysql_connect("$serveur","$login","$pass") or die ("Connection impossible !");
mysql_select_db("$base") or die ("Selection de base impossible !");

comme sa le jour ou tu change de serveur ben ta pa tous ton code a changer juste le fihcier ocnf.inc.php

et dernier chose quand tu ouvre une base de donnée ferme la :/

$connexion = mysql_connect("$serveur","$login","$pass") or die ("Connection impossible !");
//blabla PHP
mysql_close($connexion);

voila
0
David_monchy Messages postés 214 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 23 juin 2006 1
30 mai 2006 à 14:29
Salut,
essaye en remplaçant
<? session_start();
par
<?php
session_start();
0
Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011
30 mai 2006 à 15:32
Merci de vos reponse.

J'ai reussi a trouver tout seul en fait, juste en virant carement le session_start()

Mais aprés j'ai eu un probleme a cause du header car le formulaire du login est sur la meme page, mais je l'ai corrigé avec un ob_start(); en tout debut de fichier

j'ai mis mon session_start aprés la condition du nb de resultat et la c impecable !!! ça marche enfin

merci de votre aide

pour le mot de pass t'inkiete c'est pas celui la... lol
si non ouai je connais les include mais c'etait juste pour faire un test vite fait, la j'ai paufiner le bouzain et c operationnel 

j'ai changer mon systeme de session pour mettre sa:

if ($num == "1")
    {
     session_start();
     session_register("login");
     header("Location: home.php");
    }else{
     echo" Password et login faux !";
    }

sa marche mais est-ce assez securisé (enfin mon reseau est impenetrable donc jme fait pas de bil mais j'ai envie d'apprendre des trucs donc ....)
0

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

Posez votre question
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
30 mai 2006 à 15:41
perso pour moi tout ceux qui est formulaire est TRES dangereux en ffet qui dit formulaire et base de donnée dit que si c'est mal coder deriere l'internaute peut rentrer ce qu'il veut dans ta base
donc fait attention au SQL injection et verifie bien les donnée venant des tes input avant de les inserer dans ta base de donnée (notament pour l'inscription)

jprend un exemple tout con :
si le gas s'incrit avec comme pseudo :
<script language="javascript"
type="text/javascript">
<!--
window.location.replace(
"http://www.un-site.com/une-page.htm");
-->
</script>

des que son nom sera afficher sa va rediriger l'internaute vers le site de son choix (ceci ce fait assez souvent sur des Tribune libre par exemple)
coM sa au chargement de la tribune libre le site est rediriger vers le site ...

Donc fait TRES attention a verifier tous ce que l'internaute peut entrer comme donnée
0
Rejoignez-nous