投稿フォームに項目追加


投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 | 投稿日時 2011/1/26 15:55
minmin 

本文とは別に、追伸やつぶやきなど文章を追加する項目をいくつか増やしたいと考えております。

以下のファイルに項目を追加してみたところ、送信するとデータベースにデータは渡るのですが、記事には表示されていません。
また、プレビューにすると表示されず、入力文も消えてしまいます。

main/edit.php
main/detail.php
class/diary.class
class/func.class
template/detail.html
template/edit.html

具体的に変更した部分は後ほどお伝えいたします。

いつもなーおさんのお時間を取らせて申し訳ございませんので、もし気が向いたらで結構ですので、ご教授いただけますと幸いです。:-)

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/1/27 10:48
ゲスト 

あたらしく追伸を追加しようと、newpsとして以下のように追加してみました。
前途のようにプレビューなしで送信すればデータベースには受け渡しされるのですが、記事に表示されません。
プレビューにすると表示されませんし、入力欄に入力したものが残りません。

main/edit.php

293行あたりに以下を追加
&font(#ff0000){$diary->newps=$d3dConf->func->getpost_param('newps');};

328行あたりに以下を追加
&font(#ff0000){$yd_data['newps'] = htmlSpecialChars($diary->newps, ENT_QUOTES);};

3990行目あたりに以下を追加
&font(#ff0000){$yd_data['newps'] = $diary->newps;};

412行目あたりに以下を追加
&font(#ff0000){$diary->newps=$d3dConf->func->getpost_param('newps');};

 

main/detail.php

57行目あたりに1行追加

$yd_name = (!empty($rtn['name'])) ? $rtn['name'] : "" ;
&font(#ff0000){$yd_data['newps'] = $diary->newps;&br;};$yd_data['bid'] = $diary->bid;



class/diary.class.php

6行目あたりに以下を追加
&font(#ff0000){var $newps;};

43行目あたりに以下を追加
&font(#ff0000){$this->newps = $dbdat['newps'];};

110行目あたりif以下を変更
if (!get_magic_quotes_gpc()) {

  $sql = "INSERT INTO ".$xoopsDB->prefix($mydirname.'_diary')."
    (uid, cid, title, diary, &font(#ff0000){newps,}; create_time, update_time, openarea, dohtml, vgids, vpids)
    VALUES (

&font(#ff0000){ '".addslashes($this->newps)."',&br;}; '".addslashes($this->uid)."',

else以下も変更

else {
  $sql = "INSERT INTO ".$xoopsDB->prefix($mydirname.'_diary')."
    (uid, cid, title, diary, &font(#ff0000){newps,}; create_time, update_time, openarea, dohtml, vgids, vpids)
    VALUES (

&font(#ff0000){ '".$this->newps."',&br;}; '".$this->uid."',

 

188行目あたりif文中に以下を追加
&font(#ff0000){ $newps=addslashes($this->newps);};

198行目あたりelse文中に以下を追加
&font(#ff0000){ $newps=$this->newps;};

217行目あたりに以下を追加
&font(#ff0000){ newps='".$newps."',};

247行目あたりにも以下を追加
&font(#ff0000){ newps='".$newps."',};

260行目あたりにも以下を追加
&font(#ff0000){ newps='".$newps."',};

 

class/func.class.phpの

623行目あたりを追加変更

$sql = "SELECT d.uid AS uid, d.bid AS bid, d.title, d.cid, d.diary, d.newps, d.create_time,

697行目あたりを追加変更

$sql = "SELECT d.uid AS uid, d.cid, d.title, d.create_time, d.url, d.diary, d.newps,

1536行目あたりを追加変更

$yd_data['newps']=addslashes($yd_data['newps']);

その後の以下にも追加変更

# entry追加

$query = "INSERT INTO ".$db->prefix($this->mydirname.'_newentry')." (uid, cid, title, url, create_time, blogtype, diary, newps)

     VALUES (
     '".$yd_data['newps']."'
     '".$line['uid']."',
 

edit.html

275行目あたりに以下を追加

''detail.html
''140行目あたりに以下を追加
<div class="itemText"></div>

以上です。

もしよろしければ私の未熟な試みにご指摘をください。
宜しくお願いします。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/1/27 10:53
ゲスト 

先ほどの投稿がうまく表示されませんでした。また後ほど投稿します。 :cry:

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/1/27 11:24
minmin 

記事に表示する事が出来ました。
プレビューだけがまだ出来ていません。もう少し自分でやってみようと思います。お騒がせしてすみません。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2011/1/27 13:54
minmin 

自己解決しました。大変お騒がせしました。 :oops:

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/1/27 17:34 | 最終変更
なーお  長老   投稿数: 1784

minminさん

ハックお疲れさまです。

そこまでやると、d3diaryのバージョンアップ時にマージが大変ですね。。  私だったら、本文分割のpagebreakタグのような感じで、本文の最後に分割して書いて送信し、サニタイズでやっちゃうかな。。 :roll:
 (func.class.phpの、substrTareaと、stripPb_Tareaで分割処理)

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/1/28 14:46
ゲスト 

そういう手があったのですね。PHP初心者の今の私にはとても無理ですが・・・

でも、このままではバージョンアップの度に悲鳴をあげるのが目に見えてますね :cry:

投票数:0 平均点:0.00
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文
  条件検索へ