sábado, 16 de julho de 2022
sábado, 18 de junho de 2022
quinta-feira, 16 de junho de 2022
sexta-feira, 8 de outubro de 2021
Kimi, onde está você?
Eu conheci Kimi e sua mãe em uma pequena vila do sertão. Nunca soube o nome da mãe e nem do pai de Kimi. A única coisa que fiquei sabendo, e que me deixou muito irritado, foi o fato de que o pai da menina era muito mal para ela e para a mãe. A sorte era que ele ficava muito tempo fora de casa, tanto que nem cheguei a vê-lo direito, a não ser em uma única vez que o vi passando pelo quintal, mas não vi muita coisa mais que um vulto.
Kimi era uma garotinha de uns cinco anos de idade, linda, meiga, inteligente e muito carinhosa. Eu não conseguia entender que necessidade alguém poderia ter em maltratar uma pessoinha como Kimi. Você assistiu aquele filme de uma menina paranormal chamada Matilda? Kimi era exatamente igual a ela quando tinha a mesma idade dela.
Pois bem, nessa época, estávamos eu, meu pai e minha irmã em uma casa nessa pequena vila e a mãe de Kimi reclamava dos maus tratos do marido e dizia ter muita vontade de fugir daquele lugar e que queria fazê-lo aproveitando os longos períodos em que o malvado ficava fora de casa.
Resolvemos, eu e meu pai, que as ajudaríamos a se verem livre do facínora.
Não morávamos naquela casa onde as conhecemos e não me lembro muito bem o que, exatamente, estávamos fazendo ali, mas resolvemos trazê-las conosco.
Não me recordo bem o que aconteceu, mas a mãe de Kimi teve que sair às pressas com a menina de lá e quando ficamos sabendo disso, resolvemos procurá-las para tentar descobrir o que tinha acontecido e onde elas estariam. A essa altura, já estávamos apenas eu e meu pai e não sei por qual motivo, nos separamos na busca por Kimi e sua mãe. Me lembro que peguei uma carona em um carro de um senhor que me levou até uma cidade da qual nem fiquei sabendo o nome.
Nessa cidade, encontrei meu pai com seu violão da frente verde. Foi uma ideia que ele teve, tendo em vista que vez ou outra, ele ou eu tocávamos violão e Kimi adorava ouvir nossas músicas. Meu pai tocava o violão de vez em quando, na esperança de que, se a menina ouvisse, acabaria por reconhecer e viria até nós.
Em um determinado momento, estávamos em frente a uma espécie de casa social, grande, se parecendo com o prédio de uma escola, onde tinham diversas pessoas no pátio cercado por uma grade. A situação lembrava um ambiente onde tinha acontecido alguma guerra ou catástrofe natural e aquele prédio seria um apoio às pessoas que, por algum motivo, estavam precisando de alguma ajuda.
Encostamos em uma parte do muro e meu pai começou a tocar alguma coisa. De repente, eis que surge, em uma das portas daquele prédio, Kimi e sua mãe. A menina estava radiante de felicidade. Ela veio correndo em nossa direção e se abraçou com meu pai, que estava mais à frente e mais perto dela. Eu a peguei nos braços logo em seguida. Kimi estava com um sorriso e um olhar de felicidade encantadores. Dei um beijo no queixo dela e ela ampliou ainda mais aquele lindo sorriso. Eu estava muito feliz por tê-las encontrado, e foi nesse momento que acordei e percebi que, apesar de parecer tão real, a ponto de até hoje eu lembrar todos os detalhes, tudo não passou de um sonho.
Talvez eu tenha vivido algo assim em uma vida passada ou talvez, Kimi seja dessa vida mesmo e esteja em algum lugar. Ou seria, ela, a Matilda de um universo paralelo, onde seu pai seria a contraparte da senhora Trunchbull? Há algum tempo, eu tenho uma ideia de que os sonhos possam ser universos paralelos onde entramos, por um portal, e vivemos histórias malucas. A única certeza que eu tenho, é que permanece a pergunta:
“Kimi, onde você está?”
terça-feira, 13 de abril de 2021
Lorena e Rafaela e Zezé di Camargo no Fantástico
Veja (ou reveja) a matéria do Fantástico sobre a homenagem que Zezé di Camargo fez ao pai, seu Francisco, através do clipe da música "Matuto", composição dele próprio e do Danimar.
Zezé convidou a dupla mineira Lorena e Rafaela para se juntar a ele nessa belíssima homenagem. O motivo para esse convite? Muito simples. Zezé di Camargo e Luciano são fãs de Lorena e Rafaela há anos e seu Francisco, pai deles, também era.
Assista ao vídeo para entender melhor essa história!
segunda-feira, 12 de abril de 2021
A velhice é a infância ao contrário - Reflexão
INTRODUÇÃO
A INFÂNCIA
A VELHICE
segunda-feira, 15 de abril de 2019
Dica de hospedagem de site boa e barata
quinta-feira, 4 de abril de 2019
Livre-se da vergonha de não ter dinheiro para pagar as compras do supermercado
Sabe aquela hora que você vai passar as compras no supermercado e não tem tanto dinheiro assim para pagar e vai ficando preocupado(a) ao ver o valor chegando pertinho do que você tem para pagar no momento? Todo mundo já passou por isso ou viu alguém passar, não é mesmo? Pois bem, isso não é mais problema. Encontrei um aplicativo muito legal que você pode usar no celular na hora que estiver colocando suas compras no carrinho. Basta ir colocando a quantidade e preço unitário de cada um que o sistema vai calculando tudo pra você. Veja, no vídeo abaixo, como funciona:
E o melhor de tudo, é que a versão para celular funciona sem a necessidade de estar conectado na Internet. Ele armazena a sua lista localmente para que você não a perca. Legal, né?
O site para se cadastrar e para instalar o aplicativo no seu celular é o lidec.pe.hu.
sábado, 30 de março de 2019
Está a procura de um emprego?
sábado, 8 de julho de 2017
Lorena e Rafaela no Terra da Padroeira - Entre Lágrimas
quinta-feira, 28 de julho de 2016
Lorena e Rafaela - Sofrendo sem o meu amor - Vídeo
terça-feira, 1 de março de 2016
segunda-feira, 28 de setembro de 2015
Lorena e Rafaela cantando em japonês
Lorena é uma elegantíssima nerd da classe dos otakus. Ela adora mangá. Ela lê e desenha muito bem alem do seu incontestável talento para a música.
Rafaela é uma das mais lindas, charmosas e talentosas cantoras do mundo.
Elas merecem todo o nosso amor, admiração e carinho.
sábado, 18 de abril de 2015
sábado, 4 de abril de 2015
Qual é o seu herói e a sua editora preferidos?
sexta-feira, 13 de março de 2015
Banco de dados em TXT e PHP – Parte 1
Primeiramente, quero deixar uma dica muito útil para quem trabalha com programação voltada à web. Trata-se de um programa chamado phpStorm desenvolvido pela empresa jetBrains, bastante eficaz por trazer uma infinidade de recursos como reconhecer diversas linguagens de programação e de scripts, tais como: php, javascript, mySql, css, css3, html, html5 etc.
Mais adiante veremos outros dois arquivos para criar uma enquete e gravar os resultdos no banco txt, além de pesquisar e retornar os resultados.
Vamos aos códigos
Para esse projeto criaremos, a princípio, um banco de dados de usuários.
index.html
Algumas observações importantes para quem é iniciante em php e gravação de dados vindos de um formulário:
1 - existem dois métodos de capturar os dados vindos do formulário. Um deles é o POST e o outro é o GET. Cada um é usado de uma forma diferente. Aqui usaremos o POST. Observe como o método é passado dentro da tag do "<form>";
2 – O nome da página que irá processar os dados e gravar no arquivo txt também é passado dentro dessa tag "<form>" por um parâmetro chamado "action";
3 - Os campos precisam ter um nome único dentro de cada "<form>". Esses nomes são passados através do atributo "name". O POST, no php, irá procurar por esses nomes para saber o valor de cada campo. Observe, dentro da tag de cada ‘<input type="text">’, como esse parâmetro é usado;
4 - Por último e não menos importante: o último <input> é do tipo "submit". Ele que irá chamar a página que passamos no "action" do formulário.
código:
1: <form name="dbase" method="post" action="cadastrar.php">
2: Usuário: <input type="text" name="user">
3: Email: <input type="text" name="nome">
4: Senha: <input type="text" name="idade">
5: Confirmar senha: <input type="text" name="telefone">
6: <input type="submit" value="Enviar dados">
7: </form>
Irei dividir esse tópico em várias etapas para poder explicar melhor cada uma delas.
Capturando os dados vindos do formulário:
Para fins de melhor organização do código, criaremos variáveis para representar os dados vindos do formulário e nessas variáveis passaremos os nomes dos campos utilizando o método POST do qual já falamos anteriormente. Observe o código abaixo:
código:
1: $user = $_POST["user"];
2: $nome = $_POST["nome"];
3: $idade = $_POST["idade"];
4: $telefone = $_POST["telefone"];
O que vem antes do sinal de igual é o nome da variável. Podemos dar qualquer nome para uma variável seguindo algumas regras:
1 – Para criarmos uma variável, sempre começaremos colocando um cifrão($) antes do nome da variável;
2 – A variável deve ser única. Não podemos ter duas variáveis com o mesmo nome;
3 – Não podemos colocar espaços e nem acentos nos nomes das variáveis:
$Nome da variável → incorreto.
$NomeDaVariavel → correto.
$nome_da_variavel → correto.
4 – Para quem ainda não está familiarizado com o php, observe que toda linha, quando determinando recebimento de valores, termina com ponto e vírgula(;) assim como acontece no javascript.
O que vem depois do sinal de igual é o valor que cada variável receberá. Observe que para pegar esse valor, utilizamos o método $_POST, que deve ser escrito exatamente dessa maneira, seguido de colchetes. Dentro dos colchetes colocamos, entre aspas, o nome do campo do formulário que contém o dado que aquela variável receberá. O sinal de igual, nesse caso e em toda linguagem de programação, deverá ser ligo como “recebe” e não como “é igual”:
“$user = $_POST[‘user’];” lê-se “a variável $user recebe, pelo método POST, o valor do campo de nome user”.
Fazendo a validação dos dados
Vamos ver, inicialmente, a função que usaremos para criar e/ou abrir o arquivo txt:
fopen: essa é a função que cria o arquivo, caso ele ainda não exista, e abre-o. Essa função contém alguns parâmetros necessários. Para o nosso caso, utilizaremos dois: o nome do arquivo e o tipo de abertura:
código:
1: $arquivo = fopen(“dbtxt.azt”, “a+”);
O parâmetro “a+” indica que o arquivo será aberto para leitura e gravação e o cursor posicionado no final do texto para que o próximo texto seja gravado sempre no final do arquivo.
Para aprender como usar os demais parâmetros, acesse o link sobre a função no site oficial do php:
A intenção básica de um banco de dados em txt não é exatamente cadastrar usuários, pois um txt não oferece mecanismos de segurança e proteção à privacidade como um banco de dados mySql por exemplo. Assim sendo, devo alertar que, caso a privacidade das informações a serem cadastradas sejam de vital importância, será melhor utilizar um host com armazenamento de dados ilimitado ou pelo menos com uma quantidade máxima de registros que seja suficiente, apesar de que poderemos adotar alguns métodos que dificultará bastante a invasão ao sistema. Mas como esse tutorial é apenas ilustrativo e pode ser que para determinado caso seja necessário evitar duplicidade de registros, aprenderemos como verificar se o nome de usuário que estamos cadastrando já existe no arquivo txt bem como verificar se algum campo não ficou em branco.
Aqui vai uma dica sobre esse arquivo txt:
1 - Procure dar um nome e uma extensão que sejam difíceis de serem deduzidos, como por exemplo jkmnyukpxd.znk;
2 - Adicione uma página index, mesmo que vazia, na pasta aonde está o arquivo. Isso dificultará que alguém possa abrir o diretório no navegador e ver a lista de arquivos;
Aprenderemos também a melhorar a segurança e a privacidade mais à frente, quando falarmos do arquivo .htaccess.
O bloco de códigos anterior é bem genérico, contendo apenas o básico para se ter uma noção de como funciona a “coleta” de valores vindos de um formulário. Em alguns casos, pode ser que seja gerado um erro no código caso não venha nenhum valor da variável. Isso pode acontecer principalmente na primeira abertura de uma página que contenha, ela mesma, o formulário e o código php para a validação. Nesse caso, o action do formulário ficaria vazio: action="".
Para solucionar esse problema, podemos utilizar alguns métodos envolvendo uma condicional If em união com a função isset do php para verificar se o método POST com o campo “user” está trezendo algum resultado:
código:
1: If(isset($_POST[“user”])){
2: $user = $_POST["user"];
3: }
Isso, contudo, pode gerar outro erro, pois a variável $user ainda não existe no momento que for iniciada a verificação na primeira linha do If. Para corrigir isso podemos criá-la antes, sem nenhum valor:
código:
1: $user = "";
1: If(isset($_POST[“user”])){
2: $user = $_POST["user"];
3: }
Entretanto o código ficará um pouco extenso se forem muitos os campos a serem verificados. Para resolver isso, podemos resumir essas quatro linhas em apenas uma, mudando um pouco a sintaxe da condicional If:
código:
1: $user = isset($_POST["user"]) ? $_POST["user"] : "";
Veja que agora a variável $user aparece primeiro. Assim sendo, ela já existirá quando a verificação for iniciada. O que vem antes do ponto de interrogação equivale à primeira linha do exemplo do If anterior. O ponto de interrogação pode ser interpretado como sendo a abertura da chave({) do If anterior e os dois pontos(:) como sendo um else(caso contrário). A leitura dessa linha seria algo parecido com:
Crie a variável $user que receberá, caso esteja setado o campo “user”, o valor, por POST, desse campo. Caso contrário, ela ficará vazia.
Pronto, agora não teremos mais problemas de validação de dados.
Agora vou falar um pouco sobre algumas funções que utilizaremos nesse processo de criação/abertura do arquivo txt e da validação dos dados.
Em primeiro lugar, criaremos uma variávem de nome sugerido $mensagem que, inicialmente, ficará vazia:
código:
1: $mensagem = “”;
Essa variável será usada para auxiliar no retorno dependendo dos resultados das validações dos dados. Sempre que cocorrer um erro de validação, colocaremos um aviso nessa variável e, ao final, será feita uma avaliação da mesma. Se tiver algum aviso nessa variável, significa que alguma fase da validação falhou. Nesse caso, será exibido o aviso e o registro não será gravado. Se, por outro lado, essa variável continuar vazia, significa que a validação dos dados não encntrou nenhum erro. Aí então o registro será gravado.
A primeira verificação é se todos os campos requeridos foram preenchidos. Isso pode ser feito mais ou menos da seguinte forma:
código:
1: If(!$_POST["user"]){
2: $mensagem = "Não foi digitado um nome de usuário.";
3: }
Em PHP, o ponto de exclamação signifca negação. É o mesmo que NOT(NÃO). No bloco acima estamos dizendo que, caso não tenha vindo nenhum valor do campo de nome "user", a variável $mensagem receberá o texto "Não foi digitado um nome de usuário". Veja como ficaria uma validação de todos os campos, verificando se todos foram preenchidos, se os dois campos da senha tem valores iguais e se a senha tem oito ou mais dígitos:
código:
1: if(!$user) {
2: $mensagem = "Não foi digitado um nome de usuário.";
3: }elseif(!$email){
4: $mensagem = "Não foi digitado um Email válido!";
5: }elseif(!$senha){
6: $mensagem = "Não foi digitada uma senha!";
7: }elseif(strlen($senha) < 8){
8: $mensagem = "A senha precisa ter pelo menos 8 dígitos!";
9: }elseif(!$csenha){
10: $mensagem = "A senha não foi confirmada!";
11: }elseif($senha != $csenha){
12: $mensagem = "As senhas não conferem!";
13: }
Nesse ponto, fizemos a validação de todos os campos. Agora, teremos que adicionar, a título de validação, a verificação se o arquivo existe e se o usuário já existe ou não. Por que não fizemos essa validação antes das demais? Porque esse processo pode ser um pouco lento dependendendo a quantidade de registros no arquivo txt. Assim sendo, melhor começar pelo mais rápido, pois, caso haja algum erro, o usuário não precisará esperar vários segundos para saber o que está acontecendo.
Para validar a existência do usuário, usaremos as funções file_exists para retornar a existência ou não do arquivo, filesize para retornar o tamanho do arquivo, fgets para retornar o texto do arquivo e strpos para pesquisar o usário dentro do texto. Isso será feito linha a linha. Veja uma breve explicação dessas funções:
file_exists: antes de tentarmos abrir um arquivo, precisamos verificar se ele existe. Como aqui usaremos um método que só criará o arquivo no primeiro cadastro, essa verificação se fará necessária para não ocorrer erro na execução da verificação. E também porque pode, por algum motivo, esse arquivo sumir do mapa. Será com a função file_exists que faremos essa verificação. Se a convertermos para um número inteiro utilizando a função (int) assim mesmo entre parênteses, a mesma retornará 0(zero) caso o arquivo não seja encontrado e 1(um) caso o arquivo seja encontrado.
A utilização dessa função é muito simples, bastanto passar o caminho e nome completos do arquivo com a sua extensão dentro de parênteses e entre aspas: file_exists(“caminho/arquivo.ext”). Incluindo o (int) para retornar um número inteiro, ficaria assim: (int)file_exists(“caminho/arquivo.ext”). Caso o arquivo esteja na mesma pasta, basta colocar o nome dele entre as aspas: (int)file_exists(“arquivo.ext”). Podemos criar uma variável que será do tipo número inteiro para receber esse valor:
código:
1: $arqExiste = (int)file_exists("dbtxt.azt");
A função file_exists, além de verificar se o arquivo existe, também será usada para definirmos se o registro que está sendo gravado ficará na mesma linha ou se deverá ser inserida uma quebra de linha antes dele. Ou seja, caso já exista algum registro no arquivo, será inserida uma quebra de linha antes do registro atual. Para controlar isso, teremos uma variável de nome sugerido $dados. Se o arquivo já existir e o tamanho dele for maior que 0, significa que já há pelo menos um registro gravado nele. Então, adicionaremos uma quebra de linha antes dos dados propriamente dito. No php, poderemos utilizar “\r\n” para adicionar essa quebra de linha. Caso o arquivo não exista ou se o tamanho dele for 0, então não precisa adicionar a quebra de linha.
filsesize: essa função retorna o tamanho de um arquivo em bytes e a utilização dela é muito simples. Basta passar o caminho com o nome e extensão do arquivo. Caso o arquivo esteja na mesma pasta da página php que está executando a função, basta passar o nome do arquivo com a extensão: filesize(“dbtxt.azt”).
Agora que já conhecemos as funções file_exists e filesize, iremos utilizá-las para montar a linha do registro:
código:
1: if($arqExiste == 1 && filesize("dbtxt.azt") > 0){
2: $dados = "\r\n" . $user . ";" . $email . ";" . $senha;
3: }else{
4: $dados = $user . ";" . $email . ";" . $senha;
5: }
No bloco acima estamos dizendo ao php que se o arquivo existir e o tamanho dele foi maior que 0, montaremos a variável $dados adicionando uma quebra de linha antes com “\r\n”. Caso contrário, monta a variável sem a quebra de linha.
Uma dica mais, baseada no bloco de código acima, para quem ainda não conhece o PHP:
Você deve ter observado que há partes entre aspas, alguns pontos no meio de algumas linhas e sinais de igual duplicados, certo? Certo. Vamos desvendar o porquê de tudo isso:
1 – Texto entre aspas: quando precisarmos inserir uma parte de texto em algum campo ou, nesse caso, na linha de registro, essa parte deverá ficar entre aspas. Quando formos inserir um número puro ou os dados de uma outra variável, não colocaremos as aspas. Por isso “\r\n” está entre aspas, pois, quebras de linhas são inseridas na forma de texto. E por isso $user, $mail, etc, estão fora de aspas, pois são dados que estão em outras variáveis existentes.
2 – Ponto: em PHP, quando precisarmos concatenar(juntar) textos com números e variáveis, utilizamos o ponto(.), o que equivale a dizer “”um texto” & $uma_variavel” por exemplo.
3 – Sinal de igual duplicado. Como já dizemos anteriormente, um sinal de igual em programação significa “recebe”. Quando queremos fazer uma comparação entre duas coisas, usamos o sinal de igual duplicado para diferenciar do “recebe”. O contrário do sinal de ==(igual a) é !=(diferente de). Há ainda o sinal triplo(===) que diferencia 0 como numeral de 0 como falso. Mais a frente veremos um exemplo disso.
Uma outra dica: podemos “encriptar” a senha para dificultar que alguém saiba qual é caso tenha acesso ao arquivo txt. Existem várias funções nativas do PHP para fazer essa “encriptação” que não é bem uma encriptação mas sim um hash. Para o nosso caso, podermos utilizar a função MD5. A forma de usá-la é muito simples:
MD5($senha) ou hash("MD5", $senha)
A segunda forma é melhor porque é compatível com todas as funções hashes enquanto que a maioria não reconhece a primeira. Isso deve ser feito na passagem da senha na montagem da linha e não no $_POST.
fgets: captura o texto do arquivo txt. Essa função exige uma variável para receber esse texto:
código:
1: $linha = fgets($arquivo);
Veja que foi passada a variável $arquivo, pois usaremos o arquivo que abrimos no início utilizando essa variável como nome. Essa função fica dentro de um loop while que fará ela ser executada linha a linha enquanto não chegar o fim do arquivo. O que identifica o fim do arquivo é a função feof. Colocando o sinal de negação(!) do qual já falamos, dizemos para executar o loop enquanto não for o fim do arquivo:
código:
1: while(!feof($arquivo)){
2: $linha = fgets($arquivo);
3:
4: if(strpos($linha, $user . ";") === 0){
5: $mensagem = "Escolha outro nome de usuário.";
6: break;
7: }
8: }
Explicando as linhas do código acima:
1: Enquanto não chegar o fim do arquivo…
2: …$linha receberá a próxima linha do arquivo que está na variável $arquivo.
4: Se o valor de usuário da variável $user estiver no início da linha…
5: a variável $mensagem receberá o texto “Escolha outro nome de usário”.
6: Interrompe o loop caso o nome de usuário seja encontrado na base de dados txt. Por que devemos usar o break para interromper o código se o nome de usuário for encontrado? Imagine que sua base de dados tenha 500.000 linhas e o nome de usuário seja encontra na linha número 200. O código será finalizado bem mais rápido se for interrompido na linha 200.
7: Fim da condicional If.
8: Fim do loop While.
O código acima funcionará corretamente desde que não haja diferença de maiúsculas e minúsculas entre o user digitado e o da linha da base de dados. O php diferencia maiúsculas e minúsculas. Isso significa que para ele user é diferente de User e de uSer. Dessa forma, precisaremos igualar as duas partes, colocando tudo em minúsculas ou maiúsculas para comparar com eficiência. Podemos fazer isso utilizando a função strtolower:
if(strpos(strtolower($linha), strtolower($user) . ";") === 0)
Se você bem observou, deve ter visto que estamos concatenando o nome de usuário com o ponto e vírgula. Por que estamos fazendo isso? Para garantir que não haverá erros de interpretação. Um exemplo de linha:
criquiocalavera;criquio@prov.com;senha
Se um usuário tentar cadastrar criquio e não tiver o ponto e vírgula como final, a validação não deixará prosseguir, pois criquio foi encontrado. Então, colocamos o ponto e vírguala como final para fazer essa diferenciação, ficando assim “criquio;” e “criquiocalavera;”.
Verificando a validação para gravar ou não o registro
Agora que fizemos todas as validações, iremos finalizar o processo gravando o registro ou exibindo uma mensagem de erro. Como dissemos antes, o que irá garantir se houve ou não erros será a variável $mensagem. Caso não tenha nada nela, é porque não foi encontrado nenhum erro e, portanto, nenhuma mensagem foi recebida por essa variável:
1: if($mensagem == ""){
2: $escreve = fwrite($arquivo, $dados);
3: if(intval($escreve) > 0){
4: $mensagem = "Seus dados foram gravados com sucesso.";
5: }else{
6: $mensagem = "Ocorreu um erro na gravação dos dados.";
7: }
8: }
O bloco acima está dizendo que se a variável $mensagem estiver vazia, será criada mais uma variável de nome $escreve. Essa variável utilizará a função fwrite para gravar o registro no arquivo de texto. Essa função tem os parâmetros a saber:
1– Nome do arquivo, no qual foi passado $arquivo, que é a variável que guarda o nome do arquivo;
2 – Texto a ser gravado. No nosso caso, passamos a variável que montamos com a linha que contém os dados do registro $dados.
A seguir usarmos um método para verificar se a linha foi gravada com sucesso. intval($escreve) retorna o número 0 caso a linha não tenha sido gravada e maior que 0 caso ela tenha sido gravada. E então a variável $mensagem recebe um texto de acordo o resultado.
Para finalizar, fechamos o arquivo txt com a fclose($arquivo) e exibimos o resultado da variável $mensagem para o usuário:
1: echo $mensagem;
e criamos mais uma linha na página com um link para o usuário voltar para a página de registro ou outra página qualquer:
1: echo "<br><a href='index.html'>Voltar</a>";
1: <?php
2:
3: header('Content-Type: text/html; charset=utf-8');
4:
5: $user = isset($_POST["user"]) ? $_POST["user"] : "";
6: $email = isset($_POST["email"]) ? $_POST["email"] : "";
7: $senha = isset($_POST["senha"]) ? $_POST["senha"] : "";
8: $csenha = isset($_POST["csenha"]) ? $_POST["csenha"] : "";
9:
10: $mensagem = "";
11: $arquivo = fopen("dbtxt.azt", "a+");
12:
13: if(!$user) {
14: $mensagem = "Não foi digitado um nome de usuário. Por favor, volte e digite um nome de usuário!";
15: }elseif(!$email){
16: $mensagem = "Não foi digitado um Email válido. Por favor, volte e digite o Email!";
17: }elseif(!$senha){
18: $mensagem = "Não foi digitada uma senha. Por favor, volte e digite a senha!";
19: }elseif(strlen($senha) < 8){
20: $mensagem = "A senha precisa ter pelo menos 8 dígitos. Por favor, volte e reformule-a!";
21: }elseif(!$csenha){
22: $mensagem = "A senha não foi confirmada. Por favor, volte e confirme-a!";
23: }elseif($senha != $csenha){
24: $mensagem = "A senha não confere com a validação. Volte e digite-as novamente.";
25: }else{
26:
27: $arqExiste = (int)file_exists("dbtxt.azt");
28:
29: if($arqExiste == 1 && filesize("dbtxt.azt") > 0){
30: $dados = "\r\n" . $user . ";" . $email . ";" . MD5($senha);
31: }else{
32: $dados = $user . ";" . $email . ";" . MD5($senha);
33: }
34: while(!feof($arquivo)){
35: $linha = fgets($arquivo);
36:
37: if(strpos(strtolower($linha), strtolower($user) . ";") === 0){
38: $mensagem = "O nome de usuário \"" . $user . "\" não está disponível no momento.<br><br>Volte e digite outro nome de usuário.";
39: break;
40: }
41: }
42: }
43:
44: if($mensagem == ""){
45: $escreve = fwrite($arquivo, $dados);
46: if(intval($escreve) > 0){
47: $mensagem = "Seus dados foram gravados com sucesso.";
48: }else{
49: $mensagem = "Ocorreu um erro na gravação dos dados.";
50: }
51: }
52:
53: fclose($arquivo);
54:
55: echo $mensagem;
56: echo "<br><a href='/dbtxt/'>Clique aqui para voltar</a>";
57:
58: ?>
Até lá!
quinta-feira, 12 de março de 2015
Hostinger Hospedagens
sexta-feira, 15 de agosto de 2014
Vinculando uma planilha Excel a uma tabela Access - vídeo
DatePicker - o substituto do controle calendário no Access 2007/2010
Entendendo o ano bissexto e calculando-o via VBA
Dim Dias As Integer
If Me.cboAno Mod 400 = 0 Or (Me.cboAno Mod 4 = 0 And Me.cboAno Mod 100 <> 0) Then
Dias = 29
Else
Dias = 28
End If
Pronto, agora é só preencher a combo dos dias para quando o mês for fevereiro:
Dim TDias As Integer
Me.cboDias.RowSource = ""
Me.cboDias.RowSourceType = "value list"
For TDias = 1 To Dias
Me.cboMeses.AddItem TDias
Next
Publicado meu primeiro livro "Filha de coração"
Marcelo era um jovem solteiro e querido aonde morava e aonde trabalhava.
Por razões alheias à sua vontade, decidiu se mudar para outra cidade, aonde tinha alguns parentes. Nessa cidade, Marcelo conhece uma encantadora garotinha. A amizade que nasce entre os dois é tão grande e tão profunda que muita gente os confunde como pai e filha, o que deixa-o muito feliz, pois, para ele, Aline,aquela princesainha linda, meiga e angelical se tornara, realmente, sua filha.
Uma história real e fascinante sobre a mais profunda amizade já conhecida, tão profunda que transcende o próprio significado da palavra Amizade.
|
Criar perfil no Orkut e conta de Email: Vídeo
Vídeo tutorial que demonstra como criar um perfil no Orkut e uma conta de email para ser usada na criação desse perfil.
Esse vídeo tutorial foi criado atendendo a vários pedidos de usuários iniciantes que não estão conseguindo criar seus perfis.
VBA Access - Como enviar emails, via SMTP, usando o CdoSys
Se tudo der certo, ela já estará presente e referenciada. Caso não dê certo, pode ser que seja necessário registrá-la. Para isso, abra o prompt do DOS ou cmd, digite regsvr32 cdosys.dll e dê Enter. Se tudo funcionar direitinho, será exibida a mensagem de Sucesso.
OK, ela já está registrada e referenciada no VBA, e agora?
Agora chegou a hora de declarar variáveis que representarão as rotinas presentes na DLL e que são responsáveis pelo desempenho das funções que lhe são competentes.
Em primeiro lugar, precisamos declarar as variáveis que representarão o objeto CdoSys e instanciá-las:
Para acessar o tutorial completo visite o link http://usandoaccess.com.br/tutoriais/tuto38.asp
Arrays - veja como utilizá-las para simplificar e automatizar tarefas
Dim mes As String If Format(rs!Data, "m") = 1 Then mes = "JAN" ElseIf Format(rs!Data, "m") = 2 Then mes = "FEB" ElseIf Format(rs!Data, "m") = 3 Then mes = "MAR" ElseIf Format(rs!Data, "m") = 4 Then mes = "APR" ElseIf Format(rs!Data, "m") = 5 Then mes = "MAY" ElseIf Format(rs!Data, "m") = 6 Then mes = "JUN" ElseIf Format(rs!Data, "m") = 7 Then mes = "JUL" ElseIf Format(rs!Data, "m") = 8 Then mes = "AUG" ElseIf Format(rs!Data, "m") = 9 Then mes = "SEP" ElseIf Format(rs!Data, "m") = 10 Then mes = "OCT" ElseIf Format(rs!Data, "m") = 11 Then mes = "NOV" ElseIf Format(rs!Data, "m") = 12 Then mes = "DEC" End If Me.datacadastro = mes & Format(rs!Data, "/dd/yyyy")
Na programação, Array pode ser definido como uma variável que armazena dados de um mesmo tipo. No exemplo acima, armazenaria a inicial dos nomes dos meses em inglês. Quando colocamos os dados que queremos em um conjunto de dados dentro de uma Array, cada um desses dados recebe um índice que, por padrão, começa no índice 0(zero) igual às coluna de uma combobox ou listbox ou mesmo os índices dos campos de uma tabela. Para utilizarmos um determinado dado do conjunto, basta passar o número do índice. Para o caso dos meses, teríamos índices de 0 a 11.
Como dito acima, cada dado de um conjunto de dados de uma Array, possui um número que o identifica, assim como os meses podem ser numerados de 1 a 12. Como a Array, na sua forma padrão, inicia no zero, podemos pegar o número do mês menos 1 para compatibilizar com o número do mês na Array. Para facilitar o processo e deixar a função disponível para qualquer formulário, relatório ou consulta, criaremos um módulo e, dentro desse módulo, criaremos uma função pública:
Public Function Meses() As Variant Meses = Array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC") End Function