Jump to content
ProgramadorMarco

Ir para outra pagina automaticamente

Recommended Posts

ProgramadorMarco

Boas!

Eu tenho este codigo e quero que depois no final de executar o codigo venha automaticamente para outra pagina, sem ter que carregar em lado nenhum, A intensão é inserir esses dados dar a informação de que os dados foram bem inseridos e retornar para uma outra pagina automaticamente

Obrigado desde Ja!

<?php
/*
* faz a conexao ao banco
* e seleciona a base de dados
*/
$conexao = mysql_connect('mysql.serversfree.com', 'u706755866_sitec', '123456')
or die ("Erro na conexão ao banco de dados.");
$db = mysql_select_db("u706755866_sitec")
or die ("Erro ao selecionar a base de dados.");

/*
* monta e executa consulta em SQL
*/

$sql = "UPDATE
datarefeicoes
SET

data='".mysql_real_escape_string($_POST['data'])."'
WHERE
id = '1' ";
$resultadod = mysql_query($sql)
or die ("Erro ao alterar sopa.");

$sql = "UPDATE
rerefeicoes
SET
segunda='".mysql_real_escape_string($_POST['segundas'])."',
tersa='".mysql_real_escape_string($_POST['tersas'])."',
quarta='".mysql_real_escape_string($_POST['quartas'])."',
quinta='".mysql_real_escape_string($_POST['quintas'])."',
sexta='".mysql_real_escape_string($_POST['sextas'])."'
WHERE
id = '1' ";
$resultados = mysql_query($sql)
or die ("Erro ao alterar sopa.");

$sql = "UPDATE
rerefeicoes
SET
segunda='".mysql_real_escape_string($_POST['segundap'])."',
tersa='".mysql_real_escape_string($_POST['tersap'])."',
quarta='".mysql_real_escape_string($_POST['quartap'])."',
quinta='".mysql_real_escape_string($_POST['quintap'])."',
sexta='".mysql_real_escape_string($_POST['sextap'])."'
WHERE
id = '2'";
$resultadop = mysql_query($sql)
or die ("Erro ao alterar prato.");

/*
* faz a conexao ao banco
* e seleciona a base de dados
*/
$conexao = mysql_connect('mysql.serversfree.com', 'u706755866_sitec', '123456')
or die ("Erro na conexão ao banco de dados.");
$db = mysql_select_db("u706755866_sitec")
or die ("Erro ao selecionar a base de dados.");

/*
* monta e executa consulta em SQL
*/
$sql = "UPDATE
rerefeicoes
SET
segunda='".mysql_real_escape_string($_POST['segundasb'])."',
tersa='".mysql_real_escape_string($_POST['tersasb'])."',
quarta='".mysql_real_escape_string($_POST['quartasb'])."',
quinta='".mysql_real_escape_string($_POST['quintasb'])."',
sexta='".mysql_real_escape_string($_POST['sextasb'])."'
WHERE
id = '3'";
$resultadosb = mysql_query($sql)
or die ("Erro ao alterar sobremesa.");
?>
<h1>refeicao alterada com sucesso!</h1>

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites
Virneto

Eu utilizo algo assim:

No final do script que apresentáste:

<?php
$url = 'www.a_pagina_onde_quero_ir.com';
echo'<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';

?>

Edited by brunoais
geshi

"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
HappyHippyHippo

pensa bem, se redireccionares para outra página automaticamente (algo perfeitamente possível) o utilizador não vai ver a mensagem de sucesso/insucesso ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
ProgramadorMarco

Pois tambem é verdade, não ha uma maneira de aparecer a mensagem e depois, clicando ok por exemplo, ele ir para a outra pagina?

Edited by ProgramadorMarco

Share this post


Link to post
Share on other sites
HappyHippyHippo
<button onclick="window.location = 'http://www.google.com'" >Carrega aqui</button>

  • Vote 1

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Virneto

É verdade que o uttilizador não vê a página de sucesso.

<button onclick="window.location = 'http://www.google.com'" >Carrega aqui</button>

ok @Happy, então para um redirecionamento automático após 5 segundos posso fazer assim?

setTimeout(function() {
var url = 'http://www.minhapagina.com";
 "window.location = url";
 }, 5000);


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
HappyHippyHippo

isso funciona se, corrigires os erros de javascript

existe também a solução HTML que apresentaste no teu primeiro post (bom para pessoas que tem o javascript desligado), mas tens de dar mais tempo:

<meta http-equiv="refresh" content="5;url=http://www.minhapagina.com">


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Virneto

Até agora eu tinha implementado como apresentei em cima, mas é verdade que também não estava satisfeito com o facto dos utilizadores praticamente não conseguirem ver a página do sucesso. Cheguei a utilizar usleep(), mas não resultava bem.

Até podia colocar em Javascript, mas tendo em conta o que dizes, vou continuar com o php [no need to explain that.. :confused: ] e acrescentar o parâmetro de acordo com o teu exemplo.

Grazie!!


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
Th3Alchemist

E porque não

<?php
header("refresh: 5; url=http://www.minhapagina.com");
?>

?

Edited by Th3Alchemist

Share this post


Link to post
Share on other sites
Virneto

@Th3Alchemist: estás a dar uma alternativa ou há vantagens na solução que apresentas?


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
pikax

Vai dar ao mesmo, os 2 mandam headers ao browser para mudar de pagina, a diferenca e' que um e' em php e o outro e' com tags de html.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
Virneto

Vai dar ao mesmo.(...).

Neste caso mantenho o código que já tinha.

Já apliquei a proposta do @Happy nos meus scripts de sucesso após envio de contacto e na página de erro.

São 5 segundos que fazem muita diferença em termos da elegância de comportamento da página!!!

é tipo... antes estava nice! mas agora está Swweeet!!!!

Thank Ya!! :thumbsup:

ps.: tenho a sensação que roubei o tópico ao @ProgramadorMarco...mas provavelmente ele já foi implementar a solulção também!! :P


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Share this post


Link to post
Share on other sites
cusco

Olá, a melhor maneira é enviar um header e ter um die(); logo de seguida

header('Location: http://url.final/msg=lala');

nota o msg=lalala que apanhas no novo url, como mensagem de sucesso ou não sucesso

para isto não podes fazer echo de nada, o header terá de ser enviado antes de conteudo.

Share this post


Link to post
Share on other sites
HappyHippyHippo

Olá, a melhor maneira é enviar um header e ter um die(); logo de seguida

header('Location: http://url.final/msg=lala');

nota o msg=lalala que apanhas no novo url, como mensagem de sucesso ou não sucesso

para isto não podes fazer echo de nada, o header terá de ser enviado antes de conteudo.

o que é que essa solução tem haver com o tempo de espera antes do redireccionamento ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Th3Alchemist

E porque não

<?php
header("refresh: 5; url=http://www.minhapagina.com");
?>

?

@Th3Alchemist: estás a dar uma alternativa ou há vantagens na solução que apresentas?

Simplicidade...

Share this post


Link to post
Share on other sites
brunoais

Simplicidade...

Diria mais atribuição de responsabilidades. Quem faz os headers HTTP é o servidor, não o próprio HTML. Na minha opinião, o meta@http-equiv é algo que nunca devia de ter sido inventado. Mas existe...


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.