par
Kaoteknik » 18 nov. 2007, 20:14
Pour commencer remplace :
$result = mysqli_query($cxn,$sql) or die("Requête 1 en échec");
Par :
$result = mysqli_query($cxn,$sql) or die(mysql_error());
Mais aussi :
$cxn = mysqli_connect($host, $user, $password, $memberdirectory) or die("connexion impossible dans la case login");
Par :
$cxn = mysqli_connect($host, $user, $password, $memberdirectory) or die(mysql_error());
Cela te permettra d'avoir des indications bien plus précieuses pour comprendre l'origine de l'erreur.
Par contre pense à utiliser le bouton "PHP" au-dessus du champ de saisi de texte sur le forum afin de profiter de la coloration syntaxique dans le corps du message... Comme ceci :
<?php
/* Programme :Login.php
* Description :Programme de login pour la section à accés réservé
* de l'animalerie. Il propose deux options :
* 1 - s'identifier par uin coupe de login/mot de passe
* 2 - créer un cnouveau compte
* Identificateurs et mots de passe sont conservés
* Dans une base de données MySQL.
*/
session_start();
include("chiens.inc");
switch (@$_POST['do'])
{
case "login";
$cxn = mysqli_connect($host, $user, $password, $memberdirectory)
or die("connexion impossible dans la case login");
$sql = "SELECT loginName FROM member WHERE loginName='$_POST[fusername]'";
$result = mysqli_query($cxn,$sql)
or die("Requête 1 en échec");
$num = mysqli_num_rows($result);
if($num > 0 ) // logiName non trouvé
{
Je te conseillerai aussi de supprimer l'arobase que tu as mis sur le "switch". Placer un arobase permet en effet de masquer les éventuels messages d'erreur, ce qui n'est pas forcément pratique pour déboguer un script.
Enfin, pense également à placer des indentations dans ton code, tu y gagneras en lisibilité.
Edition : il me semble qu'il te manque une fonction pour établir la connexion avec ta base de données. Après :
$cxn = mysqli_connect($host, $user, $password, $memberdirectory) or die(mysql_error);
Ajoute la ligne suivante :
mysql_select_db($memberdirectory, $cxn) or die(mysql_error());
Mais pour que la connexion avec la base de données puisse s'établir, il te faut également un fichier externe contenant les informations de connexion.
Après :
session_start();
Ajoute :
include ('nom_du_fichier_contenant_les_infos_de_connexion.php');
Puis crée le fichier contenant les infos censées être récupérées dans tes variables de connexion ($host, $user, $password et $memberdirectory).