Code PHP erreur ligne 31

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

6 réponses

  1. DaRk_ChRiS Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   22
     
    Salut, peut tu poster la page connexion, apparemment il y a une erreur a la ligne 31 de cette page ^^
    0
  2. Utilisateur anonyme
     
    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
  3. DaRk_ChRiS Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   22
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Delphine
     
    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
    1. Utilisateur anonyme
       
      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
  6. Utilisateur anonyme
     
    Et c'est quoi le code pour la mise à jour ?
    0