Ir para conteúdo
Fórum Script Brasil

david.lyonnais

Membros
  • Total de itens

    257
  • Registro em

  • Última visita

Tudo que david.lyonnais postou

  1. david.lyonnais

    User & Admin

    crie um campo na tabela com o nome "Permissao" ou algo parecido dai se o cara for user normal deixa 0 se for admin usa 1 dai quando ele logar vai verificar se ele é user normal ou admin ... depois so fazer uma if pra direcionar e colocar o valor permissao tabm numa session ... so não coloco um exemplo agr porque eu to ocupado mais essa é a ideia... dps eu coloco ele.. @edit Ops você já teve essa ideia so vi agr ... ta dando erro , acontece oque de errado?
  2. Ai vai uma classe que eu editei... pegando ideias e funções não criadas inteiramente por mim, e algumas editadas... mysql.class.php <?php /* Classe para conexão ao banco de dados , select , insert ,update e delete e alguns metodos utieis como transforma data de yyyy-mm-dd para dd/mm/yyyy e vice - versa e uma anti sql injection Funções simplificadas para maior entedimento Não é uma classe que eu criei e sim codigos pegos e modificados se necessarios @editor: David Guilherme // pois não nenhuma criada inteiramente por mim @data: 03/08/2010 */ class MySQL{ //Variaveis de acesso ao banco de dados var $host = 'servidor'; var $login = 'usuario'; var $senha = 'senha'; var $banco = 'banco'; //Variavel de Resposta var $conec; //Metodo Construtor function MySQL(){ $this->conec = mysql_connect($this->host,$this->login,$this->senha); if ($this->conec){ $result = mysql_select_db($this->banco,$this->conec); if (! $result){ echo 'Conexão ao database falhou, ao escolher o banco de dados'; $ret = 0; }else{ $ret = $this->conec; } }else{ echo 'Conexão ao database falhou,ao tentar conectar ao seu database MySQL'; $ret = 0; } return ($ret); } //Metodo de execusão do sql function querySQL($sql){ $result = mysql_query($sql,$this->conec); if (! $result){ echo 'Erro ao tentar executar um codigo sql'; $res = 0; }else{ $res = $result; } return ($res); } //Metodo inserir dados indepedente da ordem que estão listados /* Formato: $infoarray = array(array("valor a ser inserido","campo da tabela"); ex.: $infoarray = array( array("$usuario","usuario"), array("$senha","senha"), array("$nomeCompleto","nomeCompleto"), array("$data","dataNascimento"), array("$email","email"), array("$id","id")); */ function insertSQL($tabela,$infoarray){ $resposta = $this-> querySQL("select * from $tabela"); if($resposta){ $sql = "insert into $tabela values ("; while($objcampos = mysql_fetch_field($resposta)){ $campotabela = $objcampos->name; reset($infoarray); while(list($chave) = each($infoarray)){ $valor = $infoarray[$chave][0]; $campo = $infoarray[$chave][1]; if($campotabela == $campo){ $sql .= "\"$valor\","; } } } $sql = substr($sql,0,strlen($sql)-1).")"; $res = $this-> querySQL($sql); return ($res); } } //Metodo atualizar dados indepedente da ordem colocada /* Colocar 1 o campo que vai servi de clasula pra o where e 0 para o resto Formato: $infoarray = array(array("valor a ser inserido","campo da tabela","where"); ex.: $infoarray = array( array("$usuario","usuario","0"), array("$senha","senha","0"), array("$nomeCompleto","nomeCompleto","0"), array("$data","dataNascimento","0"), array("$email","email","0"), array("$id","id","1")); */ function updateSQL($tabela,$infoarray){ $sql = "update $tabela set"; $whereid = " where "; while (list($chave) = each($infoarray)){ $valor = $infoarray[$chave][0]; $campo = $infoarray[$chave][1]; $where = $infoarray[$chave][2]; if($where){ $whereid .= "$campo = \"$valor\" AND"; }else{ $sql .= "$campo = \"$valor\","; } } $whereid = substr($whereid,0,strlen($whereid)-4); $sql = substr($sql,0,strlen($sql)-1).$whereid; $res = $this->querySQL($sql); return ($res); } //Metodo excluir dados function deleteSQL($tabela,$idcampo,$id){ $res = $this->querySQL("delete from $tabela where $campo = \"$id\" "); return ($res); } //Metodos pra inverter o formato data de brasileiro para americano e vice-versa // Formata data aaaa-mm-dd para dd/mm/aaaa function databr($datasql) { if (!empty($datasql)){ $p_dt = explode('-',$datasql); $data_br = $p_dt[2].'/'.$p_dt[1].'/'.$p_dt[0]; return $data_br; } } // Formata data dd/mm/aaaa para aaaa-mm-dd function datasql($databr) { if (!empty($databr)){ $p_dt = explode('/',$databr); $data_sql = $p_dt[2].'-'.$p_dt[1].'-'.$p_dt[0]; return $data_sql; } } //Metodo anti-injection function anti_injection($sql) { // remove palavras que contenham sintaxe sql $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql); $sql = trim($sql);//limpa espaços vazio $sql = strip_tags($sql);//tira tags html e php $sql = addslashes($sql);//Adiciona barras invertidas a uma string return $sql; } } ?> Obs.: Nas funções insertSQL, updateSQL não é nescessario coloca os valores na mesma ordem dos campos da tabela Qualquer erro so posta ai...
  3. tente usar um redirecionamento com javascript enves de header() tras menos problemas echo "<script>document.location.href='pagina.html'</script>";
  4. Tenta fazer o while assim:colocando mysql_fetch_array while ($dados=mysql_fetch_array($buscaDados)){ mysql_close(); include("../conecta.php"); $gravaDados=mysql_query("INSERT INTO xxx (xxx, xxx, xxx, xxx) VALUES ('$dados[xxx]','$dados[xxx]', '$dados[xxx]', '$dados[xxx]')"); mysql_close(); include_once("../conectaServidor.php"); if ($gravaDados){ } else{ echo mysql_error(); } }
  5. a funçao session_start() , tem que estar no head... nesse caso a solução seria você tirar os codigos html desnecessarios como os que estao no quote...e outros como os: Os <html> e <body> no meio do codigo tente retira-los @edit: Acebei esqsendo o header() tabm não pode
  6. No caso de prevenir o SQL Injection tem uma função que eu encontrei na internet bem legal ai vai a função function anti_injection($sql) { // remove palavras que contenham sintaxe sql $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql); $sql = trim($sql);//limpa espaços vazio $sql = strip_tags($sql);//tira tags html e php $sql = addslashes($sql);//Adiciona barras invertidas a uma string return $sql; } //modo de usar pegando dados vindos do formulario $nome = anti_injection($_POST["nome"]); $senha = anti_injection($_POST["senha"]); No caso do get é so troca post por get...
  7. Deve estar porque no script dele de cadastro pelo que eu vi esta colocando codificada..
×
×
  • Criar Novo...