Jump to content


Photo

Problema Com Location


  • Faça o login para participar
6 replies to this topic

#1 fekz

fekz

    12 Horas

  • Usuários
  • 243 posts
  • Sexo:Não informado

Posted 20/01/2009, 10:36

Tenho uma página que a pessoa só visualiza se estiver logada utilizando sessions... ai no ELSE, eu botei:

else {
echo "<script>alert('Usuário não cadastrado')</script>";
header("location:login.php");
}

Só que ele não está mostrando o alerta e depois redirecionando, ele apenas direciona.
Eu já tive essa dúvida mas não lembro como a resolvi... Alguém pode me ajudar???

Obrigado =)

#2 silici0

silici0

    ?

  • Usuários
  • 902 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:PHP, MySQL, XHTML, CSS, AJAX, JavaScript, Objective-C, Python, Games ... #geek

Posted 20/01/2009, 10:48

Tenta assim :

<script type="text/javascript">
alert(' XIS' );
</script>

Dúvida em JS e não PHP
Procurando freelancer
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .

#3 chipis

chipis

    24 Horas

  • Usuários
  • 439 posts
  • Sexo:Masculino
  • Localidade:Blumenau - SC

Posted 20/01/2009, 12:04

Tenta isso:
$script = "<script>";
$script .= "alert('Usuário não cadastrado');";
$script .= "document.location='login.php';";
$script .= "</script>";
echo $script;

flws...

#4 fekz

fekz

    12 Horas

  • Usuários
  • 243 posts
  • Sexo:Não informado

Posted 20/01/2009, 15:20

A dúvida não é em JS não...

o JS está correto... o problema é que pelo fato do LOCATION ser um HEADER, se eu não me engano, ele faz isso primeiro, alguém tinha me dito isso, e me passado a solução, mas eu esqueci...

Alguém tem idéia?

#5 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 20/01/2009, 15:32

Exatamente fekz, pelo que sei, tudo que roda em server-side é processado antes do client side. Eu tinha um alert, mas fiz em XAJAX, muito simples e rentável (y)

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#6 fekz

fekz

    12 Horas

  • Usuários
  • 243 posts
  • Sexo:Não informado

Posted 20/01/2009, 15:57

Então, mas por estar dentro do <?php, e dentro do ECHO, ele está sendo processado server-side... o cara tinha me dado uma solução, não é possivel que ngm saiba como dar um alert antes de ser redirecionado.

Pq é muito simples, eu que sou iniciante.

#7 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 20/01/2009, 17:02

Se conheço os caras que tentaram te ajudar, todos eles sabem fazer isso. Você é que não os compreendeu :)

JS não é a dúvida. JS é a solução e ela foi dada pelo chipis na segunda resposta.
Você testou? Qual o problema dela?

Não tem exatamente a ver com server-side/client-side... como você bem disse, o location é setado no cabeçalho (o que pode ser esperado de uma função chamada header :) ) e o seu javascript foi escrito no corpo.

Antes de escrever no corpo, o navegador já recebeu uma instrução para redirecionar o usuário.

Há mais de uma saída pra isso... mas se você deixar de escrever no cabeçalho e usar javascript, como o chipis exemplificou muito bem, vai funcionar como você deseja.

Certo? (y)




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq