Alterar Dados Num Banco De Dados
Started By Bruninho, 27/12/2005, 00:21
11 replies to this topic
#1
Posted 27/12/2005, 00:21
Olá, gostaria de saber como eu faço para alterar dados num banco de dados .txt do tipo:
bruno|bla@bla.com|123
andre|email@servidor.com|321
Gostaria de, por exemplo, mudar a senha do primeiro, de 123 para 098.
Obrigado!
bruno|bla@bla.com|123
andre|email@servidor.com|321
Gostaria de, por exemplo, mudar a senha do primeiro, de 123 para 098.
Obrigado!
------------------------------
[ <Bruninho> WebDesigner ]
[ <Bruninho> WebDesigner ]
#2
Posted 27/12/2005, 14:51
Você terá que ler todo o BD e reconstrui-lo com as modificações...
Porque não usar MySQL? (esse salvou minha vida euheuheuhe)
Porque não usar MySQL? (esse salvou minha vida euheuheuhe)
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org
#3
Posted 28/12/2005, 21:42
Segue o código
#Pega as informações do banco
open (ARQUIVO, "arquivo.txt");
@linhas = <ARQUIVO>;
close (ARQUIVO);
#Limpa o arquivo
open (ARQUIVO, "arquivo.txt");
@linhas = <ARQUIVO>;
close (ARQUIVO);
foreach (@linhas) {
chop;
($nome,$email,$senha) = split (/\|/,$_);
# Substitui a senha
$senha =~ s/123/098/;
open (ARQUIVO, ">>arquivo.txt");
print ARQUIVO "$nome\|$email\|$senha";
close (ARQUIVO);
}
#Pega as informações do banco
open (ARQUIVO, "arquivo.txt");
@linhas = <ARQUIVO>;
close (ARQUIVO);
#Limpa o arquivo
open (ARQUIVO, "arquivo.txt");
@linhas = <ARQUIVO>;
close (ARQUIVO);
foreach (@linhas) {
chop;
($nome,$email,$senha) = split (/\|/,$_);
# Substitui a senha
$senha =~ s/123/098/;
open (ARQUIVO, ">>arquivo.txt");
print ARQUIVO "$nome\|$email\|$senha";
close (ARQUIVO);
}
Wilton Paulo,
ICQ: 102226854
MSN: wiltonpaulo@hotmail.com
ICQ: 102226854
MSN: wiltonpaulo@hotmail.com
#4
Posted 29/12/2005, 17:19
Muito obrigado pela ajuda! Funcionou perfeito!
------------------------------
[ <Bruninho> WebDesigner ]
[ <Bruninho> WebDesigner ]
#5
Posted 29/12/2005, 18:23
para grandes arquivos, tem que usar um while enquando le o arquivo (ainda nao modificado) e ir salvando as alterações em um arquivo separado.
após o termio, renomear o arquivo original e pegar o "arquivo separado" e colocar o nome do arquivo original.
isso evita que em um possivel erro você não pecar o arquivo...
após o termio, renomear o arquivo original e pegar o "arquivo separado" e colocar o nome do arquivo original.
isso evita que em um possivel erro você não pecar o arquivo...
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org
#6 Zefreus
Posted 07/12/2006, 14:32
Uma pergunta.
E se existirem mais de duas senhas iguais?
Acho que essa situação vai alterar as duas senhas......
abraços
E se existirem mais de duas senhas iguais?
Acho que essa situação vai alterar as duas senhas......
abraços
#7 Whitesnake
Posted 17/02/2007, 20:58
Substituindo o arquivo de nosso amigo Wilton, podemos torna-lo mais eficaz
foreach (@linhas) {
chop;
($nome,$email,$senha) = split (/\|/,$_);
if ($nome eq $nome-usuario && $email eq $email-usuario) {
# Substitui a senha
$senha =~ s/123/098/;
open (ARQUIVO, ">>arquivo.txt");
print ARQUIVO "$nome\|$email\|$senha";
close (ARQUIVO);
}
}
Até
foreach (@linhas) {
chop;
($nome,$email,$senha) = split (/\|/,$_);
if ($nome eq $nome-usuario && $email eq $email-usuario) {
# Substitui a senha
$senha =~ s/123/098/;
open (ARQUIVO, ">>arquivo.txt");
print ARQUIVO "$nome\|$email\|$senha";
close (ARQUIVO);
}
}
Até
#8
Posted 23/03/2007, 20:30
aproveitando o tópico ... nunca mais usei o "chop;" ... pra que servia mesmo ?
Hospedar-se .Com - Monitor Webfórum - Equipe de Gerenciamento de Servidores
Hospedagem de Sites // Revenda de Hospedagem // Streaming & Web Rádio // Domínios // Vps
Hospedagem Ilimitada -> R$ 15,00 ao Mês + 30 Dias Grátis
Outros Sites: Jogos Loucos em Flash | Divulgue seu site Gratis | Web Masters Dicas & Tutoriais
Hospedagem de Sites // Revenda de Hospedagem // Streaming & Web Rádio // Domínios // Vps
Hospedagem Ilimitada -> R$ 15,00 ao Mês + 30 Dias Grátis
Outros Sites: Jogos Loucos em Flash | Divulgue seu site Gratis | Web Masters Dicas & Tutoriais
#9
Posted 23/03/2007, 23:24
Para retirar o último caractere. No caso acima, seria o newline (\n).
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#10
Posted 24/03/2007, 15:26
o mesmo que $_ =~ s/\n//ig; ?
Hospedar-se .Com - Monitor Webfórum - Equipe de Gerenciamento de Servidores
Hospedagem de Sites // Revenda de Hospedagem // Streaming & Web Rádio // Domínios // Vps
Hospedagem Ilimitada -> R$ 15,00 ao Mês + 30 Dias Grátis
Outros Sites: Jogos Loucos em Flash | Divulgue seu site Gratis | Web Masters Dicas & Tutoriais
Hospedagem de Sites // Revenda de Hospedagem // Streaming & Web Rádio // Domínios // Vps
Hospedagem Ilimitada -> R$ 15,00 ao Mês + 30 Dias Grátis
Outros Sites: Jogos Loucos em Flash | Divulgue seu site Gratis | Web Masters Dicas & Tutoriais
#11
Posted 24/03/2007, 17:52
Tirando os modificadores, seria isso sim.
s/\n//;
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#12
Posted 16/11/2007, 12:24
posteiu um tuto de como fazer alterações seguras em banco de dados em texto
outra, de vez de usar chop, use chomp, pois se o ultimo caracter nao for o "\n" ele nao faz nada
assim vc nao corre o risco de perder o ultimo caracter de nenhuma variavel.
bem, ai ta minhas dicas
abraços
outra, de vez de usar chop, use chomp, pois se o ultimo caracter nao for o "\n" ele nao faz nada
assim vc nao corre o risco de perder o ultimo caracter de nenhuma variavel.
bem, ai ta minhas dicas
abraços
Editado pela equipe Forum Wmo, favor ler as regras.
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)