Prog bd et php, admin

Kentin76 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Kentin76 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
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.

3 réponses

irem Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   99
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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