Page 1 sur 2

Problème formulaire connexion

Posté : 28 sept. 2014, 15:03
par Larker
Bonjour à tous,

Je suis actuellement en train de travailler sur un ancien site à moi et je me rend compte qu'un certain nombre de chose ne fonctionne plus.
C'est actuellement le cas de la connexion à l'administration du site et je n'arrive pas à voir ce qui cloche avec.

Voici mon code :
<?php
if(isset($_POST['connexion_admin'])) {
{
	if(!empty($_POST['information']['pseudo_admin']) &&
		!empty($_POST['information']['motdepasse_admin']))
	{
		$pseudoAdmin		= $_POST['information']['pseudo_admin'];
		$motdepasseAdmin	= md5($_POST['information']['motdepasse_admin']);
		$validInfosAdminQuery	= $bdd->prepare("SELECT * FROM	admin_membre WHERE	pseudo=:pseudo AND
												motdepasse=:motdepasse");
		$validInfosAdminQuery->execute(array('pseudo' => $pseudoAdmin, 'motdepasse' => $motdepasseAdmin));
		if($validInfosAdminQuery->rowCount() != 0)
		{
			$validInfos		= $validInfosAdminQuery->fetch();
			$_SESSION['id']		= $validInfos['id'];
			$_SESSION['rang']	= $validInfos['rang'];
			$_SESSION['pseudo']	= $validInfos['pseudo'];
			header('Location: ./administration/');
		}
	}
}
}
?>
		<div id="connexionadmin">
			<form method="post" action="">
				<table>
					<tr>
						<td>
							Pseudo:
						</td>
						<td>
							<input	type="text"
								name="information[pseudo_admin]"
								class="input-admin"
								onfocus="if(this.value =='Pseudo:' ) this.value=''"
								onblur="if(this.value=='') this.value='Pseudo:'"
								value="Pseudo:"/>
						</td>
					</tr>
					<tr>
						<td>
							Mot de passe:
						</td>
						<td>
							<input	type="password"
								name="information[motdepasse_admin]"
								class="input-admin"
								onfocus="if(this.value =='Motdepasse:' ) this.value=''"
								onblur="if(this.value=='') this.value='Motdepasse:'"
								value="Motdepasse:"/>
						</td>
					</tr>
					<tr>
						<td colspan="2">
							<input	type="submit"
								name="connexion_admin"
								class="submit-admin"/>
						</td>
					</tr>
				</table>
			</form>
		</div>
Merci à ceux qui pourront m'orienter avant que je ne m'arrache les cheveux. :p

Re: Problème formulaire connexion

Posté : 28 sept. 2014, 17:55
par ErwinB
Bonjour,

Pour pouvoir te répondre, as-tu une erreur lorsque le code est exécuté ?

Re: Problème formulaire connexion

Posté : 28 sept. 2014, 18:50
par Larker
Non je n'ai aucune erreur mais rien ne se passe, ça ne redirige pas vers mon dossier administration et quand je veux accéder manuellement au dossier je ne peux pas y accéder car je ne dois pas être connecté. (page blanche)

Re: Problème formulaire connexion

Posté : 28 sept. 2014, 23:05
par Fantole
Bonjour Larker

Difficile de t'aider avec ce simple morceau de code.
Tu fais appel à des fonctions que nous n'avons pas comme :

- prepare
- execute

Et j'en passe.

Re: Problème formulaire connexion

Posté : 29 sept. 2014, 08:23
par xTG
Il utilise PDO (voir la doc pour ces fonctions).

Que te donnes un var_dump($_POST); en début de script ? Te liste-t-il toutes tes variables ?
Il te manque un session_start(); en début de script pour pouvoir utiliser les variables de session.

Affiches $motdepasseAdmin et compare le à celui que tu as en base de données.
Affiches le retour de rowCount().

Re: Problème formulaire connexion

Posté : 29 sept. 2014, 18:34
par Larker
Salut xTG, j'ai essayé le var dump et ça m'affiche ça :array(0) { }

Re: Problème formulaire connexion

Posté : 29 sept. 2014, 20:25
par xTG
Salut xTG, j'ai essayé le var dump et ça m'affiche ça :array(0) { }
C'est donc qu'aucun formulaire n'a été envoyé via la méthode POST.
Si c'est bien en postant un formulaire que tu arrives sur cet affichage il faut vérifier que tu n'as pas entre deux un script qui fait une redirection (ou une règle serveur).

Re: Problème formulaire connexion

Posté : 30 sept. 2014, 17:27
par Larker
Ah non pardon, je me suis trompé, en envoyant le formulaire avec le var dump ça me donne ça :
array(3) { ["pseudo_admin"]=> string(8) "Larker" ["motdepasse_admin"]=> string(8) "123456" ["connexion_admin"]=> string(7) "Envoyer" }

Donc bon je ne vois vraiment pas ce qui ne fonctionne pas, c'est vraiment le dernier élément qui me bloque pour finaliser mon site et je ne vois vraiment pas comment corriger cela. :/

Re: Problème formulaire connexion

Posté : 30 sept. 2014, 20:41
par xTG
Je ne vois pas d'index information dans ton dump.
Donc : $_POST['pseudo_admin'] au lieu de $_POST['information']['pseudo_admin'] (et de même pour les autres) ;)

Re: Problème formulaire connexion

Posté : 30 sept. 2014, 20:43
par Larker
Oui j'ai fais les modifications avant de mettre le var dump donc c'est déjà fait. ;)

Re: Problème formulaire connexion

Posté : 02 oct. 2014, 18:15
par Larker
Personne n'a d'idée d'où pourrait venir le problème ? :/

Re: Problème formulaire connexion

Posté : 02 oct. 2014, 18:51
par dix2
Bonjour,
Ta session est-elle bien démarrée ?
ajoute un "session_start();" juste avant "$_SESSION['id'] = $validInfos['id'];"
dix2

Re: Problème formulaire connexion

Posté : 02 oct. 2014, 18:53
par dix2
"session_start();" à ajouter aussi dans les autres fichiers

Re: Problème formulaire connexion

Posté : 02 oct. 2014, 19:09
par Larker
J'ai ajouté le session start comme convenue mais ça ne marche toujours pas, ça me renvoie vers le dossier admin mais la page est blanche, la session start ne doit pas s'activer.

Re: Problème formulaire connexion

Posté : 02 oct. 2014, 19:13
par dix2
il faut ajouter le "session_start();" aussi sur la page vers laquelle on est redirigé