Ir para conteúdo
Fórum Script Brasil

Beraldo

Veteranos
  • Total de itens

    4.466
  • Registro em

  • Última visita

Tudo que Beraldo postou

  1. Tente assim: $sql = "Insert Into Imagens (CodigoUsuario, Url_Imagem, Url_Destino, TamanhoImagem, TipoImagem) Values ('$xCodigoUsuario', '$xUrlImagem', '$xUrlDestino', '$xtamanho_imagem', '$xtipo')"; Se não der, de um echo na variável $sql para ver quais valores estão sendo recebidos. []'s
  2. Beraldo

    Iframes

    Isso é simplesmente HTML: <a href="pagina.php" target="nome_do_iframe">LINK</a> []'s
  3. Beraldo

    Selecionar Id´s Array

    Primeiramente, bem-vindo ao Fórum. :) Como você fez a consulta com LIKE? Tente assim: Select * From tabela Where IdArray Like '% 2 %'; * Note que deixei espaçoes entre o "2" e o "%"; []'s
  4. Beraldo

    Evitar Copia

    Para desabilitar a barra na imagem: http://www.criarweb.com/artigos/459.php Para dificultar a cópi de textos, veja a área de códigos JavaScript no portal Script Brasil, que há muitos códigos com essa finalidade. Lembrando que é impossível bloquear a cópia de suas imagens textos, etc. Desabilitar o JavaScript é uma maneira simples e eficiente de burlar esse sistema. :D []'s
  5. Bem-vindo à equipe e parabéns pelo novo cargo! :D []'s
  6. Este script só funcionará com PHP 5.0 ou superior. Esta é uma classe para manipular carrinhos de compras usando a extensão MySQLi e a classe MySQLiConnection. carrinho.php - Classe Carrinho <?php ############################################# # # # Autor: Roberto Beraldo Chaiben (Beraldo) # # E-Mail: rbchaiben@gmail.com # # # ############################################# /* Classe para manipulação de carrinhos de compras, com funções para adicionar produtos, remover produtos, alterar a quantidade de cada produto e cálculo do valor total da compra. */ class Carrinho { /* Função AdicionarProduto($id) Adiciona ao carrinho o produto cujo id na tabela produtos seja $id, passado como parâmetro da função. Se o id for inválido (NULL ou ''), axibe um alerta e retorna FALSE. Se o produto já estiver no carrinho, exibe um alerta e retorna FALSE. */ public function AdicionarProduto($id) { if ($id == NULL || $id == '' || $id == 0) { echo " <script type=\"text/javascript\"> alert ('O id do produto deve ser inteiro e maior que zero'); </script>"; return false; } /* A função ArrayCarrinho() retorna um array com os id's dos produtos e suas respectivas chaves no array $_SESSION['carrinho']. */ $aCar = ArrayCarrinho(); if (in_array ($id, $aCar)) { echo " <script type=\"text/javascript\"> alert ('O produto que você selecionou já está em seu carrinho de compras.\\n Para adicionar outra unidade, altere a quantidade do produro.'); </script> "; return false; } $my = new MySQLiConnection(); $sql = $my->query ("Select * From produtos Where id = ".$id); if ($sql->num_rows == 0) { echo " <script type=\"text/javascript\"> alert ('Não foi encontrado um produto com esse id.'); </script>"; return false; } $f = $sql->fetch_object(); $cod = $f->id; $nome = $f->nome; $preço = $f->preço; $desc = $f->descricao; //próxima chave de $_SESSION['carrinho']: $k = isset ($_SESSION['carrinho']) ? count ($_SESSION['carrinho']) : 0; $_SESSION['carrinho'][$k]['id'] = $cod; $_SESSION['carrinho'][$k]['nome'] = $nome; $_SESSION['carrinho'][$k]['preço'] = $preço; $_SESSION['carrinho'][$k]['qtde'] = 1; $_SESSION['total'] = $this->Total(); $_SESSION['carrinho'][$k]['descricao'] = $desc; //ordena $_SESSION['carrinho'] por nome de produto: sort ($_SESSION['carrinho'], SORT_STRING); } /* Função RemoverProduto($id) Remove de $_SESSION['carrinho'] o produto cujo id na tabela produtos é $id, passado como parâmetro da função. Se o id for inválido (NULL ou ''), exibe um alerta e retorna FALSE. */ public function RemoverProduto($id) { if ($id == NULL || $id == '' || $id == 0) { echo " <script type=\"text/javascript\"> alert ('O id do produto deve ser inteiro e maior que zero'); </script>"; return false; } // encontra a chave cujo id é o passado na função e o coloca na variável $k $aCar = ArrayCarrinho(); $k = array_search ($id, $aCar); unset ($_SESSION['carrinho'][$k]); if (count ($_SESSION['carrinho']))//se ainda houver produtos no carrinho { //organiza as chaves do array desde zero até (count ($_SESSION['carrinho']) - 1) $car_keys = range (0, (count ($_SESSION['carrinho']) - 1)); $_SESSION['carrinho'] = array_combine ($car_keys, $_SESSION['carrinho']); } $_SESSION['total'] = $this->Total(); } /* Função AlterarQuantidade($id, $n_qtde) Altera a quantidade de unidades do produto cujo id é $id para $n_qtde. Se o id for inválido (NULL ou ''), exibe um alerta e retorna FALSE. Se $n_qtde for maior que zero, altera a quantidade do produto; se for igual ou menor que zero, remove-o do carrinho. */ public function AlterarQuantidade($id, $n_qtde) { if ($id == NULL || $id == '' || $id == 0) { echo " <script type=\"text/javascript\"> alert ('O id do produto deve ser inteiro e maior que zero'); </script>"; return false; } if ($n_qtde > 0) { // encontra a chave cujo id é o passado na função e o coloca na variável $k $aCar = ArrayCarrinho(); $k = array_search ($id, $aCar); $_SESSION['carrinho'][$k]['qtde'] = $n_qtde; $_SESSION['total'] = $this->Total(); } else $this->RemoverProduto($id); } public function Total() { $carro = isset($_SESSION['carrinho']) ? $_SESSION['carrinho'] : array(); // inicia a variável $total: $total = 0; for ($t = 0; $t < count ($carro); $t++) { // multiplica o preço do produto por sua respectiva quantidade $total += $carro[$t]['preço'] * $carro[$t]['qtde']; } // retorna o total já formatado na forma brasileira return number_format ($total, 2, ",", ""); } } array_carrinho.php - Função Array_Carrinho() <?php /* Retorna um array com os pares chave => vaor da variável $_SESSION['carrinho'] Exemplo: $_SESSION['carrinho'][0]['id'] = 4 $_SESSION['carrinho'][1]['id'] = 10 $_SESSION['carrinho'][2]['id'] = 2 $x = ArrayCarrinho(); print_r ($x); [0] => 4 [1] => 10 [2] => 2 */ function ArrayCarrinho() { if (!isset($_SESSION['carrinho']) || !is_array($_SESSION['carrinho']) || (count ($_SESSION['carrinho']) == 0)) return array(); $cods = array(); $carro = isset($_SESSION['carrinho']) ? $_SESSION['carrinho'] : array(); foreach ($carro as $k => $v) { $cods[$k] = $v['id']; } return $cods; } ?> O download do sistema completo pode ser feito neste link: https://www.scriptbrasil.com.br/?class=2.3&...egoria=V%E1rios []'s
  7. Beraldo

    Inserir Dados Not Null

    Não existe Where no Insert. Deixe apenas: $que = mysql_query ("insert into gar_pecas (material, fab, modelo) values ('$f_material', '$f_fab', '$f_modelo')"); O campo deve ser criado como not null: Create Table gar_pecas( campo varchar (30) not null ) []'s
  8. Esta classe funcionará apenas no PHP 5.0 ou superior. <?php ############################################# # # # Autor: Roberto Beraldo Chaiben (Beraldo) # # E-Mail: rbchaiben@gmail.com # # # ############################################# /* Classe para conexão com banco de dados MySQL usando a extensão MySQLi, disponível a partir do PHP 5. A classe contém o construtor de conexão, registrando os possíveus erros de conexão no arquivo db_errors.log, e o destrutor, para fechar a conexão. As demais fgunções de banco de dados são padrões da classe myslqi, devendo ser usadas, por exemplo, desta forma: $My = new MySQLiConnection(); $My->query(); Caso você não tenha um arquivo de inicialização que defina as constantes para conexão com o banco de dados e o caminho para o diretório dos arquivos de logs de erro, descomente a parte do código que usa a função define() e configure-a com as informações para conexão. */ // Constantes paea conexão com o banco de dados: /* define ("DB_SERVIDOR", "localhost"); define ("DB_USUARIO", "root"); define ("DB_SENHA", "asxz123"); define ("DB_NOME", "testes"); define ("LOGS_PATH", "logs/"); */ class MySQLiConnection extends mysqli { public function __construct() { try { //@mysqli_connect (DB_SERVIDOR, DB_USUARIO, DB_SENHA, DB_NOME); parent::__construct (DB_SERVIDOR, DB_USUARIO, DB_SENHA, DB_NOME); if (mysqli_connect_errno() != 0) throw new Exception (mysqli_connect_errno() . " - " . mysqli_connect_error()); } catch (Exception $db_error) { $mensagem = $db_error->getMessage(); $arquivo = $db_error->getFile(); $data = date ("Y-m-d H:i:s"); $ip_visitante = $_SERVER['REMOTE_ADDR']; if (!file_exists (LOGS_PATH)) mkdir (LOGS_PATH); // mensagem que será salva no arquivo de logs do banco de dados $log = $data . " | " . $mensagem . " | " . $arquivo . " | " . $ip_visitante . "\r\n\r\n"; error_log ($log, 3, LOGS_PATH . "db_errors.log"); echo "Erro ao conectar ao banco de dados MySQL. O erro foi reportado e o administrador do sistema tomará as devidas providências."; exit; } } public function __destruct() { if (mysqli_connect_errno() == 0) $this->close(); } } ?> Forma de usar: $My = new MySQLiConnection();// conecta-se automaticamente ao servidor MySQL $sql = $My->query ("Select * From tabela");// a função query() é nativa da classe mysqli while ($f = $sql->fetch_object()) { echo $f->nome . "<br />"; } $sql->close();// libera a memória usada na consulta // a conexão é fechada automaticamente no fim do script. Mais detalhes sobre a extensão MySQLi: http://br2.php.net/manual/en/ref.mysqli.php []'s
  9. <?php ############################################# # # # Autor: Roberto Beraldo Chaiben (Beraldo) # # E-Mail: rbchaiben@gmail.com # # # ############################################# /* Esta função filtra o texto passado como atgumento, conforme as palavras cadastradas no array $filtro. Se a palavra estiver com inicial maiúscula, a forma final também terá inicial maiúscula. Também é possível buscar as palavras em um banco de dados. */ //Palavras do Filtro $filtro[0]['original'] = "também"; $filtro[0]['filtrada'] = "também"; $filtro[1]['original'] = "beleza"; $filtro[1]['filtrada']= "beleza"; $filtro[2]['original'] = "você"; $filtro[2]['filtrada'] = "você"; function Filtrar ($t) { global $filtro; for ($f = 0; $f < count ($filtro); $f++) { $errado = $filtro[$f]['original']; $certo = $filtro[$f]['filtrada']; if (preg_match ("/". $errado ."/i", $t, $match[$f])) { $ucwords = ($match[$f][0] == ucwords ($match[$f][0])) ? true : false; $t = preg_replace ("/". $errado ."/i", (($ucwords == true) ? ucwords ($certo) : $certo), $t); } } return $t; } ?> Exemplo de uso: $t = "Tudo beleza com você? Comigo também!"; echo Filtrar ($t); * O fórum corrigiu "v c", "b l z" e "t b". Essa função pode ser integrada com um banco de dados, no qual as palavras serão buscadas. ;)
  10. Beraldo

    Inserir Dados Not Null

    É possível sim, mas você precisará de uma linguagem de programação para inserir as informações no banco de dados. Se você deixar o campo como Not Null e o usuário deixar o campo em branco, será gerado um erro no MySQL, por isso você deve verificar o valor digitado com a linguagem a ser utilizada. []'s
  11. <?php ############################################## # # # Autor: Roberto Beraldo Chaiben (Beraldo) # # E-Mail: rbchaiben@gmail.com # # # ############################################## /* string code_rand ([int size[, int RAND_TYPE]]) Função que gera códigos com o comprimento size (o qual deve ser maior ou igual a 6 e menor que 50). É possível gerar códigos compostos somente por letras, somente por números ou contendo ambos,de acordo com o parâmetro RAND_TYPE, que pode ser: RAND_NUM - Cria códigos contendo somente números RAND_ALPHA - Cri códigos contendo apenas letras RAND_BOTH - Cria códigos contendo letras e números. Se o parâmetro size não for especificado, a função retornará um código com seis caracteres. Se o parâmetro RAND_TYPE não for especificado, a função retornará um código composto por letras e números. Se RAND_TYPE for RAND_BOTH (padrão), o total de elementos do código deverá ser meior ou igual a um terço do tamanho do mesmo. Por exemplo, se for um código de seis caracteres, pelo menos dois serão números. Se for um código com nove caracteres, ao menos três serão algarismos inteiros. */ // NÃO retire a parte que define as constantes! // constantes usadas no argumento RAND_TYPE da função code_rand() define ("RAND_NUM", 2); define ("RAND_ALPHA", 3); define ("RAND_BOTH", 4); function code_rand ($size = 6, $type = 4) { if ($size < 6) { echo "<strong>Erro:</strong> O parâmetro <em>size</em> da função <strong>".__FUNCTION__."()</strong> deve ser maior do que 6"; return false; } if ($size > 50) { echo "<strong>Erro:</strong> O parâmetro <em>size</em> da função <strong>".__FUNCTION__."()</strong> deve ser menor do que 50"; return false; } /* A variável $ok fará a verificação do argumento RAND_TYPE. Se o valor do argumento for válido, o valor da variável passaa de "false" para "true". */ $ok = false; if ($type == 2) $ok = true; if ($type == 3) $ok = true; if ($type == 4) $ok = true; if ($ok === false) { echo "<strong>Erro:</strong> Valor inválido para o parâmetro <em>RAND_TYPE</em> da função <strong>".__FUNCTION__."()</strong>"; return false; } $up_letters = range ("A", "Z");// letras em caixa alta (upper case) $low_letters = range ("a", "z");// letras em caixa baixa (lower case) $letras = array_merge ($low_letters, $up_letters);// letras maiúsculas e minúsculas $numeros = range (0, 9);// números de 0 a 9 if ($type == 2)// se RAND_TYPE for RAND_NUM { $elementos = $numeros; //gera um array com, pelo menos, 50 elementos $m = count($numeros); while ($m < 50) { $elementos = array_merge ($elementos, $numeros); $m += count ($numeros); } } if ($type == 3)// se RAND_TYPE for RAND_ALPHA $elementos = $letras; if ($type == 4)// se RAND_TYPE for RAND_BOTH $elementos = array_merge ($letras, $numeros); $x = array_rand ($elementos, $size);// gera um array com $size elementos contendo as chaves do array $elementos sort ($x); reset ($x); for ($c = 0; $c < $size; $c++) { $cod[$c] = $elementos[$x[$c]]; } //Se RAND_TYPE for RAND_BOTH, no mínimo um terço dos elemntos do código deverá ser números. if ($type === 4) { $num_count = 0;// variável que armazenará o total de números do código for ($z = 0; $z < 10; $z++) { if (in_array ($z, $cod, TRUE)) $num_count++; } $um_terco = (int)($size / 3);// um terço de $size if ($num_count < $um_terco)//se o total de números for menor que um terço de $size { $num_que_faltam = $um_terco - $num_count;// quantos números faltam para chegar a $um_terco for ($w = 1; $w <= $num_que_faltam; $w++) { array_shift ($cod);// retira o primeiro elemento do array (sempre uma letra) $key_num = array_rand ($numeros, 1);// sorteia uma chave do array $numeros array_push ($cod, $numeros[$key_num]);// adiciona um número no final do array $cod } } } shuffle ($cod);// embaralha os elemntos do array, para que não fiquem letras minúsculas seguidas de maiúsculas seguidas de números. $code = implode ("", $cod); return $code; } ?> Forma de usar: //gera um código com 6 caracteres, dentre letras e números echo code_rand (); // gera um código com 20 algarismos inteiros echo code_rand (20, RAND_NUM); // gera um código com 35 letras echo code_rand (35, RAND_ALPHA); //gera um código com 50 caracteres, dentre letras e números echo code_rand (50, RAND_BOTH);
  12. Saudações, pessoal! :) Resolvi criar uma função que transformasse em links URLs de um texto. Se a URL for muito grande, a função também a reduz. código da função <?php ############################################# # # # Autor: Roberto Beraldo Chaiben (Beraldo) # # E-Mail: rbchaiben[arroba]gmail.com # # # ############################################# /* string MontarLink (string texto) A função MontarLink() transforma em links as URLs iniciadas por 'http://' contidas no argumento 'texto'. Se a URL tiver mais que 60 caracteres, serão exibidos os 25 primeiros, seguidos de reticências (...) e os últimos 15. Se 'texto' não for uma string, a função retorna FALSE. IMPORTANTE: Se o link se iniciar por 'www' e não tiver 'http://', a função nào surtirá efeito. */ function MontarLink ($texto) { if (!is_string ($texto)) return false; $er = "/http:\/\/(www\.|.*?\/)?([a-zA-Z0-9]+|_|-)+(\.(([0-9a-zA-Z]|-|_|\/|\?|=|&)+))+/i"; preg_match_all ($er, $texto, $match); foreach ($match[0] as $link) { $link = strtolower ($link); if (strstr ($link, "http://") === false) $link = "http://" . $link; $link_len = strlen ($link); //troca "&" por "&", tornando o link válido pela W3C $web_link = str_replace ("&", "&", $link); $texto = str_ireplace ($link, "<a href=\"" . $web_link . "\" target=\"_blank\">". (($link_len > 60) ? substr ($web_link, 0, 25). "...". substr ($web_link, -15) : $link) ."</a>", $texto); } return $texto; } Um exemplo de como funciona: $a = "O link http://www.Trova.Di.danu é Metal! http://www.Tuatha.de.danann também é metal!"; echo "<p>" . MontarLink ($a) . "</p>\r\n"; $b = "O link http://www.master.of.puppets.that.should.not.be/index.php?id=7&x=y parece interessante."; echo "<p>" . MontarLink ($b) . "</p>\r\n"; $c = "O link http://www.MetropolisPt2.Scenes.from.a.memory/regression/Overture1928 também parece ótimo"; echo "<p>" . MontarLink ($c) . "</p>\r\n"; Abraços
  13. Beraldo

    Getimagesize...

    Use imagecreatefrom(jpeg|gif|png)(), imagesx() e imgesy(). http://br.php.net/imagecreatefromjpeg http://br.php.net/imagesx http://br.php.net/imagesy []'s
  14. hehehe Prrogramas de código aberto e cheios de colaboradores é assim! :D Isso é ótimo, mas tem que ficar sempre de olho nas atualizaçòes. hehe Ainda não vi o que há de novo no 5.2, mas acredito que não haja muitas mudanças. Talvez fixação de alguns bugs e/ou modificações mais simples. []'s
  15. Os únicod dois arquivoss necessários para o envio de e-mails são class.phpmailer.php e class.smtp.php. Inclua-os nos scripts que utilizarão o PHPMailer. Veja os exemplos do site oficial e o que lhe passei do site VivaOLinux e veja se consegue montar um sistema para envio. []'s
  16. Beraldo

    Problema Com Strpos()

    Só lembrando que para validar um e-mail é mais adequado o uso de expressões regulares. Há um exemplo muito bom aqui: http://scriptbrasil.com.br/forum/index.php...21&hl=email []'s
  17. Talvez o erro esteja na forma como você colocou a tag <img> dentro do echo, pois você não escapou as aspas do HTML. Tente assim: echo "<img src=\'" . $imag . "\'">"; []'s
  18. Beraldo

    Iframe E Include

    Voce está exibindo no iFrame a página com os menus. Construa as páginas sem os menus para exibi-las no iFrame. Onde você inseriu o código que postou? E de onde vêm aquelas variáveis? Já que você pode usar PHP, não utilize iFrames; use query string ou urls amigáveis. []'s
  19. Troque or die ("Erro") por or die (mysql_error()) e poste a mensagem de erro. []'s
  20. Uso MySQL 5.1, mas pelo jeito estamos já no MySQL 5.2: http://dev.mysql.com/downloads/mysql/5.2.html []'s
  21. Eu faria o seguinte: Deixaria o campo CPF como campo único (Unique Key) - não deixaria com chave primária pois sempre coloco o campo ID nas tabelas - e faria o Insert diretamente. Se fosse retornado o erro 1062 do MySQL ("Diplicate Entry"), o CPF já estaria cadastrado, então faria um Select. Eu faria assim pois acho o Insert mais rápido do que um Select (principalmente se houver muitos campos na tabela). Se o CPF não estiver cadastrado, apenas será feito o Insert, tornando o sistema mais rápido. Só lembrando, Jetro, que seu sistema está coma falha de segurança: você não pode exibir os dados somente se o CPF já estiver cadastrado. O ideal é que usuários cadastrados tenham uma senha, caso contrário qualquer pessoa alterará dados de outras. ;) []'s
  22. Tente assim: case'privado.html':{ alert('conteudo apreeendido'); return false; break;}}} []'ws
  23. Beraldo

    Ajuda Com Upload

    Antes de tudo, você não usou a superglobal $_FILES, por isso esse script não rodará quando register_globals estiver em off. Leia isto: http://br.php.net/manual/pt_BR/features.file-upload.php Tente assim: $arquivo = $_FILES['arquivo']['name']; if (!empty($arquivo) and is_file($arquivo)) { $caminho="ups/";// NOTE A BARRA para separar o diretório do nome do arquivo $caminho = $caminho.$arquivo_name; move_uploaded_file($_FILES['arquivo']['tmp_name'] , $caminho);// prefira essa função no lugar de copy() # grava o $arquivo no $caminho especificado echo "<h1>O arquivo foi transferido!</h1>"; echo "<a href=\"" . $caminho . "\">Baixe o arquivo</a>"; }else{ echo "<h1>O arquivo não foi transferido!</h1>"; echo "<h2><font color='red'>Caminho ou nome de arquivo Inválido</font></h2>"; } ?> Note que o link não aparecia pois você não programou isso. ;) []'s
  24. Beraldo

    Array Em String

    Veja um exemplo simples: $check = array(); $check[] = "açucar"; $check[] = "arroz"; $check[] = "feijão"; $check[] = "batata"; $string = ""; for ($c = 0; $c < count ($check); $c++) { $string .= $check[$c] . (($c == (count ($check) - 1)) ? "" : ", "); } echo $string; Independentemente de quantos checks houver, dê a eles o mesmo nome, incluindo "[]" no fnal: <input type="checkbox" name="nome[]" value="feijao" /> <input type="checkbox" name="nome[]" value="arroz" /> Pegua os valores: $check = isset ($_POST['nome']) ? $_POST['nome'] : array(); E aplique o for como mostrei. ;) []'s
  25. Beraldo

    Link Na Barra De Endereços

    Não desmerecendo o tutorial passado pelo lemissel, até porque nem o li, posso indicar-lhe este: http://forum.imasters.com.br/index.php?showtopic=203965 Está bem explicado e funcional. :D
×
×
  • Criar Novo...