Code erreur ligne 8 [Résolu/Fermé]

Messages postés
145
Date d'inscription
dimanche 16 novembre 2014
Statut
Membre
Dernière intervention
9 novembre 2019
-
Bonjour j'ai crée une fonction en PHP la voici :

function authuser($login, $pass)
{
global $db;
if (isset($_login["Honomatopic"]) && isset ($_pass["honore95"]));
{
connect();
}
else
{
echo 'échec de la connexion: ' . $e->getMessage(); return false;
}
}

authuser();

Or mon navigateur Firefox m'indique une erreur sur le "else" (ligne 8 si je ne m'abuse), et j'ai beau cherché je ne trouve pas. Pouvez-vous m'éclairer ?
Afficher la suite 

7 réponses

Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
8
0
Merci
Bonjour,

pourrais-tu donner l'erreur précise s'il te plait?
Messages postés
145
Date d'inscription
dimanche 16 novembre 2014
Statut
Membre
Dernière intervention
9 novembre 2019
0
Merci
Firefox m'affiche :

Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\xampp\htdocs\minichat\connexion.php on line 8

Sachant que je n'ai pas mis tout le code PHP mais seulement la fonction
Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
8
0
Merci
Bonjour,

l'erreur vient de
if (isset($_login["Honomatopic"]) && isset ($_pass["honore95"])); 


Il ne devrait pas y avoir de point virgule (;) à la fin.
Messages postés
145
Date d'inscription
dimanche 16 novembre 2014
Statut
Membre
Dernière intervention
9 novembre 2019
0
Merci
Ça ne marche toujours pas et c'est même pire puisque le navigateur m'affiche :

Warning: Missing argument 1 for authuser(), called in C:\xampp\htdocs\minichat\connexion.php on line 30 and defined in C:\xampp\htdocs\minichat\connexion.php on line 17

Warning: Missing argument 2 for authuser(), called in C:\xampp\htdocs\minichat\connexion.php on line 30 and defined in C:\xampp\htdocs\minichat\connexion.php on line 17

Notice: Undefined variable: e in C:\xampp\htdocs\minichat\connexion.php on line 26

Fatal error: Call to a member function getMessage() on a non-object in C:\xampp\htdocs\minichat\connexion.php on line 26

Mais voici l'intégralité du code PHP :

<meta charset="utf-8" />
<?php
define('SQL_DSN','mysql:host=localhost;dbname=minichat');
define('SQL_USERNAME','minichat');
define('SQL_PASSWORD','bFG13J8ApEek');

function connect() {
global $db;
try {
$db = new PDO(SQL_DSN, SQL_USERNAME, SQL_PASSWORD);
} catch (PDOException $e) {
echo 'échec de la connexion: ' . $e->getMessage(); return false;
}
return true;
}

function authuser($login, $pass)
{
global $db;
if (isset($_login["Honomatopic"]) && isset ($_pass["honore95"]))
{
connect();
}
else
{
echo 'échec de la connexion: ' . $e->getMessage(); return false;
}
}

authuser();
?>
Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
8
0
Merci
Bonjour,
ce n'est pas pire, c'est juste que certaines variables ne sont pas définies.
Pour commencer, merci de mettre le code entre les balises code, ça sera plus lisible.
Ensuite, ta fonction authuser requiert les variables $login et $pass.
Lorsque tu appelles la fonction il faut donc aussi les spécifier:
authuser('monpseudo', 'monmotdepasse');


Ensuite, dans la fonction connect, la variable $e était définie:
catch (PDOException $e)

Ce n'est pas la cas dans la fonction authuser, la variable $e n'existe pas.

Essaye avec:

function authuser($login, $pass) 
{ 
global $db; 
if (isset($_login["Honomatopic"]) && isset ($_pass["honore95"])) 
{ 
connect(); 
} 
else 
{	
echo 'échec de la connexion: identifiants invalides'; return false; 
} 
} 

authuser('Honomatopic', 'honore95'); 
?>
Messages postés
145
Date d'inscription
dimanche 16 novembre 2014
Statut
Membre
Dernière intervention
9 novembre 2019
0
Merci
Oui ça marche merci cordialement ;)
Messages postés
675
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
16 septembre 2018
8
0
Merci
Bonjour,

si ton problème est résolu, merci de cliquer sur "Marquer comme résolu" en haut de la page.