İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

tablodan bir alani oldugu gibi degistirmek

Y

ysf

Misafir
Merhabalar baslik yanlis acilmis olabilri
soyle bir sorunum var, db tablosu asagidaki gibi

user_id, username, userpass

ben userpass kisminda bulunnan tüm degerleri rastgele bir sifre vermek istiyorum 6 haneli. tamami degisecek. bunu nasil yapabilirim?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
PHP:
$q = mysql_query("SELECT user_id FROM tablo");

function sifre_uret($num) {
$str = "ABCDEFGHIJKLMNOPRSTUWVYZ1234567890";
  for ($i=0; $i <= $num; $i++) {
  $harf = rand(1,34);
  $sifre = $sifre . $str{$harf};
  }
return $sifre;
}

while ($a = mysql_fetch_array($q)) {
$uret = sifre_uret("5");
mysql_query("UPDATE tablo SET userpass='$uret' WHERE user_id='$a[user_id]'");
echo "$a[user_id] yeni sifresi: $uret<br>";
}
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
Al sana super kuvvetli bir random sifreleme komutu, tamamen bena ait bir koddur :)

UPDATE tablo SET userpass = substring(ENCRYPT(PASSWORD(username + RAND())) , 1, 6 )
 
Y

ysf

Misafir
iyinet' Alıntı:
Al sana super kuvvetli bir random sifreleme komutu, tamamen bena ait bir koddur :)

UPDATE tablo SET userpass = substring(ENCRYPT(PASSWORD(username + RAND())) , 1, 6 )

tesekkurler ama tekbir kayit yok.. 3800 tane kayitli kullanicinin hepsinin sifresi bir cirpida degismeli daha bunlari mail e yollacam :)
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
ysf' Alıntı:
tesekkurler ama tekbir kayit yok.. 3800 tane kayitli kullanicinin hepsinin sifresi bir cirpida degismeli daha bunlari mail e yollacam :)

Tamam iste bu komut tum sifreleri 1 kerede degistirmek icin. Her kullaniciya yeni farkli bir sifre verir.
Calistirmadan once sen yine de tablonun bir kopyasini al...
 
Y

ysf

Misafir
Angelo' Alıntı:
PHP:
$q = mysql_query("SELECT user_id FROM tablo");

function sifre_uret($num) {
$str = "ABCDEFGHIJKLMNOPRSTUWVYZ1234567890";
  for ($i=0; $i <= $num; $i++) {
  $harf = rand(1,34);
  $sifre = $sifre . $str{$harf};
  }
return $sifre;
}

while ($a = mysql_fetch_array($q)) {
$uret = sifre_uret("5");
mysql_query("UPDATE tablo SET userpass='$uret' WHERE user_id='$a[user_id]'");
echo "$a[user_id] yeni sifresi: $uret<br>";
}

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\Apache Group\Apache2\htdocs\aredhelrim\pass.php on line 16

hatasi aliyorum assoc denedim yine olmadi..
 
Y

ysf

Misafir
iyinet' Alıntı:
Al sana super kuvvetli bir random sifreleme komutu, tamamen bena ait bir koddur :)

UPDATE tablo SET userpass = substring(ENCRYPT(PASSWORD(username + RAND())) , 1, 6 )

bununlada tum degerler lisanssız oldu :)
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Gerekli degisken isimlerini degistirmen lazim demek ki
$q = mysql_query("SELECT user_id FROM tablo");
Yanlis bir mysql kaynagi ise, tablonun adi tablo degil, yada alanin adi user_id degil.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
ysf' Alıntı:
bununlada tum degerler lisanssız oldu :)

Bu kodu postalamadan once mysql de calistirdim ve sifreleri guzelce resetledi.
Sende neden lisanssız oldu anlamadim???
Tablonun structure ini ve calistirdigin sorguyu buraya yazarsan bir fikrimiz olur belki.
 
Y

ysf

Misafir
sayin angelo ve iyinet gereken ayarlari yaptim tablo adlartini verdim. dedigim gibi angelo senin kodunda fetch_assoc ve array hatasi aldim iyinet seninkide ise

PHP:
<?
include "./settings/common.php";
db_Conn();

//$q = mysql_query("SELECT user_id FROM user"); 
//
//function sifre_uret($num) { 
//$str = "ABCDEFGHIJKLMNOPRSTUWVYZ1234567890"; 
//  for ($i=0; $i <= $num; $i++) { 
//  $harf = rand(1,34); 
//  $sifre = $sifre . $str{$harf}; 
//  } 
//return $sifre; 
//} 
//
//while ($a = mysql_fetch_assoc($q)) { 
//$uret = sifre_uret("5"); 
mysql_query("UPDATE anket SET password = substring(ENCRYPT(PASSWORD(username + RAND())) , 1, 6 )");
//UPDATE user SET password='$uret' WHERE user_id='$a[user_id]'"); 
echo "$a[user_id] yeni sifresi: $uret<br>"; 
//}  
?>

bu sekilde kullandim. ve tum password alanlari nbull oldu her kayidinki
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
$q = mysql_query("SELECT user_id FROM user") or die(mysql_error());

yapar misin
 
Y

ysf

Misafir
angelo cok saol
userid ymis id lerin bulundugu alan kusura bakmayin sizide yordum..
 

trextra

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
5,290
Reaction score
0
Konum
Kadıköy
ysf' Alıntı:
sayin angelo ve iyinet gereken ayarlari yaptim tablo adlartini verdim. dedigim gibi angelo senin kodunda fetch_assoc ve array hatasi aldim iyinet seninkide ise

PHP:
<?
include "./settings/common.php";
db_Conn();

//$q = mysql_query("SELECT user_id FROM user"); 
//
//function sifre_uret($num) { 
//$str = "ABCDEFGHIJKLMNOPRSTUWVYZ1234567890"; 
//  for ($i=0; $i <= $num; $i++) { 
//  $harf = rand(1,34); 
//  $sifre = $sifre . $str{$harf}; 
//  } 
//return $sifre; 
//} 
//
//while ($a = mysql_fetch_assoc($q)) { 
//$uret = sifre_uret("5"); 
mysql_query("UPDATE anket SET password = substring(ENCRYPT(PASSWORD(username + RAND())) , 1, 6 )");
//UPDATE user SET password='$uret' WHERE user_id='$a[user_id]'"); 
echo "$a[user_id] yeni sifresi: $uret<br>"; 
//}  
?>

bu sekilde kullandim. ve tum password alanlari nbull oldu her kayidinki
Ben PHP bilmiyorum ama kodlamaya bakılırsa, Şifre Üret değişkeni Rem yapılmış. Çalışmıyor yani. Ve adminin verdiği kod ile şifre üret değişkeninin hiçbir bağlantısı yok.

En son satırda "echo "$a[user_id] yeni sifresi: $uret<br>";" yazıyor. Uret değişkeni boş olduğu için sen lisanssız görüyorsun. Database e bağlanıp bir kontrol et istersen.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Olur, gozden kaciyor arada. Diyorsun bazen hersey dogru bilgisayar begenmedi galiba, ama bilgisayar hic hata yapmiyor..;)
 

trextra

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
5,290
Reaction score
0
Konum
Kadıköy
Evet ama bazen yapıyor galiba. Milyon defa okuduğum birkaç satırlık kod sürekli hata veriyor. Bende o zaman bilgisayardan daha güçlü olduğumu göstermek için klavye falan kırıyorum :)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst