Bonjour à tous !
Peut être que quelqu'un pourrait-il me donner un ptit coup de pouce ?
Je retrouve un problème au sujet de la fonction flash() dans le tutoriel Créer un Portfolio de A à Z (à environ 29min30).
Une fois ma connexion effectué, je retourne sur mon index.php et découvre le message d'erreur suivant:
Fatal error: Call to undefined function flash() in C:...
L'erreur indique ma ligne ou se trouve <?= flash(); ?> (sur la page header.php).

Je me suis un peu perdu.. j'ai essayé de l'inclure comme ceci: <?php flash(); ?> mais rien n'y fée..
Je ne trouve pas la source de mon erreur.

Voici le contenu de ma page session.php:

<?php
function flash(){
    if(isset($_SESSION'Flash'])){
    extract($_SESSION'Flash']);
    unset($_SESSION'Flash']);
    return "<div class='alert alert-$type'>$message</div>";
    }

}
function setFlash($message, $type = 'success'){
    $_SESSION'Flash']'message'] = $message;
    $_SESSION'Flash']'type'] = $type;
}

Merci d'avance pour vos lumières.

11 réponses


Xen0risDEV
Réponse acceptée

Tout en haut de votre page index.php

<?php include 'lib/includes.php'; ?>
<?php include 'partials/header.php'; ?>
        <section class="container">
        <h1>Mon site en PHP !</h1>
        </section>

<?php include 'lib/debug.php'; ?>
<?php include 'partials/footer.php'; ?>

Header -> Includes -> Flash = ERROR
Includes -> Header -> Flash = OK
=)

Bonjour

Fichier includes.php :

<?php
include 'constants.php';
include 'db.php';
include 'form.php';
// Session_start();
include 'auth.php';
include 'session.php';

Bonjour F0rZ3r0.
Merci pour votre réponse, je viens de vérifier la page includes.php et tout est correct...
Je reviens sur mes pas en retraçant le tutoriel mais je suis toujours dans une impasse.
J'espère finir par comprendre d’où provient mon erreur en essayant de ne pas me démoraliser.
Bien à vous.

Tenter un <?= flash(); ?>

Oui, tout à fait. Merci pour votre regard.

<!DOCTYPE html>
<html lang="fr">
<head>

    <meta charset="ISO-8859-1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    <title>Mon site</title>
    <meta name="description" content="" />

    <link rel="stylesheet" href="css/style.css"/>
    <link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap-1.2.0.min.css"/>

    <!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk*html5.js"></script><![endif]-->

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="js/isotope.js"></script>
    <script src="js/folioo.js"></script>

    <script type="text/javascript" src="js/zoombox/zoombox.js"></script>
    <link href="js/zoombox/zoombox.css" rel="stylesheet" type="text/css" media="screen" />

    <script type="text/javascript">
        jQuery(function($){
            $('a.zoombox').zoombox();

        });
        </script>

</head>
<body>

    <header>

    <section class="container">

            <div id="logo">
                <img src="images/logo.png">
            </div>

    </section>    

    </header>

     <?= flash(); ?>

Tout et bon dans le header.php, et il vous dit toujours une erreur avec <?= flash(); ?> ?

Cordialement.

Oui, tout à fait:
Call to undefined function flash() in C:... on line55 quand je me trouve sur ma page index.php

Qu'elle et le contenu de la page index.php ?

<?php include 'partials/header.php'; ?>
<?php include 'lib/includes.php'; ?>
        <section class="container">
        <h1>Mon site en PHP !</h1>
        </section>

<?php include 'lib/debug.php'; ?>
<?php include 'partials/footer.php'; ?>
<?php
$auth = 0;
include 'lib/includes.php';
include 'partials/header.php';
?>

Merci beaucoup pour votre aide !!
Tout fonctionne dès à présent.
Bien à vous.

De rien, s'été un plaisir de vous venir en aide.

Cordialement.