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
Configuration: Windows XP
Firefox 3.0.10

7 réponses

  1. Templier Nocturne Messages postés 9989 Statut Membre 1 107
     
    ben c'est quelle ligne la 99 ?
    0
    1. Templier Nocturne Messages postés 9989 Statut Membre 1 107
       
      j'ai rien dit
      0
  2. termgsi Messages postés 678 Date d'inscription   Statut Membre Dernière intervention   39
     
    up ^^
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  7. 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
  8. 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