Code erreur ligne 8

Résolu/Fermé
Utilisateur anonyme - Modifié par Honomatopic le 16/11/2014 à 14:30
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 - 16 nov. 2014 à 15:46
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 ?
A voir également:

7 réponses

Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
16 nov. 2014 à 14:38
Bonjour,

pourrais-tu donner l'erreur précise s'il te plait?
0
Utilisateur anonyme
16 nov. 2014 à 14:44
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
0
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
Modifié par Anonyme209 le 16/11/2014 à 15:05
Bonjour,

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


Il ne devrait pas y avoir de point virgule (;) à la fin.
0
Utilisateur anonyme
16 nov. 2014 à 15:10
Ç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();
?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
Modifié par Anonyme209 le 16/11/2014 à 15:25
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'); 
?>
0
Utilisateur anonyme
16 nov. 2014 à 15:40
Oui ça marche merci cordialement ;)
0
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
16 nov. 2014 à 15:46
Bonjour,

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