Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2011, 15h13   #1
Membre à l'essai
 
Femme Pauline
Développeur Web
Inscription : octobre 2010
Messages : 41
Détails du profil
Informations personnelles :
Nom : Femme Pauline
Âge : 20
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2010
Messages : 41
Points : 22
Points : 22
Par défaut Erreur 301 causée par redirections $_SESSION

Bonjour à tous,

Je ne sais pas si je suis vraiment dans le bon forum (si ce n'est pas le cas je m'en excuse et invite les modérateurs à déplacer mon sujet ).
Depuis quelques heures maintenant, je ne peux plus accepter à la partie administrateur de mon site en local.

J'obtiens une ERREUR 301 : TOO MANY REDIRECTS

Or, c'est en train de gentiment m'embêter puisque je dois avancer mon site.
L'erreur est survenue subitement, sans modification du code, qui marchait très bien jusqu'alors.

En parcourant les sites, j'ai essayé plusieurs manip'.
  • J'ai essayé avec Firefox et IE (vu que je suis sous Chrome), sans plus de succès
  • J'ai nettoyé les caches de ces navigateurs, supprimer tout les cookies, essayer en navigation privée, nettoyer mon registre -> pas mieux
  • J'ai mis la date de mon ordi à jour -> toujours pas.
  • J'ai enfin essayé de réinstaller mes navigateurs, ainsi que Wamp.

Donc je m'en remet à vous, car peut-être y a t-il un problème dans mon code ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
	require_once('includes/connexion.php');
	include('includes/header.php');
 
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'connexion') {
	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
 
		// on teste si une entrée de la base contient ce couple login / pass
		$sql = 'SELECT count(*) FROM users WHERE loginUser="'.mysql_escape_string($_POST['login']).'" AND pwdUser="'.mysql_escape_string(md5($_POST['pass'])).'"';
		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
		$data = mysql_fetch_array($req);
 
		mysql_free_result($req);
		mysql_close();
 
		// si on obtient une réponse, alors l'utilisateur est un membre
		if ($data[0] == 1) {
			session_start();
			$_SESSION['login'] = $_POST['login'];
			header('Location: indexadmin.php');
			exit();
		}
		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
		elseif ($data[0] == 0) {
			echo '<div class="echec"><p>Les informations sont erronées.</p></div>';
		}
		// sinon, alors la, il y a un gros problème
		else {
			echo '<div class="echec"><p>Problème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.</p></div>';
		}
	}
	else {
		echo  '<div class="echec"><p>Au moins un des champs est vide.</p></div>';
	}
}
	include("includes/form_connexion.html");
    include('includes/footer.php');
?>


Toutes mes pages de cette partie administrateur (hormis celle-ci et les includes, fonctions et autres scripts indépendants) comprennent ce code :

Citation:
session_start();
if (!isset($_SESSION['login']))
{
header ('Location: index.php');
exit();
}
Merci par avance de votre aide, parce que là je suis littéralement bloquée.

Pauline.
Pauloscorps est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h26   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
index.php inclue-t-il une page possédant ce code de redirection ?
Cela créerai une boucle infinie de redirection ce qui collerai bien avec le message d'erreur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 11h55   #3
Membre à l'essai
 
Femme Pauline
Développeur Web
Inscription : octobre 2010
Messages : 41
Détails du profil
Informations personnelles :
Nom : Femme Pauline
Âge : 20
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2010
Messages : 41
Points : 22
Points : 22
Merci de ta réponse, mais j'ai finalement trouvé le problème (après avoir chercher pendant des heures alors que c'était sous mon nez).
En fait, j'avais ajouté mon code de redirection (si l'utilisateur n'est pas connecté) à mon formulaire, plus à mon fichier qui l'appelait. Donc du coup, ca faisait n'importe quoi
Pauloscorps est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h41.


 
 
 
 
Partenaires

Hébergement Web