Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

02-10-2008 13:44

Bom dia galera.
estou com um problema, tenho um sistema que funciona perfeitamente, só que agora preciso disponibilizar aos usuários uma forma deles efetuarem os cadastros, editar e deletar conforme sua necessidade.
Este sistema ja esta com mais de 1000 itens cadastrados, logo não gostaria de mexer na tabela dos itens ...
Tenho 3 tabelas:
adiministrador, usuario e itens.
sendo comum nestas de usuario e itens a coluna " agencia ", lembro que somente o administrador pode cadastrar o usuario.
gostaria de interligar estas duas colunas, isto é , que somente o usuário da agencia "tal" poderia alterar os itens relacionados a agencia "tal" .
No momento estou tentando assim ....

if (isset($_SESSION['AgentID'])) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $sql = "SELECT $dbusu.agencia AS agencia, $dbvin.agencia AS agencia FROM $dbusu INNER JOIN $dbvin ON $ $dbusu.agencia=$dbvin.agencia"; $result = mysql_db_query($dbname, $sql, $link); $l = mysql_fetch_array( $result, MYSQL_ASSOC ); if( $l['agencia'] != $l['agencia'] ){ echo "<script language='JavaScript'> alert('Esta nao e sua Agencia.'); </script>"; } else { if($cadastro) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "SELECT id FROM $dbvin WHERE cadastro='$cadastro'"; $result = mysql_db_query($dbname, $query, $link); if(mysql_num_rows($result)) { echo "<script language='JavaScript'> alert('O número de cadastro digitado ja existe.'); </script>"; } else { foreach($_POST as $key => $value) { $_POST[$key] = addslashes($value); } $time = time(); $codigo = substr(time().rand(10000,99999),-15); $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "INSERT INTO $dbvin VALUES('0', aqui vem os $_POST's .....

Ao efetuar o cadastro , a pagina de cadastro retorna sem qualquer alerta e ou sinal de erro, porém a agencia que esta no formulario de cadastro some e o item não é cadastrado .

Espero que tenham entendido a questão.
Postei aqui pois não tinha certeza se deveria ser na parte de php ou mysql ...
Obrigado.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

02-10-2008 13:57

Não entendi muito bem.

O problema está em retornar os dados das duas tabelas com base na "agencia"?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

02-10-2008 15:21

Exatamente.
Exemplo:
O usuario Gerson é dono da agencia Sorvete
O usuario Fulano é dono da agencia Fazdeconta
O usuario Carlos é dono da agencia Chocolate

Ambos registrados e dentro da tabela usuario tenho a coluna agencia, que é referente a cada usuario.

O que eu preciso é que , quando o usuario Gerson efetuar login, este só tenha acesso aos itens referentes a sua agencia, que no caso é a Sorvete.

A dificuldade é que depois de tudo pronto e funcionando ( ja com mais de 1000 itens cadastrados e algumas agencias ), agora tenho que relacionar o usuario ( que antes não existia, havia somente o administrador ) com sua agencia.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

02-10-2008 15:37

Veja se esse artigo abaixo dá uma idéia

http://www.codigosnaweb.com/forum/viewtopic.php?t=783
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

02-10-2008 16:09

Beleza, entendi a situação.
Acredito que agora esteja o problema em session , pois o tempo todo surge o alerta.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

02-10-2008 16:24

A session geralmente é mantida enquanto o browser esteja aberto, talvez seja problema na passagem da session pelas páginas.

Dá uma buscada por: "session" aqui no fórum que vai achar alguns exemplos bases.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

02-10-2008 17:34

Pra minha pessoa ta um pouco complicado ..... sou iniciante nesta area.
Após o usuario efetuar login, o mesmo é direcionado a esta página ..

<? require 'config/config.php'; session_start(); if(isset($_POST[s1])) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $q1 = "SELECT * FROM $dbusu WHERE username = '$username' AND password = '$password' "; $rl = mysql_select_db($dbname, $link); $r1 = mysql_query($q1) or die(mysql_error()); if(mysql_num_rows($r1) == '1') { //ok $a1 = mysql_fetch_array($r1); $_SESSION[AgentID] = $a1[AgentID]; $_SESSION[username] = $a1[username]; $_SESSION[agencia] = $a1[agencia]; $_SESSION[nivel] = $a1[nivel]; header("location:controle2.php"); exit(); } else { echo "<script language='JavaScript'> alert('Nome de usuario ou senha invalido.'); </script>"; echo "<script>window.location='Login.php'</script>"; } } ?>

Nas demais páginas que eu quero proteger, eu coloco : require 'entrar2.php'; que é esta acima citado.
Só que continua na mesma .... não ha efeito, não mostra os dados cadastrados pelo usuario e na pagina de novos cadastros de itens , ja inicia com o alerta.

Obs. sei que ja envolve quase puramente o PHP, só estou dando continuidade ao post, caso esteja em local errado favor informar.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

02-10-2008 17:41

A primeira coisa é usar o session_start() na primeira linha

<?php
session_start();

Veja seu if

// CORRETO: $_POST['s1']
if(isset($_POST[s1]))
{

Seu form está usando o method POST?

Tem um campo com o nome: s1 no form?

Agora essa linha:
$q1 = "SELECT * FROM $dbusu WHERE username = '$username' AND password = '$password' ";

De onde vem o $username e o $password?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

02-10-2008 17:50

campo s1 --> <input type="submit" name="s1" value="Entrar">

campo username --> <input type="text" name="username">

campo password --> <input type="password" name="password">

Método utilizado é POST
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

02-10-2008 18:11

Os campos username e password não tem o value definido ( value="" ), isso interfere na consulta.

O outro ponto é que deve ser definido no select de onde vem os valores

$q1 = "SELECT * FROM $dbusu WHERE username = '".$_POST['username']."' AND password = '".$_POST['password']."'";
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

02-10-2008 23:07

Fiz as modificações, sinto que esta quase la, pois ao abrir a pagina de cadastro, embora ainda venha o alerta de que esta agencia não é minha, a agencia ja se apresenta preenchida conforme o usuario, porém não consigo efetuar o cadastro e não lista os cadastros ja feitos.
Quando faço login sou enviado para a página entrar2.php ja relatada, desta automaticamente vou para controle2.php onde lista os itens cadastrados e quantidade, conforme codigo abaixo :

<? require 'entrar2.php'; require 'configuracoes.php'; require 'config/config.php'; $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "SELECT * FROM $dbusu, $dbvin WHERE $dbusu.agencia=$dbvin.agencia ORDER BY updated DESC"; $result = mysql_db_query($dbname, $query, $link); $result = mysql_fetch_array($result); $date = date(' d \d\e M \d\e Y \à\s g:i a', $result[updated]); $query = "SELECT COUNT(*) FROM $dbusu, $dbvin WHERE $dbusu.agencia=$dbvin.agencia"; $result = mysql_db_query($dbname, $query, $link); $result = mysql_fetch_array($result); $count = $result[0]; mysql_close($link); ?> aqui vem o cabeçalho .... e depois lista .... <? $link = mysql_connect($dbhost, $dbuser, $dbpass); $db = mysql_select_db($dbname); $sql = "SELECT * FROM $dbusu, $dbvin WHERE $dbusu.agencia=$dbvin.agencia"; $exec = mysql_query($sql, $link) or die(mysql_error()); $total = mysql_num_rows($exec); $n = 1; while($data = mysql_fetch_array($exec)) { if(!($n % 2)) { $bg = "class='fill_light'"; } else { $bg = ''; } echo " <tr $bg> <td class='text'>$data[cadastro]</td> aqui vem o que é para listar ..... <td class='text' align='center'>$data[agencia]</td> <td class='text' align='center'><a class='link' href='pre_visualizar2.php?codigo=$data[codigo]'>Alterar</a></td> </tr> "; $n++; } mysql_close($link); ?>

e na página de cadastro esta assim .....

<? require 'entrar2.php'; require 'configuracoes.php'; require 'config/config.php'; $link = mysql_connect($dbhost, $dbuser, $dbpass); $db = mysql_select_db($dbname); $sql = "SELECT * FROM $dbusu, $dbvin WHERE $dbusu.agencia=$dbvin.agencia"; $exec = mysql_query($sql, $link) or die(mysql_error()); $total = mysql_num_rows($exec); if( $dbusu.agencia != $dbvin.agencia ){ echo "<script language='JavaScript'> alert('Esta nao e sua Agencia.'); </script>"; } else { if($cadastro) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "SELECT id FROM $dbvin WHERE cadastro='$cadastro'"; $result = mysql_db_query($dbname, $query, $link); if(mysql_num_rows($result)) { echo "<script language='JavaScript'> alert('O número de cadastro digitado ja existe.'); </script>"; } else { foreach($_POST as $key => $value) { $_POST[$key] = addslashes($value); } $time = time(); $codigo = substr(time().rand(10000,99999),-15); $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "INSERT INTO $dbvin VALUES('0', aqui vem os $_POST's ..... mysql_db_query($dbname, $query, $link); mysql_close($link); echo "<script language='JavaScript'> window.location='pre_visualizar2.php?codigo=$codigo'; </script>"; echo "Você adicionou um ve&iacute;culo"; exit(); } } } ?>


A situação do login conforme mecionado , ficou assim ....

<input type="text" name="username" value="$username">

Ja a entrar2.php

<? session_start(); require 'config/config.php'; if($_POST['s1']) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $q1 = "SELECT * FROM $dbusu WHERE username = '".$_POST['username']."' AND password = '".$_POST['password']."'"; $rl = mysql_select_db($dbname, $link); $r1 = mysql_query($q1) or die(mysql_error()); if(mysql_num_rows($r1) == '1') { //ok $a1 = mysql_fetch_array($r1); $_SESSION[AgentID] = $a1[AgentID]; $_SESSION[username] = $a1[username]; $_SESSION[agencia] = $a1[agencia]; $_SESSION[nivel] = $a1[nivel]; header("location:controle2.php"); exit(); } else { echo "<script language='JavaScript'> alert('Nome de usuario ou senha invalido.'); </script>"; echo "<script>window.location='Login.php'</script>"; } } ?>

Desculpa estender demais este tópico, mas não estou conseguindo acertar esta situação ....
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

02-10-2008 23:30

Teus documentos estão com alguns erros de lógicas. Por exemplo:

$query = "SELECT COUNT(*) FROM $dbusu, $dbvin WHERE $dbusu.agencia=$dbvin.agencia";

esse valor ( $dbvin.agencia ) deveria estar entre aspas simples '$dbvin.agencia'

Dentro do while tem:
$data[cadastro]

Deveria ser:
$data['cadastro']

Pega cada arquivo envolvido ai e vai mapeando para ver se todas as strings e variáveis passadas estão passadas pelo método correto, também faça alguns testes no select botando valores que sabe que tem no bd manualmente, para certificar que o select está OK, depois sim pega os dados vindo do método usado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

03-10-2008 10:55

WEB, bom dia.
Fiz todas as alterações e verifiquei todo o código, com relação $data['cadastro'] , não aceita , da erro, e ja funciona assim quando estou logado como administrador.
Estive pensando ( acredite, ainda restam alguns neuronios ) , como eu ja defino a área agencia que é a do meu usuario e esta ja vem preenchida quando aberta a pagina de cadastro, logo não precisaria da parte em que ha o alerta ...
if( $dbusu.agencia != $dbvin.agencia ){ echo "<script language='JavaScript'> alert('Esta nao e sua Agencia.'); </script>"; } else {

e sim bloquear o input da agencia no formulario, certo ?
Se eu usar disable , ele vem informando a agencia no input e não deixa alterar, porém não passa os dados deste para a próxima página, caso eu use readonly='true' ou readonly='readonly' perco a informação .
<input type='text' name='agencia' value='<?=$agencia?>' readonly='readonly'>
<input type='text' name='agencia' value='<?=$agencia?>' readonly='true'>
<input type='text' name='agencia' value='<?=$agencia?>' disable>
Entendeu o que quero dizer ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

03-10-2008 11:25

Com o readonly o valor é passado sim, roda esse script ai

<form method="POST"> <input type="text" name="valor" value="abc" readonly> <input type="submit" name="envio"> </form> <?php if($_POST['envio']) { echo $_POST['valor']; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

03-10-2008 13:15

Web, ok ja havia resolvido este problema sim, obrigado.
Esta cadastrando e esta listando, ta quase la ...
o que esta faltando é o seguinte ....

Como visualizar o que ja tinha sido cadastrado, isto é, como informei ja tinha mais de 1000 itens cadastrados, e agora só esta mostrando os novos cadastros quando o usuario quer visualizar sua agencia.
A visualização geral esta ok, só quando o usuario loga que ele não visualiza o que o adiministrador ja avia cadastrado para ele.
Espero que tenha entendido esta questão.
Lembro que antes não havia a tabela usuario somente a adiministação e em todos a agencia foi cadastrada a mão, todos os estão itens cadastrados anteriormente estão com suas respectivas agencias.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

03-10-2008 13:20

Se os novos itens cadastrados estão na mesma tabela dos antigos, não há porque não estar sendo mostrado, a não ser que tenha colocado alguma restrição.

Você pode tentar fazer um select da seguinte forma:

SELECT campostal, outrocampo FROM suatabela

Ai altera os valores ai para os que tem na tabela e veja o que é retornado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

04-10-2008 10:15

Nobre WEB.
Bom dia.
a situação é a seguinte:
1 - Cadastro pelo cliente , fazer o cadastro somente da sua agencia = OK
2 - Editar o item cadastrado, editar somente da sua agencia = OK
3 - Deletar o item, deletar somente da sua agencia = OK
4 - Visualizar os itens de sua agencia = NOK
$link = mysql_connect($dbhost, $dbuser, $dbpass); $db = mysql_select_db($dbname); $sql = "SELECT $dbvin.codigo AS codigo, $dbvin.cadastro AS cadastro, $dbvin.anomodelo AS anomodelo, $dbvin.marca AS marca, $dbvin.model AS model, $dbvin.condicao AS condicao, $dbvin.preco AS preco, $dbvin.agencia AS agencia, $dbusu.agencia AS agencia FROM $dbvin INNER JOIN $dbusu ON $dbvin.agencia=$dbusu.agencia"; $exec = mysql_query($sql, $link) or die(mysql_error()); $total = mysql_num_rows($exec); $n = 1; while($data = mysql_fetch_array($exec, MYSQL_ASSOC )) { if(!($n % 2)) { $bg = "class='fill_light'"; } else { $bg = ''; } echo '<tr $bg>'; echo '<td class="text">'.$data["cadastro"].'</td>'; echo '<td class="text" align="center">'.$data["anomodelo"].'</td>'; echo '<td class="text">'.$data["marca"].'</td>'; echo '<td class="text">'.$data["model"].'</td>'; echo '<td class="text" align="center">'.$data["condicao"].'</td>'; echo '<td class="text" align="center">R$ '.$data["preco"].'</td>'; echo '<td class="text" align="center">'.$data["agencia"].'</td>'; echo '<td class="text" align="center"><a class="link" href="pre_visualizar2.php?codigo='.$data["codigo"].'">Alterar</a></td>'; echo '</tr>';

Se eu usar assim === $dbvin.agencia=$dbusu.agencia => visualizo todas, logo poderia alterar qualquer uma.

Se eu usar assim ( que é o certo ) === $dbvin.agencia='$dbusu.agencia' => não visualizo nada.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

04-10-2008 12:06

Se você colocar um valor manual, visualiza?

$dbvin.agencia='valor aqui'

Se sim, verifica se $dbusu.agencia está sendo passada corretamente.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

04-10-2008 12:24

para teste estou utilizando 2 usuarios com 2 agencias respectivamente, sendo as agencias master e carol , defini o valor como master , loguei com usuario da agencia master logo listou assim :

25 12 Acura 1111 Novo R$ 12 carol Alterar
25 12 Acura 1111 Novo R$ 12 master Alterar
35 21 Acura 12 Novo R$ 12 carol Alterar
35 21 Acura 12 Novo R$ 12 master Alterar
44 44 Acura 1 Novo R$ 010 carol Alterar
44 44 Acura 1 Novo R$ 010 master Alterar
18 12 Acura 1 Novo R$ 12 carol Alterar
18 12 Acura 1 Novo R$ 12 master Alterar

veja que repetiu o numero do cadastro trocando a agencia ...

Ja vi que vou ter q rever o codigo da parte de cadastro .... que esta desta forma ...

$link = mysql_connect($dbhost, $dbuser, $dbpass); $db = mysql_select_db($dbname); $sql = "SELECT $dbusu.agencia AS agencia, $dbvin.agencia AS agencia FROM $dbusu INNER JOIN $dbvin ON $dbusu.agencia=$dbvin.agencia"; $exec = mysql_query($sql, $link) or die(mysql_error()); $total = mysql_num_rows($exec); if($cadastro) { $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "SELECT id FROM $dbvin WHERE cadastro='$cadastro'"; $result = mysql_db_query($dbname, $query, $link); if(mysql_num_rows($result)) { echo "<script language='JavaScript'> alert('O número de cadastro digitado ja existe.'); </script>"; } else { foreach($_POST as $key => $value) { $_POST[$key] = addslashes($value); } $time = time(); $codigo = substr(time().rand(10000,99999),-15); $link = mysql_connect($dbhost, $dbuser, $dbpass); $query = "INSERT INTO $dbvin VALUES('0', .................. '$_POST[agencia]', ................. mysql_db_query($dbname, $query, $link); mysql_close($link); echo "<script language='JavaScript'> window.location='pre_visualizar2.php?codigo=$codigo'; </script>"; echo "Você adicionou um ve&iacute;culo"; exit(); } } ?> <form action='<?=$PHP_SELF?>' method=post onSubmit='return checkrequired(this)'> <input class='texto2' type=text name='agencia' value='<?=$agencia?>' style='width:150px' maxlength=40 tabindex='17' readonly='readonly'>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

04-10-2008 12:27

Realmente é complicado opinar assim, talvez você tenha que adicionar a condição WHERE para retornar somente alguns cadsatros.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

04-10-2008 13:36

web, a situação ta complicada né .... rs
Olha só, ha uma outra situação que eu acho q pode ser feita, vou te passar o endereço do site para ajudar na analise, http://www.compecseguros.com/clickcar , no menu eu tenho a opção lojas , escolhendo uma das lojas da página ( que são os clientes cadastrados no site e não no BD ) eu consigo listar todos os itens daquela loja.
É possível ( caso seja mais fácil ) fazer com que o cliente ja com seu cadastro definido ( inclusive no BD ) possa ter nesta pagina a opção de alterar aqueles itens daquela página , acredito que através de um array buscando as informações do BD unuario e da página em questão ?

exemplo, vc vai ver que tem uma loja la que é a RCAR , eu cadastro o usuário da RCAR, ai ele abre a página seguindo o caminho citado acima, ele terá as opções de cadastrar, editar e apagar , logico todos os visitantes tb, só que , ao clicar em uma destas opções é pedido o login, este login estaria definido por uma array correlacionada a agencia ( no caso RCAR ) após o loguin volta para aquela página onde ele poderá fazer o que quiser, faz o que tem q fazer e ao sair da página o logout é automatico .

Resumindo , comparar através de um ARRAY.
O que vc acha ?
Poderia citar exemlos ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

04-10-2008 13:48

Entendi mais ou menos :menupic
se for problema de autenticação indico

http://www.codigosnaweb.com/forum/Auten ... _1692.html

Dá uma pesquisada ai no fórum ou explica melhor o que precisa pq ainda tá complicado
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

06-10-2008 19:01

Retornando ....
Desculpe, mas ja não tenho idéia do que fazer, ja tentei varias coisas .... ja li e reli varios tópicos e nada ....

A situação é a seguinte , quando cadastro um usuario, este tem em seu cadastro a agencia cadastrada junto, ao logar este usuário é pedido somente usuario e senha, na parte onde verifico os usuario logado e crio a session esta desta forma ...
<? session_start(); include "config/config.php"; $db = mysql_connect ($dbhost, $dbuser, $dbpass); $basedados = mysql_select_db($dbname); $confirmacao = mysql_query("SELECT * FROM $dbusu WHERE username='$username' AND password='$password' ", $db); $contagem = mysql_num_rows($confirmacao); if ( $contagem == 1 ) { $_SESSION['AgentID'] = $AgentID; $_SESSION['username'] = $username; $_SESSION['agencia'] = $agencia; $_SESSION['nivel'] = $nivel; header("Location:controle2.php"); } else { echo "Login ou senha inv&aacute;lidos. <a href='index.php'>Clique aqui para voltar.</a>"; } ?>

Na página protegida coloquei isso ...
<? session_start(); if(!isset($_SESSION['username'])){ echo "<script>location.href='index.php';</script>"; } require 'configuracoes.php'; require 'config/config.php'; continua o código desta

nesta mesma página coloquei este código ...
<? echo "Bem vindo <strong>". $_SESSION['username'] ." da Agencia ". $_SESSION['agencia'] ."</strong>! <br />"; Você est&aacute; acessando &aacute;rea restrita para usu&aacute;rios cadastrados!<br /><br />"; ?>

Quando logado , aparece o usuario , porém não aparece a agencia.
Não esta gravando a agencia na session !
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17635
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Bloqueando cadastro do usuario

06-10-2008 19:14

Você devia criar a session dentro de um while, porque provavelmente não tá obtendo os dados da tabela.

$conexao = mysql_connect("localhost", "login", "senha") or die(mysql_error());
$db = mysql_select_db("bd");

$selec = "SELECT ...";
$exec = mysql_query($selec, $conexao) or die(mysql_error());

while($campos=mysql_fetch_array($exec)) {
extract($campos);

$_SESSION['AgentID'] = '$AgentID';
//... continua os outros campos

} // fecha o while
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 402
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Bloqueando cadastro do usuario

06-10-2008 21:39

A questão da session foi resolvida ...
<? session_start(); include "config/config.php"; if ((isset($_POST['username'])) && isset($_POST['password'])){ $username = $_POST['username']; $password = $_POST['password']; $db = mysql_connect ($dbhost, $dbuser, $dbpass); $basedados = mysql_select_db($dbname); $sql = mysql_query("SELECT AgentID, username, password, agencia, nivel FROM $dbusu WHERE username='$username' AND password='$password' ", $db); $conta = mysql_num_rows($sql); if ( $conta > 0 ) { while($conta = mysql_fetch_array($sql)){ $_SESSION['AgentID'] = $conta[AgentID]; $_SESSION['username'] = $conta[username]; $_SESSION['agencia'] = $conta[agencia]; $_SESSION['nivel'] = $conta[nivel]; header("Location:controle2.php"); } } else { echo "Login ou senha inv&aacute;lidos. <a href='index.php'>Clique aqui para voltar.</a>"; } } ?>

agora volta o problema para listar por agencia/usuario ...
<? $link = mysql_connect($dbhost, $dbuser, $dbpass); $db = mysql_select_db($dbname); $sql = "SELECT $dbvin.codigo AS codigo, $dbvin.cadastro AS cadastro, $dbvin.anomodelo AS anomodelo, $dbvin.marca AS marca, $dbvin.model AS model, $dbvin.condicao AS condicao, $dbvin.preco AS preco, $dbvin.agencia AS agencia, $dbusu.agencia AS agencia FROM $dbvin INNER JOIN $dbusu ON $dbvin.agencia='$dbusu.agencia'"; $exec = mysql_query($sql, $link) or die(mysql_error()); $total = mysql_num_rows($exec); $n = 1; while($data = mysql_fetch_array($exec, MYSQL_ASSOC)) { if(!($n % 2)) { $bg = "class='fill_light'"; } else { $bg = ''; } echo '<tr $bg>'; echo '<td class="text">'.$data["cadastro"].'</td>'; echo '<td class="text" align="center">'.$data["anomodelo"].'</td>'; echo '<td class="text">'.$data["marca"].'</td>'; echo '<td class="text">'.$data["model"].'</td>'; echo '<td class="text" align="center">'.$data["condicao"].'</td>'; echo '<td class="text" align="center">R$ '.$data["preco"].'</td>'; echo '<td class="text" align="center">'.$data["agencia"].'</td>'; echo '<td class="text" align="center"><a class="link" href="pre_visualizar2.php?codigo='.$data["codigo"].'">Alterar</a></td>'; echo '</tr>'; $n++; } mysql_close($link); ?>

Não aparece nada .
1 - Cadastro pelo cliente , fazer o cadastro somente da sua agencia = OK
2 - Editar o item cadastrado, editar somente da sua agencia = OK *
3 - Deletar o item, deletar somente da sua agencia = OK *
4 - Visualizar os itens de sua agencia = NOK
* - desde que visualize seus itens
não mostra nada, caso eu coloque $dbvin.agencia=$dbusu.agencia ( sem aspas ) ja mostra tudo, inclusive dos outros.
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado