Ir para conteúdo
Fórum Script Brasil
  • 0

Como fazer o método GET funcionar no Laravel?


Frank K Hosaka

Pergunta

Esse é o método GET no PHP:

<?php
$mysqli=new mysqli("localhost","root","","astudy");
if(isset($_GET['up'])){
    $novotexto=$_GET['up'];
    $query=$mysqli->query("update teste set texto='$novotexto' where id=1");}
$query=$mysqli->query("select texto from teste where id=1");
$texto=$query->fetch_assoc()['texto'];
echo "
<form>
<input name=up value=$texto>
<input type=submit>
</form>";

Para fazer um código equivalente no Laravel, você precisa definir o Route, o Model, o Controller e o Blade, aqui só vou listar os dois últimos:

teste.blade.php

<form>
    <input name=up value={{$texto}}>
    <input type=submit>
</form>


testeController

<?php
namespace App\Http\Controllers;
use App\Models\teste;
use Illuminate\Http\Request;
class testeController extends Controller {
    public function teste (Request $request){
        if($request->input('up')){
            $up=$request->input('up');
            teste::where('id',1)->update(['texto'=>$up]);}
        $texto=teste::where('id',1)->value('texto');
        return view('teste',['texto'=>$texto]);
    }
}

Os dois códigos funcionam somente se você colocar qualquer coisa na caixa do <input>, mas se você não colocar nada, só o código do PHP é que funciona. Para fazer o GET funcionar no Laravel eu fiz uma tremenda gambiarra e já fiz ele funcionar. O problema é o PHP, como ele consegue definir o valor da variável $_GET['up'], se o indexador só tem um lado da equação assim "up=". O PHP é fascinante!

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Snapey do Laracasts encontrou centenas de erros no meu código:

put quotes around your field name and value

<form> <input name="up" value="{{$texto}}"> <input type="submit"> </form>

if you want to get the value from the database

$texto=teste::where('id',1)->first()->value('texto');

Class names (eg model name) should be capitalised, eg Teste

If you are changing the data at the server, your method should be POST or PATCH and not GET

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...