bloqué à la page index en distant

bloqué à la page index en distant - PHP - Programmation

Marsh Posté le 18-11-2004 à 22:13:08    

Salut tout le monde! :)  
La première page de mes pages perso free, est une page index.php, où il y a une authentification sur la bd sql de free.
 
En local, j'ai testé l'identification, ça marche nickel, mais en distant, il reconnait les utilisateurs autorisés, mais je ne suis pas dirigé vers ma page d'accueil, càd que je me retrouve sur page index.php.
 
La bd et les fichiers sont bien les mêmes. L'erreur doit venir de mon chemin distant définit dans mon fichier "connection.php". Voici des détails de ce fichier. Merci de votre attention  ;)  
 
 
 
if (($_SERVER['HTTP_HOST']=="localhost" )||($_SERVER['HTTP_HOST']=="127.0.0.1" ))
{
 ///////////////////////////////////////////////////////
 // Paramètres de connexion sur la base MySQL en local
 //////////////////////////////////////////////////////
 
 $hostname_Conn = "localhost";
 $database_Conn = "db_monsite";
 $username_Conn = "root";
 $password_Conn = "";
 $Conn = mysql_pconnect($hostname_Conn, $username_Conn, $password_Conn) or trigger_error(mysql_error(),E_USER_ERROR);
 $host_path = "http://".$_SERVER['HTTP_HOST']."/monsite/";  
 
}
else  
{
 ///////////////////////////////////////////////////////
 // Paramètres de oonnexion sur la base MySQL distante
 //////////////////////////////////////////////////////
 $hostname_Conn = "sql.free.fr";
 $database_Conn = "mon_login";
 $username_Conn = "mon_login";
 $password_Conn = "mon_password";
 $Conn = mysql_pconnect($hostname_Conn, $username_Conn, $password_Conn) or trigger_error(mysql_error(),E_USER_ERROR);
 $host_path = "http://mon_login.free.fr/monsite/";  
}

Reply

Marsh Posté le 18-11-2004 à 22:13:08   

Reply

Marsh Posté le 18-11-2004 à 23:42:42    

Je me suis relu, et je crois que je n'ai pas été trop clair.
 
Mon problème est qu'en distant, après avoir bien saisi mon loggin et mon mot de passe, la page d'authentification est rappelée, et je ne suis pas dirigée vers une autre page comme je le suis en local
Merci

Reply

Marsh Posté le 19-11-2004 à 09:20:50    

tu peux nous montrer le code qui gère la redirection s'il te plait?

Reply

Marsh Posté le 19-11-2004 à 12:50:43    

bob007 a écrit :

tu peux nous montrer le code qui gère la redirection s'il te plait?


 
j'allais demander la même chose. Pour info, j'ai eu le même genre de pb pour une appli développé sous Win2000 et installée sur une redhat. Y'avait pas les mêmes variables d'environnements (les $_ENV et les $_SERVER)...

Reply

Marsh Posté le 19-11-2004 à 13:39:22    

oui c'est exactement à ce type de pb que je pensais! :)

Reply

Marsh Posté le 19-11-2004 à 19:33:46    

if((isset($_POST['loginclient'])) && (isset($_POST['projet'])))
{
 doLogin($database_Conn, $Conn);
}
 
if (isset($_SESSION['valid_user']))
{
 header("Location:accueil.php" );
}
 
mysql_select_db($database_Conn, $Conn);
$proj_sql = ' SELECT DISTINCT projet FROM  users ';
 
$rs_proj = mysql_query($proj_sql, $Conn) or die(mysql_error());
 
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- DW6 -->
<head>
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
 
 
</head>
<body>
 
 
 
 
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<form name="identif" id "identif" method ="post" action="<?php echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; ?>">
   <td width="35%" height="276" valign="top">
 
 
Voilà, c'est l'essentiel de mon code d'index.php. J'y fais appel, à une fonction doLogin, défini dans un autre fichier, afin de tester si l'utilisateur est présent dans ma bd.
 
Merci.

Reply

Marsh Posté le 22-11-2004 à 09:12:17    

c'est ta fonction dologin() qui set les variables de session?
 
Autrement dans ta balise form il manque un = entre id et "identif"

Reply

Marsh Posté le 22-11-2004 à 18:14:31    

oui.  
Merci

Reply

Marsh Posté le 23-11-2004 à 09:15:01    

tu peux nous montrer dologin() stp

Reply

Marsh Posté le 26-11-2004 à 21:43:45    

