Ir para conteúdo
Fórum Script Brasil

colerus

Membros
  • Total de itens

    39
  • Registro em

  • Última visita

Tudo que colerus postou

  1. colerus

    Sms Oi com PHP

    meu Deus do céu gente... melhora um pouqinho só esse português... é até difícil de ler... nossss
  2. o access interpreta mesmo datas de maneiras diferentes no sql... campos do tipo data, tem de ser delimitados com # ao invés de '... também senti essa diferença quando migrei de asp + access pra php+mysql... :D
  3. colerus

    mysql

    baixa o proprio servidor gratuito oferecido em http://www.mysql.com/
  4. e se você usar um .htaccess pra redirecionar pra uma pagina em especial... nessa pagina, você trataria a url, tiraria o "subdominio", dali você processava num banco de dados pra onde e como deve ser redirecionado, alem de qualquer outra função.... como por exemplo, estatísticas, etc...
  5. colerus

    Formulario em PHP

    Tente fazer o seguinte: <script language="javascript"> function verificar() { var foto = document.formulario.foto.value; if(foto=="") window.alert("O campo \"Foto\" não pode estar em branco!"); else document.formulario.submit(); } </script> <form name="formulario" action="cadastrar_evento.php" method="post" enctype="multipart/form-data"> <table align="center"> <tr> <td> <table> <tr> <td> <label class="foto">Foto:</label> </td> <td> <input type="file" name="foto" /> </td> </tr> <tr height="50"> <td align="center" colspan="2"> <<input type="button" name="enviar" value="Enviar Dados" onclick="verificar();" /> </td> </tr> </table> </td> </tr> </table> </form> <?php if($_SERVER['REQUEST_METHOD']=="POST") { $caminho = $_SERVER['DOCUMENT_ROOT']; // INÍCIO DAS PROPRIEDADES PARA AS FOTOS $extensoes = array('.gif','.jpg','.jpeg'); // EXTENSÕES VÁLIDAS PARA AS FOTOS $tam_max = "102400"; // TAMANHO MÁXIMO DE CADA FOTO (100KB) $foto = $_FILES['foto']['name']; $foto = strtolower($foto); $ext = strrchr($foto,'.'); $foto_temp = $_FILES['foto']['tmp_name']; $tam_foto = $_FILES['foto']['size']; if(in_array($ext,$extensoes) && ($tam_foto <= $tam_max)) { // aqui a gente lê o arquivo da foto... em formato binario... $arq = file_get_contents($_FILES['foto']['tmp_name']) // aí agora, você joga pro banco de dados... como não sei sua estrutura, vou colocar apenas um exemplo... $sql = "update tabela set foto = '$arq' where id = $id" // daí agora só ver se a sql executa... if(!mysql_query($sql)){ echo"<script language='JavaScript'>window.alert('Foto enviada com sucesso!');</script>"; } else { echo"<script language='JavaScript'>window.alert('Erro ao adicionar a foto...');</script>"; } // teste aí e veja se funciona.... :D:D:D:D } else { if(!in_array($ext,$extensoes)) { echo"<script language='JavaScript'>window.alert('Essa extensão de arquivo é inválida! São aceitas apenas arquivos com extensão .jpeg .gif A extensão desse arquivo é ".$ext."');</script>"; } else if($tam_foto > $tam_max) { $kb1 = $tam_foto/1024; $pos = strpos($kb1,'.'); $kb = substr($kb1,0,$pos); echo"&lt;script language='JavaScript'>window.alert('Essa foto é muito grande. O tamanho máximo para a foto é de 100KB e essa foto tem ".$kb."KB');</script>"; } } } ?> espero que funcione...
  6. colerus

    Dúvida: Array recursivo...

    Ninguém aí tem nem idéia??? to precisando de idéias...
  7. Olá... estou com problemasna hora de criar as arrays... o caso é o seguinte: eu recupero uma lista do banco de dados; um dos campos se chama "arvore", e armazena a hierarquia do item; está na seguinte forma: $arvore = "pai_filho1_filho2_filho3_filho4"; o que eu quero fazer é criar um array, como por exemplo: $menu = array(); e ficasse depois: $menu["pai"]["filho1"]["filho2"]["filho..."] = "valor qualquer..."; $menu["pai2"]["outro"]["key"]["qualquer"]... = "outro valor qualquer..."; e assim vai... eu não to conseguindo pensar em uma lógica para quebrar o item arvore com explode() e depois adicionar uma key "pai", em "pai" inserir a key "filho1", em "pai"=>"filho1" inserir a key "filho2", e assim sucessivamente... alguém me da uma luz aí? Grato...
  8. colerus

    Variáveis Globais

    tem sim... é só você utilizar a função __construct() assim: Ex.: <? class BancodeDados { public $rede = "192.168.2.11"; public $usuario = "root"; public $senha = "newpassword"; public $db = "publicador_rh"; function __construct(){ $this->conectaBanco(); $this->selecionaBanco(); } (...) resto do código... (...) } daí, quando você criar: $banco_dados = new BancodeDados(); ele já vai rodar automaticamente tudo o que tem dentro de __construct()... não é necessário rodar $banco_dados->__construct(); essa função já roda automaticamente quando você cria o objeto $banco_dados...
  9. colerus

    Variáveis Globais

    o importante é aprender... não adianta só colocar lá e não saber o que está se fazendo... :D:D:D qqer coisa disponha...
  10. ta corrigido o código aí acima... tudo por causa de um "s" a mais em produto(s)... :D:D:D:D... vlw...
  11. colerus

    Variáveis Globais

    para você referenciar uma variavel que esteja definidapara toda a classe, é necessário que a referencia seja feita da seguinte maneira: class BancodeDados { public $rede = "192.168.2.11"; public $usuario = "root"; public $senha = "newpassword"; public $db = "publicador_rh"; function conectaSelecionaBanco() { $conexao = mysql_connect($this->rede, $this->usuario, $this->senha) or die(mysql_error()); // linha 11 (ERRO AQUI) $banco = mysql_select_db($this->db, $conexao) or die(mysql_error()); return $banco; } } Se voce tivesse criado essas variaveis dentro da função "conectaSelecionaBanco()", aí sim você poderia usar as variaveis sem o "$this->"... Como essa é uma função padrão, modifiquei ela, assim, se voce precisar conectar em mais de um db, basta você mudar os paramentos que forem necessarios, e chamando a função novamente... Lembrando que para acessar esses parametros, deve-se utilizar "$this->variavel" se for dentro da classe, assim como para as funções que você chama dentro dela mesmo tem que ser referenciadas como "$this->funcao()"... Outras dicas.... Quando você instancia esta classe, você deve ao invés de usar $this, usar o nome da variavel que iniciou o objeto... por exemplo: $teste = new BancodeDados(); // se fosse necessario alterar ou passar algum valor para os parametros da classe, basta fazer o seguinte: $teste->rede = "localhost"; $teste->usuario = "root"; $teste->senha = "1234"; $teste->bd = "teste"; //para chamar uma função, como essa pra conectar, é só fazer o seguinte: $teste->conectaSelecionaBanco(); Mas se voce for realmente usar esta função, e for conectar a um único banco de dados, sugiro que coloque as variáveis como private ou protected, por questoes de segurança... deixe omo public somente as variaveis que voce vai precisar acessar de fora da classe... os tipos public, protected e private também podem ser definidos para as funções, assim: protected function teste(){... Dizendo mais sobre os tipos de proteção: public: pode ser acessado/modificado de qualquer lugar, dentro ou fora da classe; protected: pode ser acessado/modificado apenas por funções da classe; private: pode ser acessado/modificado apenas pela classe; Outro ponto importante sobre classes, são as funções padrão de todas as classes... até mesmo as que voce cria.... Duas muito úteis são: __contruct() e __destruct()... __construct() é executado quando você inicia a classe... como por exemplo em "$teste = new BancodeDados()"... Pode ser util para voce definir variaveis globais da classe, executar funções de verificação, etc... e __destruct(), como da para imaginar, é executado quando a classe é encerrada.... pode servir para fazer limpeza, fechar objetos e conexoes, restaurar variaveis, etc... qualquer duvida diga ae... :D:D:D
  12. no painel de controle do seu dominio lá, vai escolhe "Another File Manager", lá, você clica uma vez em cima da pasta "public_html", na barra à esquerda vai aparecer "Change Permissions", clique 1 vez... marca todas as caixas e clica no botão change permissions... Lembre-se que os arquivos de seu site TEM que ficar dentro desta pasta "public_html", senão não irá funcionar... não se preocupe com endereço, pois ela é a pasta principal, o que quer dizer que quando um visitante entrar no seu site, ele vai estar na verdade navegando dentro dela...
  13. o \r\n funciona no windows tb... é universal... padronizado... :D:D:D:D
  14. Segue abaixo uma sugestao minha: <?php //Assumindo que se tenha as seguintes variaveis definidas anteriormente: // //$produto, $quantidade, $id e que a sessão tenha sido iniciada com @session_start(); // //eu faria esta session armazenar uma Array(), mas vou fazer o exemplo usando o seu //princípio de armazenar como string... da na mesma, mas iria agilizar um pouco o processo //pois seriam necessários menos "explodes()"... //array que vai armazenar o resultado temporario $stemp = Array(); //variavel que passa se o produto já estava na session $pExiste = false; if(isset($_SESSION["produto"])){ //é um tamanho mínimo para uma session válida... if(strlen($_SESSION["produto"]) > 4){ $item = explode(",",$_SESSION["produto"]); for($i = 0; $i < count($item); $i++){ //tamanho minimo para uma string válida... if(strlen($item[$i]) > 4){ $dados = explode("-",$item[$i]); //verifica se a string estava realmente correta if(count($dados) == 3){ $pdt = $dados[0]; $qtde = $dados[1]; $pid = $dados[2]; //compara para ver se o produto é o mesmo if($pdt == $produto){ $qtde += $quantidade; $pExiste = true; } $strTemp = $pdt ."-". $qtde ."-". $pid; $stemp[count($stemp)] = $strTemp; } } } } } if(!$pExiste){ $stemp[count($stemp)] = "$produto-$quantidade-". rand(00000,99999); } //adiciona os novos valores na sessão $_SESSION["produto"] = implode(",",$stemp); ?> Ps.: corrigido... realmente, onde eu dava o explode em items, tinha colocado $_SESSION["produtos"] ao invés de $_SESSION["produto"].... esse "s" q bugou a parada... :D
  15. e de onde esse sistema seria alimentado? automaticamente, manual ou ambos?
  16. colerus

    Variáveis Globais

    dentro de classes php, voce tem que definir as variaveis como public, protected ou private... não como global...
  17. camarada, pelo que entendi quando li o link que retornou com o erro, é que tem um problema com a configuração do seu servidor... experimente testar em outro servidor gratuito... até mesmo esse da minha assinatura... pelo que entendi da explicação lá, é que esse seu servidor está se comunicando com o servidor smtp usando apenas "\n", que seria igual ao LF (Line Feed)(Nova Linha) comentado no link quando ele deveria estar enviando juntamente um "\r" ou RC (Return Carriage)(Volta do Ponteiro)... ------------------------------------------------------------------------------ Corrigindo... o problema é esse mesmo, mas não no servidor... e sim no seu código... lá no config.php, na variavel q define os cabeçalhos adicionais, estes estao terminados em \n... coloque \r\n que vai funcionar... :D:D:D:D:D Substitua todos que tiverem apenas \n por \r\n em ambas as páginas que é certeza de funcionar... :D:D:D:D
  18. colerus

    Hosts E Domínios...

    Host gratuito muito bom... tenho trabalhado com ele... vale a pena conferir... ele trabalha na base de doações... php 5 + mysql 5... com 250mb de espaço e 100gb de transferência... Domínio próprio ou subdomínio... cPanel, Fantastico, etc... dêem uma conferida... vlw... espero ter ajudado... ah... pessoal tem usado tb para hospedar blogs, wordpress, etc... http://www.000webhost.com/ edit: Complementando: não tem propaganda...
  19. colerus

    Enviar Email Usando Smtp

    é porque o servidor do yahoo não é smtp.yahoo.com.br... se não me engano, é smtp.mail.yahoo.com.br ou mail.smtp.yahoo.com.br... acho q é o primeiro...
  20. coloca o conectar.asp aí pra gente também... quando voce da um include, ele le o arquivo como se estivesse no mesmo local que este que o está chamando. Sendo assim, se os caminhos até o banco de dados não forem iguais, vai dar erro na sua conexao. ah.. .e outra coisa... usa recordset... e mais uma coisa... codf, mês e ano não numeros?
  21. marcio, muito bom mesmo esse tuto deles... valeu aí por postar esse link... me quebrou uma árvore inteira...
  22. eu tenho um pronto em outro pc, assim que eu estiver nele, faço o upload e te mando.... vlw...
  23. colerus

    Editar Texto

    basta fazer como neste fórum, coloque um botao, como por exemplo o de negrito. no nosso exemplo, vamos supor que o campo texto se chame "mensagem". aí voce cria uma função chamada por exemplo, <script language="JavaScript"> function Negrito(){ var aberto; var msg = ""; if(aberto){ msg = "[/b]"; aberto = false; } else { msg = "[b]"; aberto = true; } document.getElementById("mensagem").value += msg; } </script> neste botão, voce coloca pra ele chamar a função... na hora de processar o formulário, é só voce usar o replace para substituir o "" por "<strong>" ou "<b>" e substituir o "" por "</strong>" ou "</b>". qualquer coisa que estiver errado, mande mp que te ajudo. para sublinhado e itálico é a mesma coisa... espero ter ajudado... vlw
  24. vlw... eu já estou fazendo isso... lá tem um campo que contem o numero de vezes que ele logou.... depois eu no programa só recuperava este número e acrescentava mais 1, e depois então, eu atualizava o campo no bd com o numero atual... sem mudar nada nessa parte, depois de um tempo ele passou a fazer direito.... vai se entender!!! aff!!! lol vlw
  25. pessoal, tenho um bd com uma tabela usuarios com um campo chamado "visitas" que marca quantas vezes o usuário já se logou no sistema. O campo é número, Inteiro. acontece que quando tento retornar o valor deste campo, só retorna "0", e não importa o valor que eu colocar manualmente lá, ele só retorna 0.... os outros campos estao retornando numa boa, o único que está me deixando p... da vida é esse... e tem que ser coisa boba... mole meu, que to deixando passar... segue o trecho do código para tentar facilitar o entendimento: Dim ccon As New ADODB.Command Dim rs1 As ADODB.Recordset With ccon .let_ActiveConnection(con) .CommandType = ADODB.CommandTypeEnum.adCmdText .CommandText = "Select * from usuarios where usr = '" & StrConv(tUsr.Text, VbStrConv.LowerCase) & "'" rs1 = .Execute End With ccon = Nothing Dim vis As Short If Not rs1.EOF Then With rs1 If StrConv(tSenha.Text, VbStrConv.Lowercase) = StrConv(.Fields("senha").Value, VbStrConv.Lowercase) Then logado = True Dim visit As Integer usrid = .Fields("id").Value nivel = .Fields("nivel").Value visit = .Fields("visitas").Value vis = visit + 1 MsgBox("visitas bd: " & rs1.Fields("visitas").Value & "; atualizada: " & vis.ToString, vbOKOnly, "visitas...") nesse msgbox, o "visitas bd:" sempre mostra 0 e o atualizada 1. alguém pode me ajudar? dizer onde estou errando? grato.
×
×
  • Criar Novo...