Rouliendelavegas
Messages postés58Date d'inscriptionvendredi 7 août 2009StatutMembreDernière intervention 7 janvier 2011
-
30 mai 2006 à 10:25
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 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
?>
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 20122 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);
Rouliendelavegas
Messages postés58Date d'inscriptionvendredi 7 août 2009StatutMembreDerniè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 ....)
Vous n’avez pas trouvé la réponse que vous recherchez ?
xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 20122 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