Bonjour,

Voila je rencontre un petit problème avec mon code.

j'ai essayer a faire une modification sur mes données de ma BD sans passer par un formulaire juste avec un bouton, mais toujours il me rédige vers la page d'accueil merci de me répondre.

13 réponses


ben faut que tu dise a ton bouton de t'emener la ou tu le souhaite. utilise plutot un < a href="" > plutot qu'un < input type="submit" > comme ca tu pourras lui dire de t'emmener la ou tu le souhaite sans passer par un formulaire. sinon tu peux regarder pour faire un

< input type="button" onclick="document.location='http://www.monsite.tld/mapage.php'" >

voila qui ce que j'ai fait

<a class="btn btn-primary" href="{{ action('GuardsController@update',$guard) }}">valider</a>

Salut,

Lors de ton action, à quel moment envoies-tu les datas à modifier ?

voila ma fonction update

public function update($guard, \Illuminate\Contracts\Auth\Guard $auth)
    {

        $user=$auth->user()->id;
        $data=Guard::findOrFail($guard->id);
        $statut=\DB::table('users_guards')->where('user_id','=',$user)->pluck('annonceur');
        if($statut==true){

            $data1['statut_annonceur']=1;
            $data->update($data1);

        }elseif($statut==false) {

            $data1['statut_repondeur']=1;
            $data->update($data1);

        }
        return redirect(action('GuardsController@index'))->with('success', 'ta confirmation est bien passé');
    }

Salut,
ce serait plus simple en ajax je pense.
http://api.jquery.com/jquery.ajax/

Salut,

Le souci est que, visiblement, tu essayes de faire passer un objet en URL query, or tu ne peux pas il faut soit encoder le paramètre dont tu as besoin (via urlencode() par ex.), soit passer par l'AJAX comme le suggère @MaMouT.

c'est normal que tu sois redirigé vers l'accueil

return redirect(action('GuardsController@index'))

Vais un redirect vers ou tu veux etre redirigé ou alors tu peux aussi faire un render('vue')
Comme dis avant tu peux faire aussi en ajax

quelqu'un peux m'aider pour recuperer un variable php en utilisant ajax , merci

ben en js (avec jQuery) ca va donner qqch comme ca

$.get( "ajax.php", function( data ) { 
  alert( data );
});

t'as des methodes $.get, post, put, delete pour changer la facon d'envoyer tes données. ( http://api.jquery.com/category/ajax/ )

ensuite coté ajax.php

$ar = array(
  'status' => 1,
  'message' => "ok",
);

echo json_encode($ar);

du coup, dans ton retour javascript, data va etre un tableau.

console.log(data['status']); // 1
console.log(data['message']); // ok

EDIT ::

Tu peux bien evidement envoyer des paramètres en GET et les récupérer avec un $_GET en php.

ex :

appeler ajax.php?customer_id=3&device_id=13 en javascript

et récupérer

$ar = array(
'customer_id' => $_GET['customer_id'],
'device_id' => $_GET['device_id']
);

pour retourner une valeur json avec laravel :

return response()->json(['key' => 'value']);

j'ai pas bien compris ce exemple d'ajax sorry par exemple je veux passer en parametre l'objet qu'a été stocker dans un variable , comment je peux recuperer ça

return response()->json(['object' => $object]);
$.ajax({
            url:url_du_post,
            type: "post",
            data: donnees.serialize(),
            success: function(data){
                alert(data.object.valeur); => ça dépend du retour cf @SquallX
            },
            error: function(xhr, status, error) {
                alert('erreur');
            }
        });