[php/mysql] Probleme de requete

Fermé
sylvainhours - 14 juin 2008 à 06:34
Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 - 14 juin 2008 à 14:11
Bonjour!
Je m'excuse par avance de l'absence d'accents, nos confreres anglo saxons les oublient bien vite
Je cherche a mettre en place un systeme permettant aux utilisateurs de mon forum de reactiver leur compte afin de mettre a jour leurs informations. J'ai donc cree une page php verifiant dans un premier temps l'identite de l'utilisateurs pour ensuite, si celle ci est correcte, envoyer un mail aux admins avec les infos actualisees puis rediriger vers la page adequoite. Et au cas ou l'identification est mauvaise, rediriger vers une page d'erreur.
Le probleme c'est que meme si l'identification est correcte, les utilisateurs sont rediriges vers la page d'erreur et aucun mail n'est envoye...
Donc si quelqu'un aurait la gentillesse de bien vouloir regarder mes codes et m'indiquer la ou j'ai pu faire une erreur ca me serait d'une grande aide parce que je suis vraiment pas doue en programmation....

Page PHP :

<?php

$mysql_host = 'mysql5-8';
$mysql_user = 'forumsce';
$mysql_pass = '-';
$mysql_base = 'forumsce';

$mysql_link = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysql_base);


$login = $_POST['login'];
$md_pass = md5($_POST['password']);
$query = "SELECT username FROM phpbb_users WHERE username='$login' AND user_password='$md_pass'";

$result = mysql_query($query) OR die(mysql_error());

if($array = mysql_fetch_array($result))
{

$msg = "Login:\t$login\n";
$msg .= "Classe:\t$niveau\n";

$recipient = "-@hotmail.com";
$subject = "Reactivation d'un compte d'utilisateur";

$mailheaders = "From: <> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

header("Location: ok.htm" );
exit();
}

if ($_POST['niveau']=='-')
{
header("Location: erreur2.htm" );
}

else
{
header("Location: erreur.htm" );
}

?>

Merci!!
A voir également:

1 réponse

Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
14 juin 2008 à 14:11
Hello

pour vérifier si la personne c'est connecté correctement il vaut mieux vérifier le nombre de ligne que retourne la requête. Si elle retourne une ligne c'est que la personne est connectée, sinon il y a un problème.

$result = mysql_query($query) OR die(mysql_error());

$NbDeLignes = mysql_num_rows($result);

if($NbDeLignes > 0)
{

$msg = "Login:\t$login\n";
$msg .= "Classe:\t$niveau\n";

$recipient = "-@hotmail.com";
$subject = "Reactivation d'un compte d'utilisateur";

$mailheaders = "From: <> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

header("Location: ok.htm" );
exit();
}
else
{
if ($_POST['niveau']=='-')
{
header("Location: erreur2.htm" );
}
else
{
header("Location: erreur.htm" );
}
}
0