Une fonction pas commode (ou une noob bien larguée...)
Résolu
BonuxDu13
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
BonuxDu13 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
BonuxDu13 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour! Dans Laravel je suis face à un problème de fonction qui ne s'execute pas. Pour le mettre en evidence j'ai simplifié ma fonction appelante et j'ai mis deux lignes "return..." dans celle qui est appelée, deux lignes qui auraient dû me renvoyer chacune leur texte à l'ecran dès premier passage dans ma fonction. Tout le reste de la fonction appelante s'éxecute correctement quand je le décommente, sauf cet appel initial. Je joins les images juste en dessous. Le résultat est un ecran blanc sur localhost/nomdusite/public/affich.


Du coup j'ai taché de simplifier tout ça et j'ai créé une route/contrôleur/vue dédiée à ce test très simple. Je vous met en dessous les images du test et du résultat : c'est pareil, le texte derrière return ne s'affiche pas. Je sens que j'ai encore fait une erreur toute con, et ce qui l'est encore plus, c'est que je la vois pas.



le résultat :
Bonjour! Dans Laravel je suis face à un problème de fonction qui ne s'execute pas. Pour le mettre en evidence j'ai simplifié ma fonction appelante et j'ai mis deux lignes "return..." dans celle qui est appelée, deux lignes qui auraient dû me renvoyer chacune leur texte à l'ecran dès premier passage dans ma fonction. Tout le reste de la fonction appelante s'éxecute correctement quand je le décommente, sauf cet appel initial. Je joins les images juste en dessous. Le résultat est un ecran blanc sur localhost/nomdusite/public/affich.
Du coup j'ai taché de simplifier tout ça et j'ai créé une route/contrôleur/vue dédiée à ce test très simple. Je vous met en dessous les images du test et du résultat : c'est pareil, le texte derrière return ne s'affiche pas. Je sens que j'ai encore fait une erreur toute con, et ce qui l'est encore plus, c'est que je la vois pas.
le résultat :
Configuration: Windows / Firefox 84.0
A voir également:
- Une fonction pas commode (ou une noob bien larguée...)
- Fonction si ou - Guide
- Je suis content que tu vas bien ou que tu ailles bien - Forum Réseaux sociaux
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
- Fonction miroir - Guide
- Fonction filtre excel n'existe pas - Forum Excel
4 réponses
Bonjour,
Afin que l'on puisse regarder ton code dans les meilleurs conditions et éventuellement en faire des copier/coller... merci de le poster en utilisant les BALISES DE CODE.
Explications ( à lire ENTIEREMENT !! ) disponibles ici:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Afin que l'on puisse regarder ton code dans les meilleurs conditions et éventuellement en faire des copier/coller... merci de le poster en utilisant les BALISES DE CODE.
Explications ( à lire ENTIEREMENT !! ) disponibles ici:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
ok je remet le code de la fonction appelée :
puis celle de la fonction appelante :
et le code du test : fichier web.php
contrôleur :
vue insérée dans un template :
<?php namespace App\Http\Controllers; use Session; use Illuminate\Http\Request; class questionnaireController extends Controller { public function flushSession(){ return 'debut d\'exec de flushSession'; if (Session::get('LAST_ACTIVITY') && (time() - Session::get('LAST_ACTIVITY') > 3 )) { Session:flush(); } Session::put('LAST_ACTIVITY', time()); return 'fin d\'exec de flushSession'; }
puis celle de la fonction appelante :
public function affich(){ $this->flushSession(); /*$salarie = Session::get('salarie'); $oui = Session::get('oui'); $non = Session::get('non'); $situation = Session::get('situation'); $travail = Session::get('travail'); $manqueTemps = Session::get('manqueTemps'); $base = ""; if(isset($salarie)) { Session::flush(); return view('questionnaire', ['base' => null, 'salarie' => 'ok', 'oui' => null, 'travail' => null, 'manqueTemps' => null]); //afficher "Etes vous fonctionnaire?" } else if(isset($oui) || isset($manqueTemps)) { Session::flush(); return view('questionnaire', ['base' => null, 'salarie' => null, 'oui' => 'ok', 'travail' => null, 'manqueTemps' => 'ok']); //afficher la vue de non éligibilité } else if(isset($travail)) { Session::flush(); Session::put('eligibilite', 'ok'); return view('eligibilite'); //afficher la vue d'éligibilité } else if(isset($non) || isset($situation)) { Session::flush(); return view('questionnaire', ['base' => null, 'salarie' => null, 'oui' => null, 'travail' => 'ok', 'manqueTemps' => null]); //afficher "Combien d'années avez-vous travaillé en France dans votre vie?" } else { return 'Temps d\'attente réponse trop long';*/ }
et le code du test : fichier web.php
Route::get('test','App\Http\Controllers\testController@test' )->name('test');
contrôleur :
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class testController extends Controller { public function flushSession(){ return 'debut'; } public function test(){ $this->flushSession(); } } ?>
vue insérée dans un template :
@extends('template') @section('title', 'Programme 1') @section('contenu') <!-- Navigation--> <nav class="navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav"> <div class="container"> <a class="navbar-brand js-scroll-trigger"><span style="color: #dc3545">NOM DE L'ECOLE</span></a> <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"> Menu <i class="fas fa-bars ml-1"></i> </button> <div class="collapse navbar-collapse" id="navbarResponsive"> <ul class="navbar-nav text-uppercase ml-auto"> <li class="nav-item"><a class="nav-link js-scroll-trigger" href="#"><span style="color: #dc3545"><strong>Accueil</strong></span></a></li> <li class="nav-item"><a class="nav-link js-scroll-trigger" href="#"><span style="color: #dc3545"><strong>Programme 1</strong></span></a></li> <li class="nav-item"><a class="nav-link js-scroll-trigger" href="#"><span style="color: #dc3545"><strong>Programme 2</strong></span></a></li> </ul> </div> </div> </nav> <!-- Masthead--> <header> <section class= "page-section" id="services"> <div class="container" > </div> <div class="container text-center"> <br><br><br><br><br><br><a class="btn btn-primary btn-xl text-uppercase js-scroll-trigger " href="#">Envoyer</a><br><br><br> </div> </section> </header> <!-- Services--> <!-- Portfolio Grid--> <!-- Contact--> <!-- Footer--> @endsection
Et que pour afficher... il faudrait, de toutes façons faire un echo quelque-part ...