Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gersonab

Bloqueio de usuario

Recommended Posts

Preciso relacionar a tabela usuario com a tabela de itens, para que somente o usuario daquele item possa incluir e ou alterar, esta assim :

 

$link = mysql_connect($dbhost, $dbuser, $dbpass);
$query = mysql_query("SELECT $dbcfg.dealer, $dbvin.agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia");
$result = mysql_db_query($dbname, $query, $link);
if( $dealer <> $agencia ){
echo "<script language='JavaScript'> alert('Esta nao e sua Agencia.'); </script>";
echo "<script>window.location='controle.php'</script>";
} else {
$link = mysql_connect($dbhost, $dbuser, $dbpass);
$query = "INSERT INTO $dbvin VALUES ........
Não ocorre o bloqueio do cadastro ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso nao faz sentido nenhum...

 

precisa extrair os dados encontrados na tabela e nao tem nenhum codigo aí que esteja fazendo isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hinom, obrigado pela ajuda que esta prestando....

Vamos por parte ..

Fiz o select , executei a query , comparei os resultados, só que realmente parece não estar extraindo os dados da tabela ....

como fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

1

na query SQL

crie um alias para os nomes dos campos

 

(em negrito)

$query = mysql_query("SELECT $dbcfg.dealer AS dealer, $dbvin.agencia AS agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia");

 

 

 

2

logo após a linha

$result = mysql_db_query($dbname, $query, $link);

adicione:

 

$l = mysql_fetch_array( $result, MYSQL_ASSOC );

 

3

na condicional

 

ao invés de..

if( $dealer <> $agencia ){

faça

 

if( $l['dealer'] != $l['agencia'] ){

 

faça as alterações, teste e poste como ficou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar o codigo aqui para facilitar ...

 

[b]aqui vem os require[/b]

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);
		}
		
		$link = mysql_connect($dbhost, $dbuser, $dbpass);
	$query = mysql_query("SELECT $dbcfg.dealer AS dealer, $dbvin.agencia AS agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia");
	$result = mysql_db_query($dbname, $query, $link);
	$l = mysql_fetch_array( $result, MYSQL_ASSOC );
	if( $l['dealer'] != $l['agencia'] ){
		echo "<script language='JavaScript'> alert('Esta nao e sua Agencia.'); </script>";
		echo "<script>window.location='controle.php'</script>";
	} else {

		$time = time();
		$codigo = substr(time().rand(10000,99999),-15);

		$link = mysql_connect($dbhost, $dbuser, $dbpass);
		$query = "INSERT INTO $dbvin VALUES(
								[b]Aqui vem os $_POST's[/b]

								mysql_db_query($dbname, $query, $link);
		mysql_close($link);

		echo "<script language='JavaScript'> window.location='pre_visualizar.php?codigo=$codigo'; </script>";
		echo "Você adicionou um veículo";
		exit();
	}		  }		   
}

ja coloquei em varias posições e nada .... não adiciona a agencia e não da erro, alias o erro que da não da tempo para ver a mudança na pagina é muito rapida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja coloquei em varias posições e nada .... não adiciona a agencia e não da erro, alias o erro que da não da tempo para ver a mudança na pagina é muito rapida.

heehhe

 

basta comentar o redirect do javascript e ver com calma..

 

//echo "<script>window.location='controle.php'</script>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque isso

$query = mysql_query("SELECT $dbcfg.dealer AS dealer, $dbvin.agencia AS agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia");
	$result = mysql_db_query($dbname, $query, $link);
	$l = mysql_fetch_array( $result, MYSQL_ASSOC );

Por isso

 

$sql = "SELECT $dbcfg.dealer AS dealer, $dbvin.agencia AS agencia FROM $dbcfg INNER JOIN $dbvin ON $dbcfg.dealer=$dbvin.agencia";
$result = mysql_db_query($dbname, $sql, $link);
$l = mysql_fetch_array( $result, MYSQL_ASSOC );

o segundo parametro da funcao mysql_db_query é uma string contendo o SQL, você estava passando um resource.

Ah, caso não seja isso, cole a mensagem de erro.

 

Att,

Guilherme Oenning

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei este tópico aqui no forum -> http://forum.imasters.com.br/index.php?showtopic=307630 <-

bem interessante e dentro do que estou precisando, ja até iniciei um trabalho com session , duas perguntas :

Estaria realmente dentro do que eu quero ?

 

Uma ajuda para conluir ....

 

A parte da session esta assim ....

<?
require 'config/config.php';


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>";

	}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz algumas modificações, em busca de soluções, porém continuo com o mesmo problema, não ha sinal de alerta e ou erro.

Retorna a pagina do cadastro sem efetuar o cadastro e o item da agencia aparece em branco.

 

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',

Compartilhar este post


Link para o post
Compartilhar em outros sites

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, o que estaria errado.

 

Se eu usar assim ( que é o certo ) === $dbvin.agencia='$dbusu.agencia' => não visualizo nada.

O que estaria errado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.