Profile yeni alanlar ekledim ama nasıl zorunlu yapıcam
Profile yeni alanlar ekledim ama nasıl zorunlu yapıcam
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...
arama yaptım "configure required fields in profile" diye bir mod var ama o değil benim istediğim.. Lütfen yardımcı olun...
öncelikle includes/usercp_register.php dosyasını aç ve dosyanın içindeki aşağıdaki kod bölümünü bul
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) )
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
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
.
Bende böyle bişey arıyorumda
.
Ben bilgiye bilgi demem, paylaşmadıkça...
pardon arkadaşlar arkadaşın istediğini araştırayım bakalım....
Osmanbükü Köyü Web Sitesi www.OsmanBükü.Net
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..
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
hemen bunun ardına
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..
çok daha kısası ise
index.php
Kod: Tümünü seç
//
// End session management
//
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.");
}
bu kadar..
ha süslü püslü ekran isterseniz onun icin de yardımcı olmaya calısırım..
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.");
}
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..
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..
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.");
}
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;
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. Neyse tekrar sağol arkadaşım..
[ resmi görüntülemek için tıklayın ]
[ resmi görüntülemek için tıklayın ]
demek ki o bilgileriniz boş.. ama admin ve yöneticilerde boş olsa da o uyarı gelmesin diyorsanız..
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
index_body.tpl 'de ise en üste bir table için
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());
Kod: Tümünü seç
<!-- BEGIN profilsiz_uyeler -->
.. bu kısma ise html kodlarınız gelmeli
<!-- END profilsiz_uyeler -->
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...
Nix arkadaşım bu sefer yaptım ellerine sağlık süper oldu çok sağolasın...
kodu böyle kullandım ve sorunum çözüldü. Peki bir şey soracam 5 sn sonra kullanıcıyı direk şu linke nasıl yönlendiricem..
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.");
}
Kod: Tümünü seç
www.xxx.com/profile.php?mode=editprofile
Kimler çevrimiçi
Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 9 misafir