Sitemiz sadece phpBB 3.0 sürümüne destek vermektedir. Konu açmadan, ileti yazmadan önce lütfen site kuralları sayfamıza göz atınız.


Form ile foruma konu yazdırma

Form ile foruma konu yazdırma

İleti marvell 01 Ekm 2007 12:23

Merhaba arkadaşlar.

Şu şekilde birşey yapmak istiyorum. Bir form aracılığı ile (doldurulacak alanlar mevcut olarak konu başlığı, mesaj içeriği gibi) foruma konu yazdırmak istiyorum. Bu forumda bazı özel kısımlar olacak seçilebilen ve yazılabilen alanlar. Bu alanlardaki bilgiler doldurulup gönderildiği zaman konunun oluşturulmasını istiyorum.

Yardımcı oalbilirseniz sevinirim.

Kolay gelsin.
marvell
kullanıcı
kullanıcı

İleti: 156
Kayıt: 19 Tem 2007 10:03
HTML: Başlangıç
CSS: Başlangıç
PHP: Başlangıç
phpBB3: Orta
Sürüm: phpBB 3.0.4

 

Re: Form ile foruma konu yazdırma

İleti ALEXIS 01 Ekm 2007 12:42

submit_post() fonksiyonunu kullanacaksın, parametreleri de şunlar:

Kod: Tümünü seç
function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $update_message = true)
{
..  


ayrıntılar için posting.php yi incele.
ALEXIS
eklenti yazarı
eklenti yazarı

Kullanıcı avatarı

İleti: 3615
Kayıt: 03 Arl 2006 08:57
Konum: İstanbul
İsim: Sevdin Filiz
HTML: Çok iyi
CSS: İyi
PHP: İyi
phpBB3: Çok iyi
Sürüm: phpBB 3

Re: Form ile foruma konu yazdırma

İleti marvell 04 Ekm 2007 14:21

Merhaba,

Formu oluşturdum. Daha sonra oluşturduğum formu burada anlatıldığı gibi phpbb3'e entegre ettim.

Oluşturduğum sayfaya sadece kayıtlı kullanıcıların girmesini istiyorum. Bunun için;

Kod: Tümünü seç
<!-- IF S_USER_LOGGED_IN -->
Sadece kayıtlı kullanıcılara görünmesini istediğim kısım.
<!-- ENDIF -->


Yukarıdaki kodu kullandım.

Bu bölüme giren kayıtsız kullanıcıların "Bu forumu görüntülemek için kayıt olmanız ve oturum açmanız gerekiyor." şeklinde gözüken kayıt ekranı ile karşılaşmasını istiyorum.

Bunun için;

Kod: Tümünü seç
<!-- IF not S_USER_LOGGED_IN -->

<!-- ENDIF -->


Kodları arasında ne kullanmam gerektiğini bulamadım. Yardımcı olabilirseniz sevinirim.


Kolay gelsin.
marvell
kullanıcı
kullanıcı

İleti: 156
Kayıt: 19 Tem 2007 10:03
HTML: Başlangıç
CSS: Başlangıç
PHP: Başlangıç
phpBB3: Orta
Sürüm: phpBB 3.0.4

Re: Form ile foruma konu yazdırma

İleti marvell 03 Mar 2009 16:07

Merhabalar,

Daha öncede konuyu kendim açtığım için aynı konuya ek yapıyorum.

Bir form ile forumda bir konuya mesaj yazdırıyorum. Sürümümüz 3.0.0 iken bir sorun yaşamamıştık yada böyle bir durum olmuşmamıştı fakat 3.0.4 e güncelledikten sonra fark ettiğim bir hata var.

Kullanıcı xxxx.php sayfasından formu doldurduktan sonra bir başka sayfa açıp siteden çıkış yaptı ise yada bir şekilde cookie den dolayı çıkış yaptı ise mesajı gönderdiktan sonra ilgili html dosyasından

Kod: Tümünü seç
<!-- IF not S_USER_LOGGED_IN -->

  <div class="navbar">
         <div class="inner"><span class="corners-top"><span></span></span>
          Kayıtlı olmayan kullanıcılar bu bölümü kullanamamaktadır. Lütfen kayıt olunuz.
      <span class="corners-bottom"><span></span></span></div>
   </div>
   <!-- ENDIF -->
   
<!-- IF S_USER_LOGGED_IN -->


dolayı bu mesja ile karşılaşmaktalar.

Fakat ilgili foruma misafir olarak konu açılıyor. Onay bekleyen iletiler kuyruğuna giriyor.

Bütün izinleri kontrol ettim misafirlerin konu gönderimi kesinlikle kapalı.
Misafirlerin konu açımı kapalı olduğu halde nasıl oluyorda mesaj gönderebiliyor bu şekilde?
marvell
kullanıcı
kullanıcı

İleti: 156
Kayıt: 19 Tem 2007 10:03
HTML: Başlangıç
CSS: Başlangıç
PHP: Başlangıç
phpBB3: Orta
Sürüm: phpBB 3.0.4

Re: Form ile foruma konu yazdırma

İleti marvell 25 Nis 2009 00:50

Merhabalar,

Yine kendi konuma ek yapıyorum.
Yukardaki sorunları çözmüştüm.

Bir form aracılığı ile foruma konu yazdırıyorum.
Kod: Tümünü seç
submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);

fonksiyonunu kullanarak. Ve aynı zamanda yazdırdığım formdaki tablolara görede ayrı bir tabloya bunları kayıt ediyorum. Buraya kadar hiç bir sorunum yok.

Fakat iş bu iletiyi düzenlemeye geldiğinde karışıyor.
1.Phpbb nin kendi sistemindeki düzeltme kısmından düzeltip harici tablodaki bilgilerin güncellemesini boşvercem (ki bu bilgileri sitenin başka bölümlerinde kullanmayı düşündüğüm için sorun oluyor).
2. Harici tabloyu güncelleyip forumdaki mesajı boşvercem.

Ben 2sini birden yapmaya çalışıyorum. Forum_id ve Post id bilgilerini aynı zamanda diğer tabloyada kayıt ederek 2 taraftada aynı post id iler ile mesajlara ikisinde birden ulaşabiliyorum.

galeri_duzenle.php
Kod: Tümünü seç
$duzenlenecek = mysql_fetch_array(mysql_query("SELECT * FROM haber WHERE haber_ek_tarih = $_GET[t]"));


//şimdilik ekleme tarihine göre karşılaştırıyorum bunun önemi yok düzeltilecek.

Kod: Tümünü seç
$template->assign_vars(array(
   'HABERADI' => $duzenlenecek[4],
   'HABERRESIM' => $duzenlenecek[3],
   'HABEROZET' => $duzenlenecek[10],
   'HABERACIKLAMA' => $duzenlenecek[5],
   'HABERKAYNAK' => $duzenlenecek[11],
   'SENDING_RESULT' => ($sending_result != false) ? true : false,
   'SONUC' => $sonuc,
   'TOPIC_LINK_CEM' => $topic_link_cem,
   ));

galeri_duzenle.html de ise
Kod: Tümünü seç
<table border="0" cellspacing="5" cellpadding="5" class="content">
  <tr>
    <td width="196"><p><strong>Haber başlığı</strong></p></td>
    <td width="3"><p>:</p></td>
    <td width="429"><p><input type="text" name="workname" size="60" value="{HABERADI}" class="inputbox autowidth" /></p></td>
  </tr>
<tr>
    <td valign="top"><p><strong>Açıklama</strong></p></td>
    <td valign="top"><p>:</p></td>
    <td><p>
      <textarea type="text" name="Text" cols="100" rows="7" class="inputbox autowidth" wrap="hard");">{HABERACIKLAMA}</textarea><br />
    </p></td>
  </tr>

value ile php sayfasından çagırdığım bilgileri forma gösteriyorum. İş bu mesajı göndermeye geldiğinde.
Diğer tablodaki bilgileri aşağıdaki code ile update ediyorum.
Kod: Tümünü seç
$sql= "UPDATE `haber` ( `kullanici_id` , `kullanici_adi` , `haber_no` , `haber_url_B` , `haber_adi` , `haber_aciklama` , `haber_ek_tarih` , `genel_calisma_no` , `aktif` , `haber_link` , `haber_ozet` , `kaynak` )  VALUES ( '$user_id', '$user_name', '$haber_no', '', '', '', '0', NULL , '1', '','','')";


Ama phpbb nin mesajını update edemiyorum.

Kod: Tümünü seç
submit_post('post', $my_subject, '', POST_NORMAL, $poll, $data);
i kullanırsam yeni bir mesaj oluşturuyor. Eskisini düzenlemiyor.

Buradaki örneğide inceledim ama burada mesajın update edilmesinden bahsedilmemiş gördüğün kadarı ile.


posting.php yi incelediğimde

Kod: Tümünü seç
submit_post($mode, $post_data['post_subject'], $post_data['username'], $post_data['topic_type'], $poll, $data, $update_message);
update message diye birşey var ama içeriğinden pek birşey anlamadım açıkcası.

Kod: Tümünü seç
// Check checksum ... don't re-parse message if the same
   $update_message = ($mode != 'edit' || $message_md5 != $post_data['post_checksum'] || $status_switch || strlen($post_data['bbcode_uid']) < BBCODE_UID_LEN) ? true : false;

   // Parse message
   if ($update_message)
   {
      if (sizeof($message_parser->warn_msg))
      {
         $error[] = implode('<br />', $message_parser->warn_msg);
         $message_parser->warn_msg = array();
      }

      $message_parser->parse($post_data['enable_bbcode'], ($config['allow_post_links']) ? $post_data['enable_urls'] : false, $post_data['enable_smilies'], $img_status, $flash_status, $quote_status, $config['allow_post_links']);

      // On a refresh we do not care about message parsing errors
      if (sizeof($message_parser->warn_msg) && $refresh)
      {
         $message_parser->warn_msg = array();
      }
   }
   else
   {
      $message_parser->bbcode_bitfield = $post_data['bbcode_bitfield'];
   }
marvell
kullanıcı
kullanıcı

İleti: 156
Kayıt: 19 Tem 2007 10:03
HTML: Başlangıç
CSS: Başlangıç
PHP: Başlangıç
phpBB3: Orta
Sürüm: phpBB 3.0.4


Diğer Konular


Kimler çevrimiçi

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 5 misafir

cron