Code erreur ligne 8

Résolu
Utilisateur anonyme -  
Anonyme209 Messages postés 681 Date d'inscription   Statut Membre Dernière intervention   -
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 ?

7 réponses

Anonyme209 Messages postés 681 Date d'inscription   Statut Membre Dernière intervention   16
 
Bonjour,

pourrais-tu donner l'erreur précise s'il te plait?
0
Utilisateur anonyme
 
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 681 Date d'inscription   Statut Membre Dernière intervention   16
 
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
 
Ç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 681 Date d'inscription   Statut Membre Dernière intervention   16
 
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
 
Oui ça marche merci cordialement ;)
0
Anonyme209 Messages postés 681 Date d'inscription   Statut Membre Dernière intervention   16
 
Bonjour,

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