IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

Laravel Fonctionnement des Sessions


Sujet :

Laravel PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Par défaut Laravel Fonctionnement des Sessions
    Bonjour

    Je suis en train de développer un site vitrine pour un coiffeur, et il voudrait vendre ses produits via internet en paiement à la livraison. Donc, pas besoin de conserver les coordonnées bancaire, je souhaitais faire le site sans que le visiteur ait besoin de se connecter. Je débute un peu en Laravel, je me suis donc plongée dans le sessions mais je bute à un point.

    J'ai fait mon test ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     {{Session::put('key', 1)}}
          {{Session::put('cart', 'Cart')}}
          {{Session::push('cart.item', 'Soin')}}
          @if(Session::has('cart.item'))
          @foreach(Session::get('cart.item') as $truc)
          {{$truc}}
          @endforeach
          @endif
    Là, il m'affiche bien Soin sur ma page ; si je mets d'autre Session::push('cart.item', 'blahblahba') à la suite, ça marche aussi.

    Donc, ce que je veux faire, c'est quand on clique sur le produit, il s'enregistre dans le panier, la session. J'ai donc fait un formulaire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @foreach($lesproduits as $produit)
                                {{Form::open(array('class'=>'well','url' => 'products', 'enctype' => 'multipart/form-data'), 'produits', 'POST')}}
                        {{Form::token()}}
                        {{$produit->nom}}
                        <input name="id" type="hidden" value='{{$produit->id}}'>
                        {{$produit->id}}
                               {{Form::submit('Envoyer', array('class'=>'btn btn-primary'))}}
     
                		{{Form::close()}}
                            @endforeach
    Et dans mon contrôleur, cela donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public function store()
    	{
                $id = Input::get('id');
    		$produit = Produit::find($id);
                    Session::push('cart.item', $produit->nom);
                    return Redirect::back();
     
                }
    Mais le soucis, c'est que la Session ne s'actualise pas, et lorsque je retourne à la page précédente, j'ai toujours le test d'indiqué. Mon code peut-il marcher ? Suis-je sur la bonne voie ?
    Merci d'avance.

    EDIT : résolu, il faut enlever le Session::put(...). Voila.

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur étude et développement logiciel
    Inscrit en
    Novembre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur étude et développement logiciel

    Informations forums :
    Inscription : Novembre 2011
    Messages : 27
    Par défaut
    Citation Envoyé par Yog-Sothot Voir le message
    Bonjour

    Je suis en train de développer un site vitrine pour un coiffeur, et il voudrait vendre ses produits via internet en paiement à la livraison. Donc, pas besoin de conserver les coordonnées bancaire, je souhaitais faire le site sans que le visiteur ait besoin de se connecter. Je débute un peu en Laravel, je me suis donc plongée dans le sessions mais je bute à un point.

    J'ai fait mon test ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     {{Session::put('key', 1)}}
          {{Session::put('cart', 'Cart')}}
          {{Session::push('cart.item', 'Soin')}}
          @if(Session::has('cart.item'))
          @foreach(Session::get('cart.item') as $truc)
          {{$truc}}
          @endforeach
          @endif
    Là, il m'affiche bien Soin sur ma page ; si je mets d'autre Session::push('cart.item', 'blahblahba') à la suite, ça marche aussi.

    Donc, ce que je veux faire, c'est quand on clique sur le produit, il s'enregistre dans le panier, la session. J'ai donc fait un formulaire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @foreach($lesproduits as $produit)
                                {{Form::open(array('class'=>'well','url' => 'products', 'enctype' => 'multipart/form-data'), 'produits', 'POST')}}
                        {{Form::token()}}
                        {{$produit->nom}}
                        <input name="id" type="hidden" value='{{$produit->id}}'>
                        {{$produit->id}}
                               {{Form::submit('Envoyer', array('class'=>'btn btn-primary'))}}
     
                		{{Form::close()}}
                            @endforeach
    Et dans mon contrôleur, cela donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public function store()
    	{
                $id = Input::get('id');
    		$produit = Produit::find($id);
                    Session::push('cart.item', $produit->nom);
                    return Redirect::back();
     
                }
    Mais le soucis, c'est que la Session ne s'actualise pas, et lorsque je retourne à la page précédente, j'ai toujours le test d'indiqué. Mon code peut-il marcher ? Suis-je sur la bonne voie ?
    Merci d'avance.

    EDIT : résolu, il faut enlever le Session::put(...). Voila.

    Bonjour

    j' ai un souci avec laravel pour inserer une variable date que j' ai transmis à mon controller depuis jquery voila le code:

    jquery:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      var dates_end = new Date(datefinmodif).toISOString().slice(0, 10);
      //avec datefindif qui est egale à '2015-02-01'
      $.ajax({
    						    				    type: 'GET',
    						    					url: '/ws/v1/holiday_conges/saveconges/'+dates_end,
    						    					success: function(){
    						    						console.log('Evenement is storage in database');
    						    					}
    						    				});
    controlleur laravel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
       class HolidayCongesController extends BaseController{
     
    	/*
    	 * Enregistre l' evenement en base de données
    	 * @param 
    	 */
    	public function getSaveconges($data){
     
    		//var data = [id_user, id_conge_type, datedebut, datefinmodif, titres, etat];
    		$date1 = date("Y-m-d", strtotime($data[2]));
    		$date2 = date("Y-m-d", strtotime($data[3]));
    		/*DB::table('conges')->insert(array(
    		    'id_personnel' => 2,
    		    'id_conge_type' => 0,
    		    'date_debut' => '2015-01-02',
    		    'date_fin' => $data,
    		    'demi_journee' => 'DAY',
    		    'description' => 'cool',
    		    'etat' => 'attente'
    		));*/
    		DB::insert('insert into conges (id_conge, id_personnel, id_conge_type, date_debut, date_fin, demi_journee, description, etat) 
    				    values (?, ?, ?, ?, ?, ?, ?, ?)', array('', 2, 0, '2015-01-02', $data, 'DAY', 'cool', 'attente'));
    		//return $date2;
    	}
     
    }
    desque j' execute le code il m affiche une erreur 500
    et si je remplace ma variable $data par '2015-02-01', l ajout est realiser

    voici mon url: https://nystek-intranet.pcdevnystek/ws/v1/holiday_conges/saveconges/2015-02-05

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/01/2009, 18h59
  2. Réponses: 1
    Dernier message: 24/11/2008, 12h07
  3. Fonctionnement des sessions
    Par malharabea dans le forum Langage
    Réponses: 2
    Dernier message: 06/07/2008, 19h55
  4. Question sur le fonctionnement des sessions
    Par kuja2053 dans le forum Langage
    Réponses: 3
    Dernier message: 26/06/2007, 18h15
  5. Réponses: 3
    Dernier message: 19/10/2006, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo