Profile yeni alanlar ekledim ama nasıl zorunlu yapıcam

phpBB 2.0.x sürümleri için yapılmasını istediğiniz veya arayıpta bulamadığınız MODları buraya yazabilirsiniz.
Heretic
Kayıtlı Kullanıcı
Mesajlar: 72
Kayıt: 06.12.2006, 15:33
Konum: Kocaeli
İletişim:

Profile yeni alanlar ekledim ama nasıl zorunlu yapıcam

Mesaj gönderen Heretic »

Merhaba ben sitemdeki profil bölümüne yeni yerler ekledim, Ad,Soyad,Okul No,Üniversite ,falan filan gibi bir çok yer ekledim ve bunu kayıtta zorunlu yaptım. Ama sorunum şu ,siteme bu yerleri eklemeden önce üye olanlar bu yerleri hala doldurmadı ve onlara bu yerleri zorunlu yapmak istiyorum ,mesela login olduktan sonra acaba direk onları profile yönlendirebilrmiyim acaba yada daha farklı bir mod varmı..

arama yaptım "configure required fields in profile" diye bir mod var ama o değil benim istediğim.. Lütfen yardımcı olun...
Kullanıcı avatarı
by-keskin
Kayıtlı Kullanıcı
Mesajlar: 425
Kayıt: 10.10.2006, 21:09
İletişim:

Mesaj gönderen by-keskin »

öncelikle includes/usercp_register.php dosyasını aç ve dosyanın içindeki aşağıdaki kod bölümünü bul

Kod: Tümünü seç

if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )

Burası doldurulması gerekli olan alanları düzenleyen kısım. şimdi buraya hangi alanı eklemek istiyorsan ekleyebilirsin örneğin msn kısmını zorunlu hale getirmek istiyorsan eklemen gereken kod aşağıdaki gibi olacaktır.

Kod: Tümünü seç

if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) || empty($msn) )
Osmanbükü Köyü Web Sitesi www.OsmanBükü.Net
mguzel
Kayıtlı Kullanıcı
Mesajlar: 61
Kayıt: 11.01.2007, 16:28
Konum: Konya
İletişim:

Mesaj gönderen mguzel »

keskin kardeş, bu arkadaş zaten istediği alanları zorunlu yapmış, sorun zorunlu yapmak değil, sorun şu; zorunlu alanları, daha önce üye olupta doldurmayan kullanıcıları bu alanları doldurmaya mecbur etmek. Yani login olunca, bu alanları doldurmayanları profile yönlendirmek ve doldurmadığı sürecede erişimini kısıtlamak.

Bende böyle bişey arıyorumda :D

.
Ben bilgiye bilgi demem, paylaşmadıkça... :)
Kullanıcı avatarı
by-keskin
Kayıtlı Kullanıcı
Mesajlar: 425
Kayıt: 10.10.2006, 21:09
İletişim:

Mesaj gönderen by-keskin »

:D pardon arkadaşlar arkadaşın istediğini araştırayım bakalım....
Osmanbükü Köyü Web Sitesi www.OsmanBükü.Net
Heretic
Kayıtlı Kullanıcı
Mesajlar: 72
Kayıt: 06.12.2006, 15:33
Konum: Kocaeli
İletişim:

Mesaj gönderen Heretic »

Arkadaşlarım çok sağolun valla yardımcı olabilirseniz çok sevinirim. Ama dediğim gibi zaten profil de bir çok alanı kayıt olurken zorunlu yaptım ama bu bölümleri doldurmayan yüzlerce eski kullanıcım var ve onları direk login olunca profil sayfasına yönlendirip boş olan yerleri doldurmaya zorlamak istiyorum.. Valla bu modu çok aradım bir türlü bulamadım bulabilriseniz sizlere çok sevinirim.. Hepinize iyi çalışmalar arkadaşlar..
Nix
Kayıtlı Kullanıcı
Mesajlar: 71
Kayıt: 13.03.2007, 08:14
İletişim:

Mesaj gönderen Nix »

Bakınırken gördüm, burada isterseniz index.php 'de bu kosullardan biri gerceklesiyorsa falancı arrayi olustur git şu tpl.ye bas diyebilirsiniz.. ve bir ekran çıkar birşey yapamazsın şuraya tıkla git detayların düzelt ve hatta tıklamaya bile gerek olmadan direk profile.php'nin editprofile mode'sini çağır..

çok daha kısası ise

index.php

Kod: Tümünü seç

//
// End session management
//
hemen bunun ardına

Kod: Tümünü seç

// engins
if ($userdata['user_sehir'] == ' ' || $userdata['user_kasaba'] == ' ' )
{
  message_die(GENERAL_MESSAGE, "Detaylarınızda boş bilgileriniz var , orayı doldurun sonra forumu gezersiniz.");
}

sehir ya da kasaba bossa "dur"

bu kadar..
ha süslü püslü ekran isterseniz onun icin de yardımcı olmaya calısırım..
Heretic
Kayıtlı Kullanıcı
Mesajlar: 72
Kayıt: 06.12.2006, 15:33
Konum: Kocaeli
İletişim:

Mesaj gönderen Heretic »

Nix arkadaşım çok sağol valla hemen deniyecem dediğini çok sevindim valla. ellerine kollarına sağlık...
Heretic
Kayıtlı Kullanıcı
Mesajlar: 72
Kayıt: 06.12.2006, 15:33
Konum: Kocaeli
İletişim:

Mesaj gönderen Heretic »

Nix arkadaşım bende , senin dediğini söyle düzenledim ve ekledim ama işe yaramadı. Eski kullanıcılardan profili doldurulmamış birinin üyeliği ile girdim ama rahatça forumu gezdim. olmadı yani.... :(

Kod: Tümünü seç

// engins 
if ($userdata['user_vorname'] == ' ' || $userdata['user_name'] == ' ' ) 
{ 
  message_die(GENERAL_MESSAGE, "Profilinizde boş bilgileriniz var , orayı doldurun sonra forumu gezersiniz."); 
} 
Nix
Kayıtlı Kullanıcı
Mesajlar: 71
Kayıt: 13.03.2007, 08:14
İletişim:

Mesaj gönderen Nix »

hiç mümkün degil, end session sonrası kullanıcıya ait fieldler dolduruluyor çünkü..
ayrıca user_name ve vorname alanlarını bir bakının gercekten blank mi phpmyadmin ile, hatta imajlayıp gönderebilirseniz daha da iyi olur.. field yapısı ya da bulundurdugu data ile alakalı sorun olabilir olsa bile..

index.php'nin 50-60 satırını gönderin sabah bakayım, bu cok da basit bir çıkış noktası aslında.. daha detatlıca da yazarız gerekirse field field..
Nix
Kayıtlı Kullanıcı
Mesajlar: 71
Kayıt: 13.03.2007, 08:14
İletişim:

Mesaj gönderen Nix »

Kod: Tümünü seç


if ( empty($user_vorname)  || empty($user_name)  )
{
  message_die(GENERAL_MESSAGE, "Profilinizde boş bilgileriniz var , orayı doldurun sonra forumu gezersiniz.");
}
session altına bunu girin o halde datatype burda önemsiz.. sorunu aşacaksınız.
Heretic
Kayıtlı Kullanıcı
Mesajlar: 72
Kayıt: 06.12.2006, 15:33
Konum: Kocaeli
İletişim:

Mesaj gönderen Heretic »

Nix arkadaşım valla olmuyo anlamadım valla. Aslında bu çok işe yarayabilecek bir mod yani kullanıcıyı direk profile yönlendirsem tam istediğim olacak ama işte bir türlü başaramadım işte.. :( İlgilendiğin için tekrar teşekkürler...

Kod: Tümünü seç

include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
//

// Start session management

//

$userdata = session_pagestart($user_ip, PAGE_INDEX);

init_userprefs($userdata);

//

// End session management

//

// engins 
if ($userdata['user_vorname'] == ' ' || $userdata['user_name'] == ' ' ) 
{ 
  message_die(GENERAL_MESSAGE, "Profilinizde boş bilgileriniz var , orayı doldurun sonra forumu gezersiniz."); 
} 
include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx); 
color_groups_setup_list(); 



$viewcat = ( !empty($HTTP_GET_VARS[POST_CAT_URL]) ) ? $HTTP_GET_VARS[POST_CAT_URL] : -1;
Heretic
Kayıtlı Kullanıcı
Mesajlar: 72
Kayıt: 06.12.2006, 15:33
Konum: Kocaeli
İletişim:

Mesaj gönderen Heretic »

Nix arkadaşım dediğin şekilde tekrar yaptım ve aşağıdaki resimdeki gibi uyarı aldım ve normalde profilini doldurmayanlara bu uyarı görünmeli ama bu uyarı ben dahil (admin) herkese görünüyo. Neden oldu anlamadım.:D Neyse tekrar sağol arkadaşım..
[ resmi görüntülemek için tıklayın ]
Nix
Kayıtlı Kullanıcı
Mesajlar: 71
Kayıt: 13.03.2007, 08:14
İletişim:

Mesaj gönderen Nix »

demek ki o bilgileriniz boş.. ama admin ve yöneticilerde boş olsa da o uyarı gelmesin diyorsanız..

Kod: Tümünü seç

if ( $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD)
{

//
// bu kısma üstte verdigim kodlar gelmeli 
//

}


mysql data type nedir ? varchar değil mi? user_name ve user_vorname fieldleri..
bu böylece çalışırı çünkü yorum gerektirecek birşey degil bunlar net ifadeler..

eğer derseniz ki, profile yönlendirsin ya da tıklayınca oraya gitsin, index.php 'ye üstteki koşulların arasına yani profiliniz boş hemen doldurun olan satırı silerek

Kod: Tümünü seç

$template->assign_block_vars('profilsiz_uyeler', array());
index_body.tpl 'de ise en üste bir table için

Kod: Tümünü seç

<!-- BEGIN profilsiz_uyeler -->

.. bu kısma ise html kodlarınız gelmeli

<!-- END profilsiz_uyeler -->
Heretic
Kayıtlı Kullanıcı
Mesajlar: 72
Kayıt: 06.12.2006, 15:33
Konum: Kocaeli
İletişim:

Mesaj gönderen Heretic »

Nix aslına bakarsan admin ve moderatörlerin alanları dolu olmasına rağmen hata aldım. Yani bütün sitedeki herkesin profili boş olarak gözüküyo. Sanırım sql de bir hata var ya bu verdiklerim sql de yok yada başka bir problem var.. Çözebilmiş değilim hala uğraşıyorum.Yardımların için tekrar sağol arkadaşım...
Heretic
Kayıtlı Kullanıcı
Mesajlar: 72
Kayıt: 06.12.2006, 15:33
Konum: Kocaeli
İletişim:

Mesaj gönderen Heretic »

Nix arkadaşım bu sefer yaptım ellerine sağlık süper oldu çok sağolasın...

Kod: Tümünü seç

if ($userdata['user_vorname'] == '' || $userdata['user_name'] == '' || $userdata['user_strasse'] == '' || $userdata['user_ort'] == '' || $userdata['user_telefon'] == '' ) 
{ 
  message_die(GENERAL_MESSAGE, "Profilinizde boş bilgileriniz var , profilinizi doldurmadan forumu dolaşmanıza izin verilmez."); 
} 
kodu böyle kullandım ve sorunum çözüldü. Peki bir şey soracam 5 sn sonra kullanıcıyı direk şu linke

Kod: Tümünü seç

www.xxx.com/profile.php?mode=editprofile
nasıl yönlendiricem..
Kilitli

“2.0.x MOD İstekleri” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 9 misafir