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

Big-D

Hide/Show layers em PHP (Resolvido)

Mensagens Recomendadas

Big-D

Bom Dia,

Gostava de saber se é possivel atraves de PHP esconder uma div.

passo o exemplo:

Enquanto o login nao for efectuado aparecem as seguintes divs: Registar e Login; após o login ter sido feito essas duas divs escondem-se e aparece as seguintes divs: ola "user" e Logout; e vice versa.

Opiniões??? Resto de um bom dia e obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
cyclop

if  (verificasetemLoginFeito) { echo('<div> olá '.$varQueTemOUser.'</div>') }else{ echo('<div>formulario de login etc...</div>'); }

qual a duvida?


"Quando eu for grande quero ser como o Celso"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Big-D

Eu nao sei se fui eu que nao percebi ou se me expliquei mal mas é o seguinte:

Eu tenho a pagina de login onde o user faz o seu login normal e na pagina index aparece numa div ola "user".

Caso o login nao seja feito sempre que for á pagina index aparece "Ola estranho!". Isto funciona bem a questão é:

Na pagina index tenho as opçoes login e registar que so podem aparecer enquanto nao houver um login efectuado caso ja haja so aparece a opçao logout, ou seja, na pagina index (sem login) aparece as opçoes Login e Registar. Caso o login seja efectuado na pagina index so aparecera a opçao de logout tando as outras duas escondidas.

Eu gostava era de conseguir fazer isso

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Big-D

Sim tenho. Aqui ta o codigo usado:

<?php 
// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("supless") or die(mysql_error()); 

//Checks if there is a login cookie
if(isset($_COOKIE['ID_my_site']))

//if there is, it logs you in and directes you to the members page
{ 
$username = $_COOKIE['ID_my_site']; 
$pass = $_COOKIE['Key_my_site'];

$check = mysql_query("SELECT * FROM supless WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check )) 
{
if ($pass != $info['password']) 
{
}
else
{
header("Location: login.php");

}
}
}

//if the login form is submitted
if (isset($_POST['submit'])) { // if form has been submitted

// makes sure they filled it in
if(!$_POST['username'] | !$_POST['pass']) {
echo "<script>alert('Por favor, preencha todos os campos.'); window.location=\"login.php\"</script>";
}
// checks it against the database

if (!get_magic_quotes_gpc()) {
$_POST['email'] = addslashes($_POST['email']);
}
$check = mysql_query("SELECT * FROM supless WHERE username = '".$_POST['username']."'")or die(mysql_error());

//Gives error if user dosen't exist
$check2 = mysql_num_rows($check);
if ($check2 == 0) {
echo "<script>alert('O utilizador não existe, por favor volte-se a registar!'); window.location=\"registo.php\"</script>";
}
while($info = mysql_fetch_array( $check )) 
{
$_POST['pass'] = stripslashes($_POST['pass']);
$info['password'] = stripslashes($info['password']);
$_POST['pass'] = md5($_POST['pass']);

//gives error if the password is wrong
if ($_POST['pass'] != $info['password']) {
die('Incorrect password, please try again.');
}
else 
{ 

// if login is ok then we add a cookie 
$_POST['username'] = stripslashes($_POST['username']); 
$hour = time() + 20000; 
setcookie(ID_my_site, $_POST['username'], $hour); 
setcookie(Key_my_site, $_POST['pass'], $hour);	

//then redirect them to the members area 
header("Location: index.php"); 

} 
}
}
else 
{	

// if they are not logged in 
?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

um concelho á parte disto, tenta, sempre que precisares apenas de meia duzia de dados da base de dados, não utilizar o * na pesquisa, usa antes algo do genero:

SELECT id, user, pass, nome FROM registos WHERE.....

a pesquisa torna-se mais rápida principalmente quando tiveres milhares de utilizadores, não que seja importante em nets actualizadas mas pelo menos no nosso pais ainda existem muitas terrinhas que se tiverem net a 512kb já é muito bom e terem já não é nada mau...

é o pais que temos mas para que não se torne demasiado lento para esses utilizadores é aconcelhável restringires os campos...

quanto à tua duvida, se bem percebi o utilizador tem acesso à página quer esteja autenticado ou nao esteja

e pelo que li já tens uma div a dizer ola estranho, isso quer dizer que nao se encontra autenticado...

nao sei se estou correcto mas se é estranho não se registou, por isso em vez de dizeres ola estranho devias apresentar a opção registar e login.

em caso de login falhado deves apresentar uma mensagem a dizer que os dados estao incorrectos e para tentar novamente e apresentas igualmente a opçao login e registar....

não sei qual e a duvida... é so substituires a div que diz ola estranho...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Big-D

A duvida é que (pondo de lado a parte do Ola estranho) se o individuo não tiver logado a div que é apresentada no index tem de dizer p.e.:Login / Registar mas se o individuo fizer login a div que é apresentada no index tem de dizer Logout. Via javascrcipt ja tentei e não consegui por isso perguntei se via PHP era possível fazer o hide show layers para que seja possível eu fazer o que quero.

Resto de um Bom Dia

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

nao sei se é possivel fazer hide and show divs em php, penso que nao mas podes sempre fazer algo do genero:

<table width="100%">

<tr>
    	<td width="31%"><?php if((isset($_SESSION['user']))&&(!empty($_SESSION['user']))){echo "Benvindo senhor(a) $nome!";}else{echo "Benvindo desconhecido!";}?> </td>
        <td width="52%"> </td>
        <td width="17%"><?php if((isset($_SESSION['user']))&&(!empty($_SESSION['user']))){?><a href="logout.php">Logout</a><?php }else{?><a href="login.php">Login</a>/<a href="registar.php">Registar</a><?php }?></td>
    </tr>
    <tr>
    	<td width="31%" colspan="3">Conteudo da Página</td>

    </tr>
</table>

faz o que pretendes e inclui também o benvindo desconhecido...

a não ser que eu tenha percebido mal o que querias....

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.