Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Tenho um sistema em fase de testes que está na minha máquina local.
O sistema foi compartilhado para outras máquinas da rede (Com atalho para minha pasta direto).
Nas outras máquinas o redirecionamento das páginas não funciona, somente na minha.
Exemplo botão Sair - Antes estava assim:
echo "<script>parent.location.href='index.php'</script>";
Tentei:
echo "<script>parent.location.href='http://192.xxx.x.xx:8080/Site/index.php'</script>";
e
Header("Location: index.php"); Header("Location: http://192.xxx.x.xx:8080/Site/index.php");
Nenhum funciona. A página fica em branco.
Preciso redirecionar, pois na função sair existem outros comandos além da mudança de página.
Tem outra forma?
Obrigada!
>
Você está tentando fazer isso em uma págian php ou js?
tente
header("Location: http://google.com");
veja se funciona, para debugar.
Ops... A página é php.
Estranho, mesmo com google não funciona.
Mas se eu coloco um echo('teste') aparece.
Esse comando está dentro de uma função, assim:
pagina1.php no onclick botão -> document.form1.action="pagina2.php" -> function sair() = comandos + header("Location: http://google.com");
Não acontece nada, fica na pagina2 em branco (porque não tem tela nessa página).
Mas está entrando na função, porque funciona se faço:
pagina1.php no onclick botão -> document.form1.action="pagina2.php" -> function sair() = comandos + echo'teste';
acho q é melhor postar o código
pagina1.php
<script>
function fechar()
{ document.form1.action="pagina2.php";
document.forms.form1.submit();
}
</script>
<form id="form1" name="form1" method="POST">
...
<input type="submit" name="sair" id="sair" class="sair" value=" " onclick="fechar()" alt = "Sair" title= "Sair"/></td>
pagina2.php
switch (get_post_action('incluir', 'modificar', 'excluir', 'pesquisar','sair','limpar'))
{
case 'sair':
sair();
break;
} unset($_SESSION["x"]);
unset($_SESSION["y"]);
unset($_SESSION["z"]);
header("Location: http://google.com");
}remova essas linhas e teste.
unset($_SESSION["x"]);
unset($_SESSION["y"]);
unset($_SESSION["z"]);
Não entendi muito bem o que você fez ai, mas acredito que de pra fazer de uma maneira melhor esse código hein.
>
O sistema foi compartilhado para outras máquinas da rede (Com atalho para minha pasta direto).
Nas outras máquinas o redirecionamento das páginas não funciona, somente na minha.
seu problema nao e com Header.. e com essa forma ai de compartilhar..
como assim compartilhar pasta?
e o apache e o servidor so configur ao VHost, coloca as maquinas em rede liga o servidor e quando acessar a URL ele vai pega do servidor..
tá bem esquisito mesmo.
No teu caso não precisa de javascript. Basta deixar o HTML assim:
<form id="form1" action="pagina2.php" method="POST">
...
<input type="submit" name="sair" id="sair" class="sair" value=" " alt = "Sair" title= "Sair"/></td>
daí pra frente o trabalho é entre html e php. Nada de js.
lambrusco,
Tirei e continua a mesma coisa.
William Bruno,
Eu sei que tá esquisito :blush: , é meu primeiro sistema web na vida, e só tenho vocês e google me ajudando.
Fiz assim porque tenho vários botões, e nem todos vão pra mesma página... tenho uma página de pesquisa, uma de relatório, uma de manipulação do banco etc. Quando comecei o sistema, foi o único jeito que consegui para acessar cada página no seu botão: com JavaScript. Mas um dia eu aprendo a fazer do jeito certo :) Aceito dicas rsrs
Luis Paullo,
É exatamente este o problema!
Por mim já estava publicado, mas meu chefe não quer, o pessoal da infra também não...
Acho que vou por esse caminho mesmo... pesquisar isso tudo que você falou de Vhost e tenatr fer sozinha.
Mas enquanto isso, estão no meu pé. Se tiverem uma sugestão temporária.
Muito obrigada meninos!
o porque de compartilha a pasta eu ainda não entendi =X
se fez um mapeamento de rede é isso?
os outros computadores vão so acessa a pagina no browser?
ou eles vão acessa o codigo fonte?
servidor e 1 so, então configura sua maquina pra que os outros computadores ao acessar URL, redirecionem pra sua Localhost !!
Viajei, não é a pasta.
Eu criei um atalho para acessar pelo ip, no navegador.
Eles acessam http://192.xxx.x.xx:8080/Site/index.php
Roda tudo certo, só não funciona quando redireciono páginas.
Como configuro a maquina pra que os outros computadores ao acessar URL, redirecionem pra sua Localhost ?
Obrigada.
ata!!
agora sim fico mais claro.. você disse que compartilho a pasta ai fico confuso as ideias =X
Na verdade ja ta configurado =X
bom nunca fiz nd em rede. estranho o Header não funciona..
você testo um arquivo isolado so com um header nele pra ve oque acontece?
as mensagens de erro do php estão habilitada?
oque eu faria seria tneta um VHOST.. Talves não funcione!!!!!!!!!!!
tem muito conteudo no Google a respeito de Vhost..
mais no apache do Windows faço assim..
Bem simples..
va em;
C:\xampp\apache\conf\extra\httpd-vhosts.conf
o arquivo vai ta dessa forma..
##NameVirtualHost *:80
##<VirtualHost *:80>
##ServerAdmin postmaster@dummy-host.localhost
##DocumentRoot "C:/xampp/htdocs/dummy-host.localhost"
##ServerName dummy-host.localhost
##ServerAlias www.dummy-host.localhost
##ErrorLog "logs/dummy-host.localhost-error.log"
##CustomLog "logs/dummy-host.localhost-access.log" combiDed
##</VirtualHost>
descomente as linhas
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@admin.localhost
DocumentRoot "C:\xampp\htdocs\pasta_com_arquivos
ServerName meusite.host.com
ServerAlias www.meusite.host.com
ErrorLog "logs/site-error.log"
CustomLog "logs/site-access.log" combiDed
</VirtualHost>
salve o arquivo..
va em:
C:\WINDOWS\system32\drivers\etc\hosts
adcione a linha:
127.0.0.1 meusite.host.com // bom no seu caso, no lugar de 127.0.0.1, acredito que deva ser o IP fixo da sua maquina na rede..
feito isso reinicie o apache..
OBS:
VHOST obriga que todo site na htdocs tenha sua configuração, você tem que, criar uma nova regra no httpd-vhosts.conf e no host. pra cada site!
com Vhost ativo
essa forma:
http://localhost/meusite/index.php
http://192.xxx.xxx.xxx/meusite/index.php
NÂO FUNCIONAM MAIS... fique atento a isso
sendo assim, links dessa forma no site também tem de ser mudados!
Bom dia!!
Então Luis Paullo, tentei configurar, mas não deu certo. Deve ter faltado algum detalhe, e acabei deixando de lado. Mas já fiquei feliz em aprender que dá pra fazer dessa forma.
Testei o header em outro lugar e funcionou. Fui colocando mensagens, e descobri que o $_POST do meu botão não esta sendo setado, por isso não entra na função sair. Eu tinha dito que entrava no primeiro tópico, não sei o que aconteceu, mas o fato é que não entra.
Dentro da página2 coloco echo das $_POST dos campos, e elas estão preenchidas, mas
a $_POST do botão não.
Na minha máquina o echo mostra "Â" (O value é um espaço em branco), mas na outra máquina aparece o erro : Undefined index: sair .
Não achei nada parecido com esse problema. Alguma idéia?
Resolvido.
Alterei de:
document.form1.action="pagina2.php";
document.forms.form1.submit();
Para:
document.getElementById("form1").action="pagina2.php";
document.forms.getElementById("form1").submit();
Tudo está funcionando agora.
Você está tentando fazer isso em uma págian php ou js?
tente
header("Location: http://google.com");
veja se funciona, para debugar.