Connexion possible en local mais pas sur le net..

Eléphant du PHP | 104 Messages

24 juin 2009, 14:04

Bonjour.

Alors voila sur mon site j'ai une petite partie "admin".

Ma connexion marche parfaitement en local. Je viens d'uploader le site sur le ftp, et je remarque qu'il m'est impossible de me conencter a ma partie admin.. Il me redirige sur ma page erreur (qui généralement s'affiche si on essai d'ouvrir ne page admin alors qu'on n'est pas logué).

Par contre si je rentre un mauvais pseudo ou mdp, il m'affiche bien le petit message d'erreur.

Ce qui veux dire qu'il m'envoie uniquement sur la page d'erreur si je rentre un bon pseudo et mdp qui est dans la BDD.

D'ou peux venir le problème ? (oui j'ai bien importer mes BDD, puisque je récupère d'autres infos sur d'autres pages).

Que voulez vous que je post pour m'aider a relger le probleme ?
Est ce un problème de droit ? (genre 777 sur les propriétés de fichiers)

Merci pour votre aide

[EDIT] Petit ajout du code de connexion :

[php]
<?php
//Démarage de session
session_start();

$erreur = "";
// Contrôle pour savoir si le formulaire est validé ou pas
/*
Si la variable $_POST['pseudo'] existe j'entre dans la boucle
*/
if(isset($_POST['pseudo'])){

// On teste si l'utilisateur a saisi qqchose
/*
Si $_POST['pseudo'] n'est pas vide et $_POST['mdp'] n'est pas vide
on continu
*/
if(!empty($_POST['pseudo']) && !empty($_POST['mdp'])){

// Connexion au serveur
include 'connectbdd.php';

// Création de la requête
$pseudo = addslashes($_POST['pseudo']);
$mdp = addslashes(md5($_POST['mdp']));
$sql = sprintf("SELECT * FROM user WHERE pseudo = '%s' AND mdp = '%s'",
mysql_real_escape_string($pseudo),
mysql_real_escape_string($mdp));

// Exécution de la requête et stockage du résultat dans une variable
$enreg = mysql_query($sql) or die($sql);
$result = mysql_fetch_array($enreg);
//print_r($result);
$id_user = $result['id_user'];

// On redirige si l'utilisateur exite
if($id_user != ""){


//Création d'une variable de session qui contient l'id_user
$_SESSION['cle'] = $id_user;


// Redirection auto vers la page 'page.php'
header('location:page.php?msg=Connexion réussie');
}
else{
$erreur = "Utilisateur non trouvé";
}
}
else{
// Message affich si un des champs est vide
$erreur = "Veuillez bien remplir tous les champs<br>";
}
}
else{
$erreur = "Je viens d'ailleurs<br>";
}

?>
[/php]

Eléphant du PHP | 141 Messages

24 juin 2009, 15:37

Essaies de remplacer ton test après la requête par :
// On redirige si l'utilisateur exite
if(empty($result['id_user'])){ 

Eléphant du PHP | 104 Messages

24 juin 2009, 16:18

Non fonctionne toujours pas.

Sa me ré-actualise ma page.

Mes bon si sa marche ne local, et que je change juste le fichier connect pour le net, sa devrait marcher. Le problème vient pas du code mais plutôt de l'hebergement ? Non ?

Eléphant du PHP | 141 Messages

24 juin 2009, 16:19

Compare les versions et les configurations de PHP déjà...

Eléphant du PHP | 104 Messages

24 juin 2009, 16:30

Les mêmes..

Vais attendre demain, et réflechir cette nuit pour trouvé la solution.

Eléphant du PHP | 245 Messages

24 juin 2009, 22:13

Donc c'est le header("location:..") qui pose probleme..

l'authentification à tonadmin se fait bien au niveau applicatif et non au niveau serveur via un .htaccess??

as tu mis session_start() egalement dans page.php ?

peut être que la redirection vers pa page d'erreur arrive avant la prise en compte de la variable $_SESSION...

Eléphant du PHP | 104 Messages

25 juin 2009, 09:36

Voila ça fonctionne. Le problème venait du fait que le nom de domaine n'était pas encore redirigé sur le nouveau serveur.

Donc il n'y avait aucun problème à la base xD