function doLogin($database_Conn, $Conn){  
session_start();
 
if(isset($_GET['logout']))
{
   
  // Teste si la variable de session est initialisée ou pas
 
  unset($_SESSION['valid_user']);
  unset($_SESSION['user_id']);
  unset($_SESSION['infos_conn']);
  unset($_SESSION['form_conn']);
  unset($_SESSION['projet']);
}
 
if ((isset($_POST['loginclient'])) && (isset($_POST['pwdclient'])) && (isset($_POST['projet'])))
{
  // Définit les variables courtes
  $utilslogin=$_POST['loginclient'];
  $utilspwd=$_POST['pwdclient'];
  $utilsproj=$_POST['projet'];
   
  // Intervient si l'utilisateur vient juste de se connecter
 
  mysql_select_db($database_Conn, $Conn);
  $query =' SELECT * '
        . ' FROM `users` '
        . ' WHERE username = "'.$utilslogin.'" AND '
        . ' password = "'.$utilspwd.'" AND'
  . ' projet = "'.$utilsproj.'"';
 
   
  $result = mysql_query($query, $Conn);
  $utils_infos=mysql_fetch_assoc($result);
   
   
  if (mysql_num_rows($result) >0 )
  {
 
    // Si les identifiants sont dans la base de données on authentifie l'utilisateur
    $_SESSION['user_id']   = $utils_infos['user_id'];
 $_SESSION['valid_user']= $utils_infos['user_accountnum'];
 $_SESSION['projet']    = $utilsproj;
 //////////////////////////////////////////////////
 // On affiche les coordonnées de l'utilisateur  //
 //////////////////////////////////////////////////
 
  }
}
 
  if (isset($_SESSION['valid_user']))
  {
  $utils=$_SESSION['valid_user'];
  $query = "select * from users where user_accountnum='".$utils."'";
  $result = mysql_query($query, $Conn);
  $utils_infos=mysql_fetch_assoc($result);
   
   
  $infos_conn = '<b>Bienvenue '.$utils_infos['title'].' '.$utils_infos['first_name'].' '.$utils_infos['last_name'];
  $infos_conn  .= '</b> | <a href="'.$_SERVER['PHP_SELF'].'?';
   
  if(!empty($_SERVER['QUERY_STRING']))
   {
 $infos_conn .= $_SERVER['QUERY_STRING'].'&';
 }
 
  $infos_conn .= 'logout=y">  Déconnexion </a>';
  $_SESSION['infos_conn'] = $infos_conn;
 
  }
  else  
  {
    if (isset($_POST['loginclient']))
    {
    // Si la tentative de connexion a été refusée
 $msg  ='<div align="center" style="width:50%; background-color:#ff0000; color:#FFFFFF; padding:3px; border-style:solid; border-width:1px; border-color:#A50000; text-align:center;">Identification incorrecte, réessayez...</div>';
    $msg .='<br/>';
 $_SESSION['form_conn'] = $msg;
 }
    else  
    {
  //Sinon le login n'est pas accompli
 $msg='';
 $_SESSION['form_conn'] = $msg;
 }  
  }
}
?>
 
Voilà.  
 
Merci

Reply

Marsh Posté le 26-11-2004 à 21:43:45   

Reply

Marsh Posté le 26-11-2004 à 21:51:37    

Mais, je répète : ma page index reconnaît les utilisateurs enregistrés dans ma bd et ceux qui ne le sont pas. En effet, j'ai un message d'erreur lorsque le mot de passe ou login est incorrect et je n'ai rien lorsque les identifiants sont corrects. En fait, lorsque je valide mes données pour m'identifier, la fin de l'url est index.php? alors que lors de mes tests positifs en local, la fin de l'url est accueil.php

Reply

Marsh Posté le 27-11-2004 à 01:17:09    

J'ai enlevé l'error reporting de mon fichier index.php.
 
Maintenant, j'ai cette erreur :  
 
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/e/c/mon_login/monsite/css/file.css:1) in /var/www/free.fr/e/c/mon_login/monsite/index.php on line 17
 
Quelqu'un voit des explications?
 
C'est mon header("Location:accueil.php" ); qui pose pb?

Reply

Marsh Posté le 28-11-2004 à 10:55:27    

rmm a écrit :

J'ai enlevé l'error reporting de mon fichier index.php.
 
Maintenant, j'ai cette erreur :  
 
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/e/c/mon_login/monsite/css/file.css:1) in /var/www/free.fr/e/c/mon_login/monsite/index.php on line 17
 
Quelqu'un voit des explications?
 
C'est mon header("Location:accueil.php" ); qui pose pb?


 
ça, ça veut dire que t'as déjà écrit qq chose dans ta page, donc, tu ne peux pas faire une redirection vers une autre page.

Reply

Marsh Posté le 28-11-2004 à 13:42:44    

dans ce cas redirige en javascript en faisant windows.location='page.php'

Reply

Marsh Posté le 28-11-2004 à 18:59:36    

spaceuniverse a écrit :

dans ce cas redirige en javascript en faisant windows.location='page.php'

:non: ne fait pas d'output avant ton header :/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed