sexta-feira, 23 de outubro de 2009

PHP Verificar Email em um form

Verifica se o email é valido assim como a existência do domínio.

if ($email) {
function valida_email($email){
$email = explode("@",$email); //Separa o nome de usuário do dominio do e-mail
if(count($email) != 2){ //Testa se existe o nome de usuário e o e-mail
return 0;
}
list($user,$domain) = $email;
if(!preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*$/xi",$user)){ //Testa se o email segue o padrão
return 0;
}
if(!checkdnsrr($domain,"MX")){ //Testa se existe a entrada MX
return 0;
}
return 1;
}

$v_email = valida_email($email);

if ($v_email=='0') {
die ("Por favor verifique o endereço de email.");
}
}

quarta-feira, 21 de outubro de 2009

Linux Pasta Compartilhada no Sun VirtualBox

Colocar SEMPRE no final do /etc/fstab

Ubuntu versão 8.x.x
NOME_DA_PASTA_COMPARTILHADA /var/www vboxsf defaults 0 0

Ubuntu versão 9.x.x
NOME_DA_PASTA_COMPARTILHADA /var/www vboxsf

Não esquecer de instalar o VBOXADDITIONS!

quinta-feira, 15 de outubro de 2009

MySQL - Copiar apenas arquivos inexistentes de uma tabela para outra

Notar que TABELA1_BKP2 é a tabela que contém o maior numero de inputs e TABELA1 é a tabela onde serão inseridos os dados.
Isso se deve ao fato de eu ter um backup com mais dados que minha tabela original, devido a um erro na hora de apagar alguns dados, como em minha tabela original todo dia entram novos cadastros não havia a possibilidade de apenas passar por cima voltando o backup.
Vale lembrar que as tabelas tem o mesmo numero de campos, assim como todos os campos tem as mesmas características.

Para localizar:
select * from TABELA1_BKP2 left join TABELA1 on TABELA1_BKP2.id = TABELA1.id where TABELA1.id is null;

Para copiar:
INSERT INTO TABELA1 ( id , Empresa , Endereco , Cidade , Estado , cep , DDI , DDD , Fone , Fax , nome , Cargo , cpfID , Atividade_Principal , Atividade , email , ip , data , cnpj , locamapa , disponivel ) select TABELA1_BKP2.id, TABELA1_BKP2.Empresa, TABELA1_BKP2.Endereco, TABELA1_BKP2.Cidade, TABELA1_BKP2.Estado, TABELA1_BKP2.cep, TABELA1_BKP2.DDI, TABELA1_BKP2.DDD, TABELA1_BKP2.Fone, TABELA1_BKP2.Fax, TABELA1_BKP2.nome, TABELA1_BKP2.Cargo, TABELA1_BKP2.cpfID, TABELA1_BKP2.Atividade_Principal, TABELA1_BKP2.Atividade, TABELA1_BKP2.email, TABELA1_BKP2.ip, TABELA1_BKP2.data, TABELA1_BKP2.cnpj, TABELA1_BKP2.locamapa, TABELA1_BKP2.disponivel from TABELA1_BKP2 left join TABELA1 on TABELA1_BKP2.id = TABELA1.id where TABELA1.id is null;

Agradecimento especial ao DFroz pelas dicas. Valeu Bro!! ;)

segunda-feira, 5 de outubro de 2009

MySQL - Criar usuário - dar e revogar privilégios para cada tabela

usuario geral com todos os privilégios
MYSQL> GRANT ALL PRIVILEGES ON NOME_DA_DATABASE.* TO USUARIO@localhost IDENTIFIED BY 'SENHA' WITH GRANT OPTION;

usuario específico com alguns privilégios(os principais)
MYSQL> CREATE USER 'USUARIO'@'localhost' IDENTIFIED BY 'SENHA';
MYSQL> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON NOME_DA_DATABASE.* TO USUARIO@localhost IDENTIFIED BY 'SENHA';

alterar senha:
SET PASSWORD FOR usuario_q_quer_trocar_senha@"localhost" = PASSWORD('UMA_SENHA_BEM_DIFICIL');
FLUSH PRIVILEGES;

revogar privilégios:

REVOKE ALL ON NOME_DA_DATABASE.* FROM 'teste'@'localhost';
REVOKE ALL ON NOME_DA_DATABASE.* FROM 'teste'@'%';



MySQL Alterar senha do root

mysqladmin -u root password uma_senha_dificil

Obs: Este comando deve ser executado do shell do linux.

OU passwd