Php sessions

termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   -  
jeremieca Messages postés 225 Statut Membre -
Bonjour,

<?
$serveur="localhost";
$login="root";
$mdp="";
$bd="jav";

/*
si les champs de login et de mot de passe ne sont pas vides
on insère l'utilisateur.
*/
if($_POST["id"] != "" && $_POST["mdp"] != "")
{
$id = $_POST["id"] ;
$mdp = md5($_POST["mdp"]) ;

$con_base=mysql_connect("$serveur", "$login","") or die ("erreur de connexion");
mysql_select_db($bd,$con_base);

//création de la requête SQL
$sql = "SELECT * FROM utilisateur WHERE id = '".$id."' AND mdp = '".$mdp."'" ;
//exécution de la requête SQL
$requete = @mysql_query($sql, $con_base) or die($sql."<br>".mysql_error()) ;
//on récupère le résultat
$result = mysql_fetch_object($requete) ;
//si la requête s'est bien passée
if(is_object($result))
{
//début de la sessions
session_start() ;
//enregistrement d'une variable de session, ici le login de l'utilisateur
$_SESSION["login"] = $login ;

header("Location: competition.html") ;
}//fin if
//sinon on retourne à la page d'inscription
else
{
header("Location: competition.html") ;
}//fin else
}//fin if
/*
sinon on retourne à la page d'inscription
*/
else
{
header("Location: competition.html") ; ===> ligne 99
}//fin else
?>

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\alex4\bddlog.php:16) in c:\program files\easyphp1-8\www\alex4\bddlog.php on line 99
A voir également:

7 réponses

Templier Nocturne Messages postés 9989 Statut Membre 1 107
 
ben c'est quelle ligne la 99 ?
0
Templier Nocturne Messages postés 9989 Statut Membre 1 107
 
j'ai rien dit
0
termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   39
 
up ^^
0
Alain_42 Messages postés 5413 Statut Membre 894
 
mets <?php au lieu de <?

ensuite tu mets //on insérer l'utilisateur alors que tu fais une requette SELECT ??

ensuite ton warning dit que l'on ne peut pas faire Header Location...

par ce que tu as du envoyer déja du HTML avant

donc verifies bien que avant le coode que tu nous a donné tu n'ai pas de html

Même pas une ligne vide ou un espace
0
termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   39
 
Plus aucune erreur mais le problème vient de la condition, elle me renvoie toujours sur le même page que le mdp soit faux ou pas ! Elle renvoie toujours à la page médias.html

<?php

$serveur="localhost";
$login="root";
$mdp="";
$bd="jav";

/*
si les champs de login et de mot de passe ne sont pas vides
on insère l'utilisateur.
*/
if($_POST["id"] != "" && $_POST["mdp"] != "")
{
$id = $_POST["id"] ;
$mdp = md5($_POST["mdp"]) ;

$con_base=mysql_connect("$serveur", "$login","") or die ("erreur de connexion");
mysql_select_db($bd,$con_base);

//création de la requête SQL
$sql = "SELECT * FROM utilisateur WHERE id = '".$id."' AND mdp = '".$mdp."'" ;
//exécution de la requête SQL
$requete = @mysql_query($sql, $con_base) or die($sql."<br>".mysql_error()) ;
//on récupère le résultat
$result = mysql_fetch_object($requete) ;
//si la requête s'est bien passée
if(is_object($result))
{
//début de la sessions
session_start() ;
//enregistrement d'une variable de session, ici le login de l'utilisateur
$_SESSION["id"] = $id ;

header("Location: competition.html") ;
}//fin if
//sinon on retourne à la page d'inscription
else
{
header("Location: medias.html") ;
}//fin else
}//fin if
/*
sinon on retourne à la page d'inscription
*/
else
{
header("Location: club.html") ;
}//fin else
?>
0

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

Posez votre question
Alain_42 Messages postés 5413 Statut Membre 894
 
testes plutot comme ça:

<?php
$serveur="localhost";
$login="root";
$mdp="";
$bd="jav";

/*
si les champs de login et de mot de passe ne sont pas vides
on recherche l'utilisateur.
*/
if($_POST["id"] != "" && $_POST["mdp"] != "")
{
	$id = mysql_escape_string($_POST["id"]) ; //mysql_escape_string protège des attaques par injection mysql
	$mdp = md5($_POST["mdp"]) ;

	$con_base=mysql_connect("$serveur", "$login","") or die ("erreur de connexion");
	mysql_select_db($bd,$con_base);

	//création de la requête SQL
	$sql = "SELECT * FROM utilisateur WHERE id = '".$id."' AND mdp = '".$mdp."'" ;
	//exécution de la requête SQL
	$requete = mysql_query($sql, $con_base) or die($sql."<br>".mysql_error()) ;
	//on récupère le résultat
	$result = mysql_num_rows($requete) ; //retourne le nombre de réponses trouvées
	//si l'utilisateur a été trouvé
	if($result==1)
	{
		//début de la session
		session_start() ;
		//enregistrement d'une variable de session, ici le login de l'utilisateur
		$_SESSION["id"] = $id ;

		header("Location: competition.html") ;
		}//fin if
		//sinon on retourne à la page d'inscription
	else
	{
		header("Location: medias.html") ;
	}//fin else
}//fin if
	/*
	sinon on retourne à la page d'inscription
	*/
else
{
	header("Location: club.html") ;
}//fin else
?>
0
termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   39
 
Toujours le même problème, elle renvoie toujours à la page médias.html
0
jeremieca Messages postés 225 Statut Membre 28
 
Fais un echo($result); Pour voir ce qu'il t'affiche !

Sinon tu peux apprendre à faire un espace membre en vidéo ici :

http://tutoriels-video.net/php-niv-intermediaire/espace-membre-securise-en-php-224

Bye !
0