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

(Resolvido) Não redirecionar página após cadastro


Rafael Laurindo

Pergunta

Galera, depois que eu chamo o código PHP no action do form, e depois que efetuo o cadastro, a página é redirecionada, eu gostaria de somente exibir uma msg javascript dizendo que os dados foram cadastrados com sucesso, e que a página não fosse redirecionada. Poderiam me ajudar?

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Na verdade meu camarada, quando eu cadastro eu chamo uma classe PHP pra esse tratamento, e quando eu chamo o código, a página fica toda branca, aew eu tenho que usar um header('Location: index.php') ou header('Location: index.html') ... E Nesse caso, eu fiz uma classe Msg com um método para mandar msg javascript para o cliente, tipo $msg->msgBox('Cadastro efetuado com sucesso!'); Simplesmente da erro.

Link para o comentário
Compartilhar em outros sites

  • 0
e quando eu chamo o código, a página fica toda branca
o submit do form você vai ter que fazer de qualquer jeito..

ou você processa o formulário no mesmo arquivo do formulário, deixando o action em branco:

<form action="" method="post">

ou você redireciona o cara para o form novamente, e ai sim, exibe a mensagem Javascript que você quer.

Outra forma, seria fazer o INSERT via AJAX, mas não aconselho.

Link para o comentário
Compartilhar em outros sites

  • 0

Beleza, todo e qualquer redirecionamento é feito com o header? porque eu uso o header do php pra isso. o código de erro é Warning: Cannot modify header information - headers already sent by (output started at /var/www/lib/php/Message.php:7) in /var/www/lib/php/Message.php on line 8

Eu já tentei de duas formas, primeiro exibir a menssagem e depois usar o header para chamar a mesma página, usei o header primeiro e a menssagem depois. Como já mensionei, a menssagem que mando é um método de uma classe que eu criei, se eu não usar o header para redirecionar não dá erro.

O pedaço do código que faz isso é:

$Msg = new Msg();
$Msg->msgBox('Cadastro efetuado com sucesso!');
header('Location: index.php');
exit();

Talvez vocês saibam a correta ordem do código.

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

  • 0

Se você pretende usar header nenhuma saída pode ter sido enviada para o navegador, pois quando você envia algo para ser impresso na tela, o header é enviado junto... o máximo que você pode tentar nesse caso é usar o ob_start e ob_end_flush para segurar o header, mesmo assim é meio que uma gambiarra sem garantia de funcionamento.

Link para o comentário
Compartilhar em outros sites

  • 0
Se você pretende usar header nenhuma saída pode ter sido enviada para o navegador, pois quando você envia algo para ser impresso na tela, o header é enviado junto... o máximo que você pode tentar nesse caso é usar o ob_start e ob_end_flush para segurar o header, mesmo assim é meio que uma gambiarra sem garantia de funcionamento.

De que outra forma posso fazer para não redirecionar a página então? Eu não pretendo usar o header, eu pretendo fazer o que for certo nesse caso que apresentei. Obrigado.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...