Jak odebrać zmienną GET w laravelu

0

Witam,
Jak odebrać zmienną GET w metodzie controlera, która przyleci do aplikacji z innej aplikacji po wywolaniu adresu w ustalonej wczesniej trasie.
Mam Route::get('/confirmation', 'SelectController@confirmation');

Jak odebrać tą zmienna np. status.
Standardowo można to zrobic tak: $_GET['status'] a w Laravelu jak to zrobić?

0

Pokaż kod funkcji confirmation z Controllera

0
public function confirmation()
    {
        $status = Input::get('status');
        return view('confirmation', compact('status'));
    }
0

No to teraz w widoku confirmation.blade.php masz dostęp do zmiennej status poprzez {{$status}}.

Więcej informacji w dokumentacji: https://laravel.com/docs/5.4/blade#displaying-data

0

Przecheytywanie zmiennej dziala jesli wpisuje w adres przegladarki, ale jesli zmienna status przychodzi z zewnetrzengo adrsu jako potwierdzenie i przychodzi do adresu Route, to zwraca mi błąd...
MethodNotAllowedHttpException in RouteCollection.php line 233:

1

RTFM. Proponuję usiąść i w jeden wieczór przeczytać sobie dokumentację laravela. Jest bardzo przyjazna, a i problemów będziesz miał mniej.

0

Prosto w /routes/web.php ustaw sobi np. coś takiego:

Route::get('index/{param}', 'YourController@yourMethod')->where('code', '[A-Za-z0-9]+');
0

To tez nie zadziała, bo w Laravelu trzeba zainstalowac dodatkowy pakiet do external api. Jesli jakas api sie komunikuje z Laravel, to Laravel musi dodatkowo miec zainstalowane cos tam..wczoraj googlowałem, ale zapomniałem..
Inna sprawa, to jak ominac routing w Laravelu i przekazać zmienne bezpośrenio do pliku w katalogu /public.., czyli jesli jest tam jakis plik, to jak api zewnetrzne moze przekazac mu jakiez zmienne..?

1
Smutny Wąż napisał(a):

To tez nie zadziała, bo w Laravelu trzeba zainstalowac dodatkowy pakiet do external api. Jesli jakas api sie komunikuje z Laravel, to Laravel musi dodatkowo miec zainstalowane cos tam..wczoraj googlowałem, ale zapomniałem..
Inna sprawa, to jak ominac routing w Laravelu i przekazać zmienne bezpośrenio do pliku w katalogu /public.., czyli jesli jest tam jakis plik, to jak api zewnetrzne moze przekazac mu jakiez zmienne..?

Co ty kombinujesz???? To jest framework w katalogu public się nie grzebie w ogóle, zmienną prze get przekażesz tak jak chcesz wystarczy żebyś umiał przeczytać dokumentację która ci dałem. A wystawić api na zewnątrz możesz w każdej chwili tylko wtedy będzie niezabezpieczone, żeby zabezpieczyć korzystasz z jwtokena.

0

@mr_jaro: Integrowałeś kiedyś Laravel z DotPay? Jeśli tak, założe konto i napisze do ciebie na priv zapytanie o wskazówki.

0
Smutny Wąż napisał(a):

@mr_jaro: Integrowałeś kiedyś Laravel z DotPay? Jeśli tak, założe konto i napisze do ciebie na priv zapytanie o wskazówki.

integrowałem różne rzeczy z laravelm, nie odpowiadam na takie pytania w pw.

0

Moze byc na forum...:)...Otóż DotPay wysyła request pod adres urlc podany w formularzu. Problem polega na tym,że taka trasa:

Route::post('/dotpay', ['as' => 'dotpay', 'uses' => 'DotpayController@dotpay']);

nic nie robi...nie przechwytuje tego requesta, bo jesli w kontrolerze mam to :

public function dotpay(Request $request)
    {
		echo "OK";
		$content = $request->all();
		file_put_contents('dotpay.txt', print_r($content, true));
  }

to Laravel nic nie przechwytuje i nie tworzy zadnego pliku...a te dane leca POSTem
Jesli testuje urlc jako : adres.strony/plik.php , to w tym plik.php przechwytuje te dane, tworze plik dotpay.txt, a potem moge juz przetworzyc te dane...
W Laravelu to nie dziala...

0

Bo post defaultowo jest sprawdzany czy posiada csrftoken, wchodzisz w app/http/midleware/verifycsrftoken i tam już zrozumiesz co musisz dodać.

0

Odpowiedź na pytanie:

use Illuminate\Http\Request;

public function myFooMethod(Request $request)
{
    dd($request->input('parameter'));
}

Dodatkowo w pliku VerifyCsrfToken.php (katalog Middleware), do tablicy $except dodaj ścieżkę do kontrolera. O - np. tak:

    protected $except = [
        'payment/*'
    ];
0

ustawiłem :

protected $except = [
        'dotpay/*',
    ];

Nadal nie działa. Ponadto w dokumentacji DotPay jest podany przykładowy adres: Przykład: URLC=http://www.example.com/urlc_receiver.php,

0
Bogaty Rycerz napisał(a):

ustawiłem :

protected $except = [
        'dotpay/*',
    ];

Nadal nie działa. Ponadto w dokumentacji DotPay jest podany przykładowy adres: Przykład: URLC=http://www.example.com/urlc_receiver.php,

Ale ty jesteś świadom, że adres jaki ma wywołać dotpay to sam mu wysyłasz najpierw? No i musisz mieć publiczne ip podpięte komputera z którym testujesz lub mieć przekierowane odpowiednie porty na ten komputer.

0

Mój projekt stoi na testowym serwerze cloudways za ktory juz zaplacilem 6$ ...;)...
Chce dostać sie do chociazby jednej zmiennej z tej tablicy POST w metodzie kontrolera dotpay. Na podstawie tej informacji, dokonac zmiany w bazie danych w jednej kolumnie..to wszystko..Mam podglad logów, tranzakcji..itp..na testowym koncie dotpay i tam za kazdym razem jest w kolumnie Response data: 500 Internal server error, ale w kolumnie Request data sa wymagane dane, ktore wlasnie chcialbym przejac w laravelu..

0

to napisz test i wykryjesz co jest nie tak, zresztą error 500 zapisuje się w logach wystarczy spojrzeć do logów laravela i bedziesz wiedział co jest nie tak

1 użytkowników online, w tym zalogowanych: 0, gości: 1