Code PHP erreur ligne 31
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
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
<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:
- Code erreur f3500-33
- F3500-32 - Meilleures réponses
- F3500-33 - Meilleures réponses
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
6 réponses
Salut, peut tu poster la page connexion, apparemment il y a une erreur a la ligne 31 de cette page ^^
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');
?>
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');
?>
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
Une fois dans la page chat à la ligne 10 et une autre fois sur la page connexion à la ligne 31
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
]
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
]