Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

dubwisejah

LOG IN

Mensagens Recomendadas

dubwisejah

Pessoal tenho uma duvida.

Eu tenho isto para fazer um log in

<?php 
	if (!isset($_SESSION[cliente][LOGIN]))
	{
	     echo "Sem sessão iniciada" 
	 }
	 else 
	 {
	     echo "Bem Vindo " .$_SESSION[cliente][NOME]; 
	 }
?>

Mas eu queria em vez de ser echo "sem sessão iniciada" aparecer um form para fazer um log in. Ou seja se ha um log in feito n aparece a area de log in,  se não, aparece o form para o log in.

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KiNgPiTo

Se tiveres esse form num outro script, podes fazer include...

Podes inserir directamente o form na condição...

Podes encaminhar para uma cópia da mesma página mas com uma div a mais a dizer Sem sessão iniciada ou dados errados...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dubwisejah

hum como insiro o form na funçao ja agora..

não e assim pois não

echo " <form id="form1" name="form1" method="post" action="index.php?link=9">
            <table width="100%" border="0">
              <tr>
                <td width="30%"> </td>
                <td width="22%" class="style1"><div align="right">Utilizador</div></td>
                <td width="0%"> </td>
                <td width="24%"><label>
                  <input name="txt_usuario" type="text" id="txt_usuario" size="20" />
                </label></td>
                <td width="24%"> </td>
              </tr>
              <tr>
                <td> </td>
                <td class="style1"><div align="right">Password</div></td>
                <td> </td>
                <td><label>
                  <input name="txt_senha" type="text" id="txt_senha" size="20" />
                </label></td>
                <td> </td>
              </tr>
              <tr>
                <td> </td>
                <td> </td>
                <td> </td>
                <td class="style2"><div align="right" class="style3">
                  <label>
                  <input type="submit" name="Submit" value="Submit" />
                  </label>
                  ENTRAR</div></td>
                <td class="style2"> </td>
              </tr>
            </table>
              </form>"

APARTE: Usa o Geshi, torna o post mais apresentável. :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KiNgPiTo

Sim com um echo podes imprimir html... Tem é atenção os " e ' pois se abrires uma string com um " podes utilizar ' e se quiseres usar " tens de escrever \" e vice-versa

No teu caso apenas basta trocares o 1º " por ' e o ultimo também...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dubwisejah

Optei por meter echo include "";

mas agora da m um erro na session  n sei o que será.

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\gpu5\home2.php:13) in C:\wamp\www\gpu5\lateral.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\gpu5\home2.php:13) in C:\wamp\www\gpu5\lateral.php on line 2

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KiNgPiTo

Não são erros, são warnings...

Significa que a função session_start() não pode enviar o cookie da sessão porque os cabeçalhos (HTTP headers) já foram enviados.

Experimenta meteres o session_start no inicio do script... (mesmo inicio...)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
helt

então é porque tens o session_start() no ficheiro que incluiste. Tens de tirar


––––•(-• [ ђєlt ] •-)•––––

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dubwisejah

Pois eu tenho o codigo

<?php 
	  if (!isset($_SESSION[cliente][uSUARIO]))
	  {
	   echo "Faca Login";
	   }
	  else 
	  {
	  echo "Seja bem vindo " .$_SESSION[cliente][uSUARIO]; 
	  }
	  ?>

numa pagina lateral

se o passar para o cabeçalho da pagina ja não me aparece essa mensagem n percebo onde esta a passar a session porque a laterar esta igual ao cabeçalho .

APARTE: Usa o Geshi, torna o post mais apresentável. :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
helt

Bem, não sei se tem alguma coisa a haver (não deveria), mas da maneira que tens o código tens de meter os quotes nas chaves dos arrays.

tipo: $_SESSION['cliente']['USUARIO']

(a não ser que sejam constantes)


––––•(-• [ ђєlt ] •-)•––––

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Caya

echo " <form id="form1" name="form1" method="post" action="index.php?link=9">
            <table width="100%" border="0">
              <tr>
                <td width="30%"> </td>
                <td width="22%" class="style1"><div align="right">Utilizador</div></td>
                <td width="0%"> </td>
                <td width="24%"><label>
                  <input name="txt_usuario" type="text" id="txt_usuario" size="20" />
                </label></td>
                <td width="24%"> </td>
              </tr>
              <tr>
                <td> </td>
                <td class="style1"><div align="right">Password</div></td>
                <td> </td>
                <td><label>
                  <input name="txt_senha" type="text" id="txt_senha" size="20" />
                </label></td>
                <td> </td>
              </tr>
              <tr>
                <td> </td>
                <td> </td>
                <td> </td>
                <td class="style2"><div align="right" class="style3">
                  <label>
                  <input type="submit" name="Submit" value="Submit" />
                  </label>
                  ENTRAR</div></td>
                <td class="style2"> </td>
              </tr>
            </table>
              </form>"

A forma mais fácil de 'imprimir' isso é assim:

echo <<<BLOCOSTRING <form id="form1" name="form1" method="post" action="index.php?link=9">
            <table width="100%" border="0">
              <tr>
                <td width="30%"> </td>
                <td width="22%" class="style1"><div align="right">Utilizador</div></td>
                <td width="0%"> </td>
                <td width="24%"><label>
                  <input name="txt_usuario" type="text" id="txt_usuario" size="20" />
                </label></td>
                <td width="24%"> </td>
              </tr>
              <tr>
                <td> </td>
                <td class="style1"><div align="right">Password</div></td>
                <td> </td>
                <td><label>
                  <input name="txt_senha" type="text" id="txt_senha" size="20" />
                </label></td>
                <td> </td>
              </tr>
              <tr>
                <td> </td>
                <td> </td>
                <td> </td>
                <td class="style2"><div align="right" class="style3">
                  <label>
                  <input type="submit" name="Submit" value="Submit" />
                  </label>
                  ENTRAR</div></td>
                <td class="style2"> </td>
              </tr>
            </table>
              </form>
BLOCOSTRING;

Assim não tens de estar a alterar as " todas para \" e torna-se mais legível.

Quanto aos avisos acerca das sessões, provavelmente estás a fazer algum echo antes do session_start()...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.