Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
dubwisejah

LOG IN

Recommended Posts

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

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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. :)

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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...)

Share this post


Link to post
Share on other sites
helt

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


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

Share this post


Link to post
Share on other 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. :)

Share this post


Link to post
Share on other 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 ] •-)•––––

Share this post


Link to post
Share on other 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()...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

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.