Code erreur ligne 8
Résolu
Utilisateur anonyme
-
Anonyme209 Messages postés 761 Statut Membre -
Anonyme209 Messages postés 761 Statut Membre -
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 ?
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 ?
7 réponses
-
Bonjour,
pourrais-tu donner l'erreur précise s'il te plait? -
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 -
Bonjour,
l'erreur vient deif (isset($_login["Honomatopic"]) && isset ($_pass["honore95"]));
Il ne devrait pas y avoir de point virgule (;) à la fin. -
Ç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();
?> -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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'); ?> -
-
Bonjour,
si ton problème est résolu, merci de cliquer sur "Marquer comme résolu" en haut de la page.