Prog bd et php, admin

Fermé
Kentin76 Messages postés 9 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 16 novembre 2009 - 14 nov. 2009 à 14:52
Kentin76 Messages postés 9 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 16 novembre 2009 - 16 nov. 2009 à 15:57
Bonjour,

je rencontre un problème en ce qui concerne une session admin.


Identifiant ou mot de passe incorrect !

Vous ne pouvez pas acceder a votre espace reserve car l'identifiant ou le mot de passe saisi n'a pas ete reconnu.

Retour a la page precedente.

ce que j'ai quand je met mon pseudo et mdp.
sachant que dans ma bd il y a un bien un tuple (admin passe).

voici les codes utiles:

admin.php

<html>
<head>
<title>Votre titre</title>
</head>
<body>
<form method="post" action="controle_ident.php">
<p>login : <input name="pseudoinscri" type="text" size="20"></p>
<p>mot de passe : <input name="mdpinscri" type="password" size="20"></p>
<p><input type="submit" value="Validez"></p>
</form>
<form action='accueil.php'>
<input type="submit" value="Retour">

</form>


controle_ident.php

<?php
session_start();
require('conection.php');
$zone_privee = 'admin1.php' ;
$pseudoinscri = htmlentities($_POST['pseudoinscri']) ;
$pass_crypt =($_POST['mdpinscri']);

if(isset($_GET['logout']) and strlen($_GET['logout']) and is_numeric($_GET['logout'])) {
$_SESSION['log'] = false ;
header("location: admin1.php");
}
// on recherche le (login) et le (mot de passe) dans la BDD //
$sql = 'SELECT pseudoinscri, mdpinscri FROM inscription WHERE pseudoinscri= "'.mysql_escape_string($pseudoinscri).'" AND mdpinscri = "'.$pass_crypt.'"' ;
$rc = mysql_query($sql);

die('<html>
<head>
<title>Administration</title>
</head>
<body>
<p><b>Identifiant ou mot de passe incorrect !</b></p>
<p>Vous ne pouvez pas acceder a votre espace reserve car l\'identifiant ou le mot de passe saisi n\'a pas ete reconnu.<br /><br /><a href="javascript:history.go(-1)">Retour</a> a la page precedente.</p>
</body>
</html>');

// identification réussie //
$_SESSION['log'] = true ;
$_SESSION['pseudoisncri'] = $pseudoinscri ;
// accès à la page d'administration (admin.php) //
header("location: ".$zone_privee);
// envoi d'un e-mail avec l'IP et le login utilisé //
$referer = $_SERVER['HTTP_REFERER'];
$uri = $_SERVER['REQUEST_URI'];
$ip_visiteur = $_SERVER['REMOTE_ADDR'];
$date = date('d/m/y',time());
$heure = date('h:m:s',time());
$MailTo = ("fusion_forever@hotmail.fr");
$MailSubject = "$date : connexion espace admin";
$MailHeader = ("From:connexion.administration@du.site");
$MailBody = "Connexion utilisee (Espace Administration) \n";
$MailBody .= "Le : $date a : $heure \n";
$MailBody .= "IP du visiteur : $ip_visiteur \n";
$MailBody .= "Login utilise : $login \n";
$MailBody .= "Referer : $referer \n";
$MailBody .= "URI : $uri \n";
mail($MailTo, $MailSubject, $MailBody, $MailHeader);
?>
</body>
</html>

admin1.php

/ Partie à mettre sur chaque page utilisant la session //
<?php
session_start();

if($_SESSION['log'] != true) {
echo '<html>
<head>
<title>Administration</title>
</head>
<body>
<p>ACCES INTERDIT</p>
</body>
</html>';
exit;
}
?>
//////////////////////////////////
<html>
<head>
<title>Administration</title>
</head>
<body>
<p>La partie accessible après ouverture de session</p>
</body>
</html>

la bd dont je me sert:

Base de données: `projbarbier`
--

-- --------------------------------------------------------

--
-- Structure de la table `inscription`
--

CREATE TABLE `inscription` (
`idinscri` int(11) NOT NULL auto_increment,
`pseudoinscri` varchar(30) NOT NULL default '',
`mdpinscri` varchar(30) NOT NULL default '',
`mailinscri` varchar(30) NOT NULL default '',
PRIMARY KEY (`idinscri`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

--
-- Contenu de la table `inscription`
--

INSERT INTO `inscription` VALUES (5, 'kentz', '151e6c4eaf006d21981f974196cd63', '***********@hotmail.fr');
INSERT INTO `inscription` VALUES (6, 'admin', '151e6c4eaf006d21981f974196cd63', '');

le mot de passe est en md5
je pense que c'est ca le soucis mais je préfére demander.
A voir également:

3 réponses

irem Messages postés 164 Date d'inscription mardi 22 mai 2007 Statut Membre Dernière intervention 9 octobre 2012 99
14 nov. 2009 à 21:13
Bonjour,

Le code ne fait que ce qu'on lui demande, il requete la base puis fait un die(...)

En fait il faudrait plutot mettre un if (mysql_num_rows($rc)==0) { die()}

Irem
0
Kentin76 Messages postés 9 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 16 novembre 2009
15 nov. 2009 à 12:34
bonjour,

merci pour ta reponse donc je dois faire a peu pers pareil et faire le if pour que celainterroge la bd c'est ca?
afin qu'il me retourne le resulat?

ps:merci pour ta reponse^^

kentz
0
Kentin76 Messages postés 9 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 16 novembre 2009
16 nov. 2009 à 15:57
quelqu'un peut me passer un script pour ce que je demande car je ne trouve pas la solution ce serait sympa merci d'avance.
0