Urgent! problémé authentification avec php

Signaler
Messages postés
5
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
15 mai 2009
-
Messages postés
5
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
15 mai 2009
-
Bonsoir

je veux créer une page d'authentification avec php mais voila les problémes qu'ils me donnent:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\EasyPHP 3.0\www\justeenchere\Untitled-1.php:1) in C:\Program Files\EasyPHP 3.0\www\justeenchere\Untitled-1.php on line 0

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\EasyPHP 3.0\www\justeenchere\Untitled-1.php:1) in C:\Program Files\EasyPHP 3.0\www\justeenchere\Untitled-1.php on line 0

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\EasyPHP 3.0\www\justeenchere\Untitled-1.php:1) in C:\Program Files\EasyPHP 3.0\www\justeenchere\Untitled-1.php on line 0



et voila mon code:



<?php virtual('/justeenchere/Connections/dd.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}



$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}



if (isset($_POST['login'])) {
  $loginUsername=$_POST['login'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "/justeenchere/accueil.php";
  $MM_redirectLoginFailed = "/justeenchere/Untitled-1.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_dd, $dd);
 
  $LoginRS__query=sprintf("SELECT login, pass FROM client WHERE login='%s' AND pass='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
  
  $LoginRS = mysql_query($LoginRS__query, $dd) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
   
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;      



    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>

et voila le code du formulaire:
<form  name="ffff" method="POST" action="<?php echo $loginFormAction; ?>">
  Login:
   
   

  Mot de passe:
 
 

 
   
      
   
 
 

 
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
</form>

6 réponses

Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
salut

sans vouloir être méchant, connais-tu ce que l'on appelle un "moteur de recherche", tu en as un sur ce site et sinon il en existe (au moins) un autre qui s'appelle google.

coup de gueule passé, ton erreur dit qu'il y a du quelques html AVANT la fonction session_start() et comme le dit la doc. faut pas.

++
Messages postés
340
Date d'inscription
dimanche 18 septembre 2005
Statut
Membre
Dernière intervention
22 octobre 2009

Bonjour,

Faut tout simplement mettre la fonction session_start() avant tout autre code. La fonction virtual(), dans ton cas, bousille tout le bazar sinon.

Cordialement,
tropnul
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
son erreur se trouve ici :

?>
<?php

mais euh... on en a par mois des problemes comme ca, tu cherches header already sent sur google et tu vas lire la doc de header.
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
@TropNul
"La fonction virtual(), dans ton cas, bousille tout le bazar sinon"

si c'est une fonction qui n'envoie pas d'html y'a pas de problème...
Messages postés
340
Date d'inscription
dimanche 18 septembre 2005
Statut
Membre
Dernière intervention
22 octobre 2009

@putch
C'est une fonction de PHP servant à faire des sous-requêtes vers APACHE qui, basiquement, flush les données pour réenvoyer des en-tête à la page... Enfin, c'est ce que j'ai compris dans la doc. Je viens de connaître cette fonction aussi.

http://www.php.net/manual/fr/function.virtual.php

Cordialement,
tropnul
Messages postés
5
Date d'inscription
vendredi 10 avril 2009
Statut
Membre
Dernière intervention
15 mai 2009

je vous remercie sur votre réponse et votre réponse a bien marché mais j'ai un autre probléme c'est que quand j'entre le login et le mot de passe qui existe déja dans la base la page se redirige vers la page d'erreur et pas vers accueil.php qui est la page de succés et voici le code :


<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}
require_once('Connections/ii.php');
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}


if (isset($_POST['login'])) {
  $loginUsername=$_POST['login'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "/justeenchere/accueil.php";
  $MM_redirectLoginFailed = "/justeenchere/echec.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_ii, $ii);
 
  $LoginRS__query=sprintf("SELECT login, pass FROM client WHERE login='%s' AND pass='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
  
  $LoginRS = mysql_query($LoginRS__query, $ii) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
   
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;      


    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<html>

<form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
   
    <label>Login:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
             
          </label>
           
              Mot de passe:
               
             

              <label></label>&nbsp;&nbsp;&nbsp;
                        </form>

</html>

je veux ou est le probleme?