Problème PHP / SQL, urgent
Posté : 29 janv. 2011, 12:49
Bonsoir !
J'ai un problème avec mes codes PHP. Je ne sais pas ce qui ne va pas. Merci de votre aide.
Le problème : Impossible de se connecter.
La table SQL
Index.php (connexion)
Client.php (Page membre)
Pouvez-vous m’aidez ?
Je vous remercie d’avance ! Cordialement, aweyh.
J'ai un problème avec mes codes PHP. Je ne sais pas ce qui ne va pas. Merci de votre aide.
Le problème : Impossible de se connecter.
La table SQL
CREATE TABLE `membre` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` text COLLATE utf8_unicode_ci NOT NULL,
`pass_md5` text COLLATE utf8_unicode_ci NOT NULL,
`montant_emprunt` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`total_a_rendre` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`argent_epargne` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`a_rendre_pour` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`emprunt_le` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3
;
Index.php (connexion)
<?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']))) {
$base = mysql_connect ('sql.olympe-network.com', '***', '***');
mysql_select_db ('nom_base', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT id, login, pass_md5 FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.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: client.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) {
$erreur = 'Compte non reconnu. Pour crée un compte client, rendez vous à la banque.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Erreur SQL. Contactez lucasdu16400';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
</head>
<body>
Connexion à l'espace client :<br />
<form action="index.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
Client.php (Page membre)
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<html>
<head>
<title>Espace client Banque Habbo</title>
</head>
<body>
<fieldset>
<legend>Présentation</legend>
Bienvenue dans votre espace client, <?php echo htmlentities(trim($_SESSION['login'])); ?>!<br>
</fieldset><br>
<fieldset>
<legend>Votre epargne</legend>
Argent épargné : <?php echo htmlentities(trim($_SESSION['argent_epargne'])); ?><br>
</fieldset>
<fieldset>
<legend>Emprunt</legend>
<b>Montant de votre emprunt:</b> <?php echo htmlentities(trim($_SESSION['montant_emprunt'])); ?> crédits empruntés le <?php echo htmlentities(trim($_SESSION['emprunt_le'])); ?><br>
<br>
<b>Montant à rendre :</b> <?php echo htmlentities(trim($_SESSION['total_a_rendre'])); ?> crédits à rendre pour le <?php echo htmlentities(trim($_SESSION['a_rendre_pour'])); ?>
</fieldset>
<fieldset>
<legend>Options</legend>
<b><a href="deconnexion.php">Déconnexion du compte client</a><br>
<b><a href="contact/contact.php">Contacter un admin (Bientot)</a>
</fieldset>
<a href="deconnexion.php">Déconnexion de l'espace client</a>
</body>
</html>
Pouvez-vous m’aidez ?
Je vous remercie d’avance ! Cordialement, aweyh.