le 17/09/2009 à 23:35
Aniki
J'ai un formulaire de connection (login+mdp) dans le traitement de ce formulaire j'ai deux requetes (un SELECT et un UPDATE) le problème c'est que le UPDATE n'enregistre rien dans la BDD. j'ai beau tourner le problème dans tous les sens j'ai toujours rien dans ma BDD. J précise que mes deux requetes sont sur la meme table. Une solution peut etre avant de perdre mes derniers cheveux.
voici mon code:
voici mon code:
<?php
include('sql.php');
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) AND $_POST['connexion'] == 'OK') {
if ((isset($_POST['membres_pseudo']) AND !empty($_POST['membres_pseudo'])) AND (isset($_POST['membres_mdp']) AND !empty($_POST['membres_mdp']))) {
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membres WHERE membres_pseudo="'.mysql_escape_string($_POST['membres_pseudo']).'"';
$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) {
$result = mysql_query('
UPDATE membres
SET membres_connect=1
WHERE membres_pseudo="'.$_POST['membres_pseudo'].'"
');
// Si une erreur survient
if(!$result)
{
$message = "Erreur d'accès à la base de données lors de la connection";
}
else
{
session_start();
$_SESSION['membres_pseudo'] = $_POST['membres_pseudo'];
header('Location: accueil1.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 inconnu !';
$erreur .= "<br />";
$erreur .= "Merci de recommencer !";
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = "Tous les champs ne sont pas remplis !";
$erreur .= "<br />";
$erreur .= "Merci de recommencer !";
}
}
?>