Code PHP erreur ligne 31

Fermé
Utilisateur anonyme - 16 nov. 2014 à 20:32
 Utilisateur anonyme - 16 nov. 2014 à 21:59
Bonsoir. J'ai ce code PHP le voici :

<meta charset="utf-8" />
<?php
include_once 'connexion.php';
include_once 'htmlparts.php';

session_start();

// revérifier que l'utilisateur arrivant ici est authentifié
//--------------------------------------------------------

function authuser($login, $pass)
{
global $SESSION;
if (isset($_login['login']) && isset ($_pass['pass']))
{
connect($MINICHATFORM);
}
else
{
include ("htmlparts.php");
}
}

// se connecter à la base de données
if (!connect()) {
echo 'chat - erreur: Pas de connexion';
exit;
}

// mettre à jour la base si un message a été envoyé
// --------------------------------------------------------

function authmess ($login, $message)
{
global $SESSION;
if (isset($_login['login']) && isset ($_message['message']))
{
$req = $db->query('SELECT login, msg FROM message
INNER JOIN user ON user.id = user_id');
$messages = $req->fetchAll(PDO::FETCH_ASSOC);
}
else
{
echo 'chat - erreur: Pas de message';
}
}

// récupérer les 5 derniers messages et leurs auteurs
$req = $db->query('SELECT login, msg FROM message
INNER JOIN user ON user.id = user_id
ORDER BY posted DESC LIMIT 5;');
$messages = $req->fetchAll(PDO::FETCH_ASSOC);

// composer la page HTML
ecris (HTMLTOP);
ecris (MENULINE, '<!-- login -->', $_SESSION['login']);
ecris (MINICHATFORM);
foreach ($messages as $message)
{
ecris (CHATLINE, array('<!-- login -->','<!-- msg -->'), $message);
}
// --------------------------------------------------------

?>

Et mon navigateur Firefox affiche cette erreur :

Fatal error: Cannot redeclare authuser() (previously declared in C:\xampp\htdocs\minichat\chat.php:10) in C:\xampp\htdocs\minichat\connexion.php on line 31


Pouvez-vous trouver pourquoi ?

Cordialement
A voir également:

6 réponses

DaRk_ChRiS Messages postés 102 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 8 mai 2015 22
Modifié par DaRk_ChRiS le 16/11/2014 à 21:28
Salut, peut tu poster la page connexion, apparemment il y a une erreur a la ligne 31 de cette page ^^
0
Utilisateur anonyme
16 nov. 2014 à 21:28
Non cette page s'appelle chat.php



La page connexion.php est ici :

<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($MINICHATFORM);
}
else
{
echo 'échec de la connexion: identifiants invalides'; return false;
}
}

authuser('login', 'pass');
?>
0
DaRk_ChRiS Messages postés 102 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 8 mai 2015 22
16 nov. 2014 à 21:32
L'erreur "cannot redeclare authuser()" vient du fait que tu as inclus deux fois ta page.
Une fois dans la page chat à la ligne 10 et une autre fois sur la page connexion à la ligne 31
0
Utilisateur anonyme
16 nov. 2014 à 21:44
OK merci
0

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

Posez votre question
Bonjour

D'après le message d'erreur que je vois :
"Fatal error: Cannot redeclare authuser() (previously declared in C:\xampp\htdocs\minichat\chat.php:10) in C:\xampp\htdocs\minichat\connexion.php on line 31 "

l'erreur viendrait qu'une fonction que vous avez déclarez ligne 10
global $SESSION;
if (isset($_login['login']) && isset ($_message['message']))
...

et redeclarée à la ligne 31
global $SESSION;
if (isset($_login['login']) && isset ($_message['message']))
..

Je pense que le mieux serait de faire dans une autre page lafonction qui vérifie le couple login et mot de pase.
Avec un include pour appelez la fonction dans votre page et dans un if
(if (statut ==valid) {
//ici vous mettez votre code pour la mise à jour
]
0
Utilisateur anonyme
16 nov. 2014 à 21:59
Excusez-moi ça m'affiche ceci :

Notice: Use of undefined constant statut - assumed 'statut' in C:\xampp\htdocs\minichat\chat.php on line 11

Notice: Use of undefined constant valid - assumed 'valid' in C:\xampp\htdocs\minichat\chat.php on line 11
0
Utilisateur anonyme
16 nov. 2014 à 21:53
Et c'est quoi le code pour la mise à jour ?
0