K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[1866] Re:C言語ポインタ完全制覇の質問
投稿者:(ぱ)こと管理人
2013/08/03 16:09:15

>P108の上半分の >#ifdef DEBUG >#define DEBUG_WRITE(arg) debug_write arg  … >でdebug_writeのうしろに空白があって、argがあるのがどういうことか理解できません。 このDEBUG_WRITEの使い方についてはその続きで説明しており、以下のように書いています。 DEBUG_WRITE(("hoge..%d\n", hoge)) これをプリプロセッサにかけたときにどうなるかは、やってみれば一番わかると思いますが、 この2重の括弧の内側が、括弧ごと展開されますので、こうなります。 debug_write ("hoge..%d\n", hoge) これで可変長引数を取るデバッグライト用関数debug_write()を 呼び出すことができるわけです。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1865] C言語ポインタ完全制覇の質問
投稿者:あり
2013/08/02 08:15:58

P108 デバッグライト用の関数を作ってみよう に関して質問があります。 P108の上半分の #ifdef DEBUG #define DEBUG_WRITE(arg) debug_write arg  #else ・・・・ でdebug_writeのうしろに空白があって、argがあるのがどういうことか理解できません。 説明いただけないでしょうか。 よろしくお願いします。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1863] 管理者により削除されました
2013/05/15 01:35:25

テストはテスト用掲示板にてお願いします。
[この投稿を含むスレッドを表示]
[1862] Re:フローチャートについて
投稿者:(ぱ)こと管理人
2013/05/09 02:47:21

>アルゴリズムについてろくに知らないくせに軽視するという傾向がありました。 あう。すみません。 勉強はなんであっても重要ですよね。それこそフロチャートだって、記号の 意味くらいは知っていたほうがよいかと思いますし。 >それと、「インタプリタは翻訳しない」(インタプリタ自身が命令セットを持っている) >ことを他書がどう書いているか、一時期、気になってました。「翻訳する」などとなって >いても、表面上は誤りとも言い切れない表現の本が多いようです(そもそもあまり意識 >していないような)。その点、村瀬康治さんは、さすがに正確に書かれています。 とりあえず手元にある本では、 パソコンプログラミング入門以前 伊藤華子著 初版(1998年) 第10刷(2001年) | 中には、オブジェクトプログラムを生成しない「インタープリタ方式」で、 | ソースプログラムを一括変換しないで、一部分ずつを翻訳し直接実行する | スタイルもあります。 この本ではこの後、通訳に原稿をまるごと翻訳してもらう方法(コンパイル方式)と 比較して、同時通訳をインタプリタにたとえています。これはさすがに言い訳 できないと思います。 プログラムはなぜ動くのか 知っておきたいプログラミングの基礎知識 矢沢久雄著 1版7刷 (1刷ともに2001年) | Q.:コンパイラとインタプリタの違いは何ですか? | A.:コンパイラは、実行前にソースコードをネイティブ・コードに一括して | 翻訳します。インタプリタは、実行時にソースコードの内容を1行ずつ | ネイティブ・コードに逐次変換します。 「これが驚異のべすとせらあ?」とセンス・オブ・プログラミングに書いた本は 実はこれです。 改訂版が出ているので立ち読みしましたが、該当の記述はなくなっているようです。 どちらも増刷を繰り返している、かなり売れている本なんですよねえ。 >「Java謎+落とし穴」、第二版を期待しつつ。 残念ながらその予定はないのですが、この本は、amazonのレビューとかでも 書かれているとおり、今となっては古い本になってしまっていると自分でも思います。 でもなー、あの時点で、Genericsや列挙の不在はもちろん、引数と戻り値の 共変、反変まで書いたってのは、手前味噌ながらなかなかのものだと思うんですよ。 Web上で書評を見ても、2章のポインタ議論あたりまでしか言及されてないのが 多くてですね(愚痴)
[この投稿を含むスレッドを表示] [この投稿を削除]
[1861] Re:フローチャートについて
投稿者:動坂亭
2013/05/07 22:40:31

前橋様 お忙しい中、丁寧にご回答いただき、ありがとうございました。 お答えを自分なりに咀嚼し、今後に活かしたいと思います。もちろん、フロチャートは書かない(こだわらない、忘れる)ようにします。 ちなみに、柴田芳樹さんという方も、「人月の神話」でフローチャートが否定されていることについて「当然のこと」と書かれていました(「ソフトウェア開発の名著を読む」P46)。 「センス・オブ・プログラミング」の感想をあと少し書きますと、これも、影響を受けやすい(読者たる)私自身の責任ですが、アルゴリズムについてろくに知らないくせに軽視するという傾向がありました。最近それを自覚するに至り、まずは人並みにマスターしてから、と思っています。 それと、「インタプリタは翻訳しない」(インタプリタ自身が命令セットを持っている)ことを他書がどう書いているか、一時期、気になってました。「翻訳する」などとなっていても、表面上は誤りとも言い切れない表現の本が多いようです(そもそもあまり意識していないような)。その点、村瀬康治さんは、さすがに正確に書かれています。 「Java謎+落とし穴」、第二版を期待しつつ。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1860] Re:フローチャートについて
投稿者:(ぱ)こと管理人
2013/05/05 15:38:27

こんにちは。本を購入いただきありがとうございます。 >一方で、大滝みや子さんの「かんたんアルゴリズム解法」では、副題に「流れ図」と >あるように、フローチャートを扱っています。この本は、基本情報技術者試験の >テキストであるわけですが、国家試験である(らしい)同試験で、初心者に >フローチャートを学ばせていることと、先の常識との関係を、どのように整理すれば >よいでしょうか。 国家試験だからといって必ずしも適切な問題を出しているとは限りませんし、 ひとまず「基本情報 フロチャート」で検索したらまず出たのが以下の過去問でしたが、 http://www.k4.dion.ne.jp/~type_f/FE_18S_AM/FE_18S_AM_42.html この問題は、何についての理解を試しているのでしょう…… フロチャートの書式? それとも、アルゴリズムの基本的な考え方? フロチャートの書式を問う問題には見えないですよね。記号の意味自体は、 それこそ初めて見る人でも、だいたい見当がつきそうです。 この問題はアルゴリズムの考え方を問う問題で、たまたまそこでフロチャートを 使っていると見るべきであるように思います。それが適切かどうかはさておき。 (「Pascal風擬似言語」でもよいと思うのですが、言語非依存にしておかないと 都合が悪い事情はあるかも) >「センス・オブ・プログラミング」でも、基本情報技術者試験の試験範囲と >重なる入門的話題(基数、加算器など)も多く取り上げられていますことから、 >フローチャートはそのレベル以前、とも考えられず、フローチャートには >どういう態度で接すべきか、分かっていません。基本中の基本としては、 >必要なのでしょうか? 実のところフロチャートの記号なんて数種しかありませんし、記号の意味を 覚えておいて無駄になるということはないと思います。 ただ、入門者がおもちゃプログラムを作るときを含め、設計の役にはまったく 立たないと思います。理由は、「センス・オブ・プログラミング」にも書きましたが、 フロチャートは、いまどきの普通のプログラミング言語と比べても「機械語寄り」の 低レベルな記法であるからです。こんなものを書くくらいなら、対象の言語で 直接書くほうがよっぽどマシですし、その方が、コンパイラに怒られたり 動かしてバグを出したり等、勉強にもなります。 ただし、私もフロチャートを書くことはたまにはあって、それは、たとえば システムの運用担当者さん向けに、「エラーが発生したときにどうすべきか」といった 説明資料を作るような時です。これは、フロチャートにしたがって運用担当者さんが それこそCPUのように機械的に動けるように指示するものなので、より「低レベル」な 記法の方が好ましいわけです。 そのようなケース以外で、設計のためにフロチャートを書くことは、もちろん 実務ではありませんし、入門時にどうだったかといえば、私自身はBASIC時代に 入門しているわけでフロチャートも書きましたが、会社に入ったとき同期の連中は まるっきり初心者の人もいましたが、フロチャートなしで入門していました。 動坂亭さんが今までどんなプログラムを作ってこられたかわかりませんが、 何らかのテーマを決めてコードをガリガリ書いていけば100行くらいすぐですし、 100行のコードは、既にフロチャートで表現するのは難しいのではないでしょうか。 フロチャートを書くかどうか迷っている暇にどんどんコードを書いたほうが有益だと 思います。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1859] フローチャートについて
投稿者:動坂亭
2013/05/03 23:02:01

はじめまして。 私はプログラミング初心者ですが、前橋様のご著書は、「プログラミング言語を作る」を含め、全て所有しています(読めてはいません)。つまりファンということになり、影響も受けていると思います。 さて、「センス・オブ・プログラミング」でフローチャートを書いてはいけない、とされています。他の著者の本でも、このことは常識とされているものも見かけますし、素人たる私としても、疑問の余地がない事実なのであろうと推測します。(ごくごく単純な、構造化プログラミングぐらいの世界で、実務の役に立たないという趣旨なのかなと思ってます) 一方で、大滝みや子さんの「かんたんアルゴリズム解法」では、副題に「流れ図」とあるように、フローチャートを扱っています。この本は、基本情報技術者試験のテキストであるわけですが、国家試験である(らしい)同試験で、初心者にフローチャートを学ばせていることと、先の常識との関係を、どのように整理すればよいでしょうか。 「センス・オブ・プログラミング」でも、基本情報技術者試験の試験範囲と重なる入門的話題(基数、加算器など)も多く取り上げられていますことから、フローチャートはそのレベル以前、とも考えられず、フローチャートにはどういう態度で接すべきか、分かっていません。基本中の基本としては、必要なのでしょうか? ご教示いただけましたら幸いです。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1858] kmaebashi.com停止のお詫び(1年ぶり2回目)
投稿者:(ぱ)こと管理人
2013/03/26 03:09:41

おそらく3/22~3/25にかけて、本Webサイトkmaebashi.comが停止しておりました。 管理人である私が、忙しさにかまけてレンタルサーバの利用料金の振込みを失念していたのが原因です。3/23(土曜)に振り込み、月曜に復旧していただきました。 利用者の皆様にはご迷惑をおかけしまして申しわけありませんでした。 1年前… orz http://kmaebashi.com/bbs/list.php?boardid=kmaebashibbs&from=1812&range=1
[この投稿を含むスレッドを表示] [この投稿を削除]
[1856] Re:スタイルシートに関して
投稿者:misamisa
2013/01/14 17:31:26

管理人様、ご回答ありがとうございます。 ようやく実現できました!
[この投稿を含むスレッドを表示] [この投稿を削除]
[1855] Re:crowbar ver2のnative pointerについて
投稿者:hiro
2013/01/11 16:30:22

774RR様 ご回答ありがとうございます. 納得です.そういえば,昔そういう話を授業で聞いたことを思い出しました. ありがとうございました. >>char *str >>switch(type) { >> case XXX_EXPRESSION: >> str = "文字列" >>} >> >>return str; >>これだと,リターンされる文字列は自動変数なので,関数を抜けたらメモリが開放されるため,バグになる可能性があるのではないでしょうか? > >この例では、実は リターンされる文字列は自動変数 ではないのです。 >消滅するのは、自動変数 str というポインタ変数のためのメモリ領域 >return の前後で str に入っていた値 が複写される >ポインタ変数の値、すなわち str が指す先は "文字列" という [ストリングリテラル] である >ストリングリテラルはプログラム終了まで消滅しない >ので、この例は100%合法です。 > >以下の例だと 文字列 str が真に自動変数であるためバグります。 >const char* buggy_sample_func() { > char str[100]; > strcpy(str, "文字列"); > return str; >} >
[この投稿を含むスレッドを表示] [この投稿を削除]
[1854] Re:crowbar ver2のnative pointerについて
投稿者:774RR
2013/01/11 11:58:28

>char *str >switch(type) { > case XXX_EXPRESSION: > str = "文字列" >} > >return str; >これだと,リターンされる文字列は自動変数なので,関数を抜けたらメモリが開放されるため,バグになる可能性があるのではないでしょうか? この例では、実は リターンされる文字列は自動変数 ではないのです。 消滅するのは、自動変数 str というポインタ変数のためのメモリ領域 return の前後で str に入っていた値 が複写される ポインタ変数の値、すなわち str が指す先は "文字列" という [ストリングリテラル] である ストリングリテラルはプログラム終了まで消滅しない ので、この例は100%合法です。 以下の例だと 文字列 str が真に自動変数であるためバグります。 const char* buggy_sample_func() {  char str[100];  strcpy(str, "文字列");  return str; }
[この投稿を含むスレッドを表示] [この投稿を削除]
[1853] Re:crowbar ver2のnative pointerについて
投稿者:hiro
2013/01/11 08:12:26

管理人様 ご回答ありがとうございます.下記了解いたしました. >ちょっとありえないミスです。申しわけございませんでした。 >該当の実装は、以下で正しいです。 > >>気になって探してみたところ,ver.4のソースコードに >> >>struct CRB_Object_tag { >> ObjectType type; >> unsigned int marked:1; >> union { >> CRB_Array array; >> CRB_String string; >> CRB_Assoc assoc; >> ScopeChain scope_chain; >> NativePointer native_pointer; >> } u; >> struct CRB_Object_tag *prev; >> struct CRB_Object_tag *next; >>}; > >ご報告いただきありがとうございました。週末あたりに正誤表に入れさせて >いただきます。 ありがとうございます.ミスを全部潰すのは大変ですよね... 私もまだver.2までしか進んでいませんが,大変勉強になっています.ありがとうございます. また,もう一点気がついたことがあるので報告させて頂きます. util.cに,crb_get_operator_string関数があるかと思います. 以下のようなコードになっているのですが, --------------------------------------------- char *str switch(type) { case XXX_EXPRESSION: str = "文字列" } return str; --------------------------------------------- これだと,リターンされる文字列は自動変数なので,関数を抜けたらメモリが開放されるため,バグになる可能性があるのではないでしょうか? char *op_str = crb_get_operator_string(operator); こんな風に使っているので... ちなみに,実際にバグが起こっているわけではありません(エラー処理に使っているので,実際には実行されない).
[この投稿を含むスレッドを表示] [この投稿を削除]
[1852] Re:スタイルシートに関して
投稿者:(ぱ)こと管理人
2013/01/11 04:41:29

774RRさんが答えてくださっていますが(いつもありがとうございます) >というのも、掲載されているソースでは、どうしても左よりとなってしまう為、 >なんとかして見栄え良く、この掲示板のような形にしたいと考えています。 この掲示板のCSSは、ソースを見ればわかるように、以下にありますので よければ参考にしてください。 http://kmaebashi.com/bbs/bbs.css
[この投稿を含むスレッドを表示] [この投稿を削除]
[1851] Re:crowbar ver2のnative pointerについて
投稿者:(ぱ)こと管理人
2013/01/11 04:38:38

>「プログラミング言語を作る」を購入し,勉強させていただいております. ありがとうございます。はじめまして。 >著書の4-4-5において,以下のようにネイティブポインタ型の改修を記載されて >おりますが,ご提供されているソースコードのcrowber_book_0_2では,実際の >実装はされていないように思われます. まさかと思ってcrowbar_book_0_2をダウンロードして確認しましたが、 確かに、このバージョンでは、ネイティブポインタ型が値型になっています。 以下のようになっているのは、おっしゃるとおり、ver.0.4からのようです。 >ネイティブポインタ -> CRB_Object->FILE型などの構造体 「プログラミング言語を作る」は、もともとWeb上の連載で、 いろいろ試行錯誤しながら作っておりました。 書籍化にあたり、後になって失敗したと思い改修した箇所を、 前のバージョンに取り込む作業をしており、この件も、ver.0.4から ver.0.2に移動させたつもりだったのですが…… ちょっとありえないミスです。申しわけございませんでした。 該当の実装は、以下で正しいです。 >気になって探してみたところ,ver.4のソースコードに > >struct CRB_Object_tag { > ObjectType type; > unsigned int marked:1; > union { > CRB_Array array; > CRB_String string; > CRB_Assoc assoc; > ScopeChain scope_chain; > NativePointer native_pointer; > } u; > struct CRB_Object_tag *prev; > struct CRB_Object_tag *next; >}; ご報告いただきありがとうございました。週末あたりに正誤表に入れさせて いただきます。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1850] crowbar ver2のnative pointerについて
投稿者:hiro
2013/01/10 06:18:57

はじめまして. 「プログラミング言語を作る」を購入し,勉強させていただいております. 著書の4-4-5において,以下のようにネイティブポインタ型の改修を記載されておりますが,ご提供されているソースコードのcrowber_book_0_2では,実際の実装はされていないように思われます. ネイティブポインタ -> CRB_Object->FILE型などの構造体 気になって探してみたところ,ver.4のソースコードに struct CRB_Object_tag { ObjectType type; unsigned int marked:1; union { CRB_Array array; CRB_String string; CRB_Assoc assoc; ScopeChain scope_chain; NativePointer native_pointer; } u; struct CRB_Object_tag *prev; struct CRB_Object_tag *next; }; このような記述を見つけました.こちらが正しい定義でしょうか? お手数おかけしますが,ご確認よろしくお願いいたします.
[この投稿を含むスレッドを表示] [この投稿を削除]
[1849] Re:スタイルシートに関して
投稿者:774RR
2013/01/09 16:53:32

掲示板ソフトがどうこう、という話ではない、と思うが。 1.最終的に閲覧者の手元に届く HTML ファイルの中にて CSS を使う指定がなされていて 2.同じく閲覧者(の使っている UA)が CSS にアクセスできる ようになっていればいい。 インライン要素で CSS を指定しても良いし ここの掲示板みたいに、掲示板ソフトの出力が別ファイルの CSS にアクセスしてもいい HTML 自体の話であるとか Web server 上の htdocs に CSS ファイルを置くとか そういう問題だと思う。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1848] スタイルシートに関して
投稿者:misamisa
2013/01/08 10:17:41

管理人様、いつも大変参考にさせて頂いております。 現在、管理人様が掲載しているプログラムをベースに掲示板を作成しており、 おおよそ完成しておりますが、管理人様のこの掲示板のようにどうしてもスタイル シートを使用したいと考えています。 というのも、掲載されているソースでは、どうしても左よりとなってしまう為、 なんとかして見栄え良く、この掲示板のような形にしたいと考えています。 どのようにしたら良いのでしょうか??? 教えて下さい。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1847] Re:最新データの表示に関して
投稿者:misamisa
2013/01/08 10:09:44

管理人様、ご回答ありがとうございます。 返事が遅くなり大変申し訳ありませんでした。 ご指摘頂いた内容で問題なくやりたい事が実現しました! ありがとうございました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1846] あけましておめでとうございます
投稿者:(ぱ)こと管理人
2013/01/01 04:01:19

すっかり閑散とした掲示板ですが、本年もよろしくお願いいたします。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1845] Re:最新データの表示に関して
投稿者:(ぱ)こと管理人
2012/12/07 03:20:40

>ただ、その他、例えば新規投稿があったもに関しては、"NEW"を >横に付けるというような事は可能でしょうか? > 先に私が書いたように、「スレッドごとの最終更新時刻」をスレッドトップの 投稿に持たせるのであれば、ふつうに、「3日以内ならNEWと表示する」といったコードを 書けばよいのでは?
[この投稿を含むスレッドを表示] [この投稿を削除]
[1843] Re:最新データの表示に関して
投稿者:misamisa
2012/11/30 17:08:20

管理人様、ご回答ありがとうございます。 ソートの件、参考になります。 ただ、その他、例えば新規投稿があったもに関しては、"NEW"を 横に付けるというような事は可能でしょうか? そのような例がありましたら教えて下さい
[この投稿を含むスレッドを表示] [この投稿を削除]
[1842] Re:最新データの表示に関して
投稿者:(ぱ)こと管理人
2012/11/28 03:52:18

>その中で1点、スレッド形式をトップ画面とした場合、最新の投稿があった場合でも >どこに投稿があったのかが番号では判断が難しく、何か別の方法で最新という事を >表示できないかと考えています。 最新の投稿があったスレッドは上位に表示したい、ということですよね。 以下で紹介しているソースにおいて、 http://kmaebashi.com/programmer/bbs_dev/thread.html 58: $sql_str = sprintf("select * from message where boardid='%s' and parent is null ", 59: $board_id); このSQLが、スレッドのルートを生成しています。 その続きで、order byをかける際に、(スレッドのルートの投稿の)serialidでorder by しているのが現状の仕様です。 63: $sql_str .= sprintf("order by serialid desc limit 0, %d", 64: $range); なので、messageテーブルに1列足して、スレッドごとの最終更新時刻を持てるようにして (parent is nullのレコードだけでよいので)、 それでorder byすればよいかと思います。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1841] 最新データの表示に関して
投稿者:misamisa
2012/11/26 10:32:29

掲示板を作成するにあたり、大変参考にさせて頂いております。 その中で1点、スレッド形式をトップ画面とした場合、最新の投稿があった場合でも どこに投稿があったのかが番号では判断が難しく、何か別の方法で最新という事を 表示できないかと考えています。 <?php while ($row = mysql_fetch_assoc($result)) { if (!isset($firstid)) { $firstid = $row["serialid"]; } $lastid = $row["serialid"]; ?> <li> <a href="./list.php?boardid=<?php echo $board_id ?>&thread=<?php echo $row["serialid"] ?>"> ▼</a> <?php include 'threaditem.php'; show_child($board_id, $row["serialid"]); ?> </li> この部分を改造して、上記のような1発で最新の投稿だ!とわかるような事はできない でしょうか、、、 教えて下さい。 よろしくお願いします。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1840] 秋冬ファッション最新品
投稿者:秋冬ファッション最新品
2012/11/22 11:20:34

秋冬ファッション最新品 2012年秋冬ファッション人気商品は当店で売買する中です。 靴&ブーツ:http://orosiuri.com/baqgushu-zuakusesati.html レディース(服):http://orosiuri.com/ladies.html コスプレ衣装:orosiuri.com/kosupureishou.html バッグ&財布:orosiuri.com/baggu-saifu.html 弊社では、海外のメーカから本物直輸入販売!高品質の商品を超格安価格で、安心、迅速、確実、にお客様の 手元にお届け致します。 http://orosiuri.com/ 「卸売」ようこそ!
[この投稿を含むスレッドを表示] [この投稿を削除]
[1839] Re:PHP、MYSQLのBBSで質問です
投稿者:(ぱ)こと管理人
2012/11/21 01:59:57

すみません、これはおそらくバグっています。 記憶が曖昧ですが、ずいぶん前に、新しい掲示板を立ち上げるとき、 「ホームページ上の説明のコード」のとおり、 54: $sql_str = sprintf("select count(*)" 55: . " from message where boardid='%s'", 56: $board_id); 57: $result = mysql_query_or_die($sql_str); 58: $row = mysql_fetch_row($result); 59: if ($row[0] == 0) { 60: $serial_id = 0; 61: } else { 62: $serial_id = $row[0]; 63: } count(*)でレコード数をとった値、とすると、レコードの物理削除を行った場合に おかしくなるため修正したような気がします(現在は、あまりのspamの多さに 辟易したため管理者権限で物理削除ができるようになっていますが、当初はその 機能はありませんでした)。 それを考慮して、現状では以下のようにmax()を取るようにしたのですが、 $sql_str = sprintf("select max(serialid)" . " from message where boardid='%s'", $board_id); $result = mysql_query_or_die($sql_str); $row = mysql_fetch_row($result); if ($row[0] == 0) { $serial_id = 0; } else { $serial_id = $row[0] + 1; } その新しい掲示板を立ててからしばらく経ってからのことだったので、 「2回目の投稿」については試していなかったのかと思います。 すみませんが現状こちらではそれを直してテストまでする余裕はありません。 そちらで回避してください。よろしくお願いします。 (serial_idの最小値を1とする、あたりが簡単な気はします)
[この投稿を含むスレッドを表示] [この投稿を削除]
[1838] PHP、MYSQLのBBSで質問です
投稿者:inak2
2012/11/18 19:07:49

Maebashi様 お世話になります。BBSのソースをサーバーにアップして、動作確認しております。 しかし、最初の投稿はできるのですが、2回目からの投稿でエラーが発生します。 エラーの内容を見ると、 SQLエラーinsert into message (boardid, serialid, name, subject, url, message, password, salt, parent, top, ipaddress, remotehost, useragent) values ('1117no2', 0, '以下省略・・・・・・ となっており、serialidが2回目の投稿にもかかわらず0を入れようとしてエラーになっていると考えられます。 テーブルをみると最初の投稿のserialidのフィールドには0が入っています。 そこでinsert.phpのソースコードを見ると、if($row[0]==0) {$serial_id=0;} else {$serial_id=$row[0]+1;} となっております。 ホームページ上の説明のコードでは$serial_id=$row[0];と書かれています。 オートインクリメントを設定してもうまきいきません。 よろしくお願いいたします。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1837] Re:PHP、MySQL掲示板で質問です
投稿者:(ぱ)こと管理人
2012/11/09 03:35:11

こんにちは。返信が遅くなりましてすみません。 >①list.php, plain.php, threaditem.phpは削除機能実装前の古いバージョンで >説明してあると記されていましたので、修正されたものの方をコピペして使用しました。 >しかし、「スレッド順インデックス」の説明のthread.phpも削除機能実装前の >古いバージョンで説明されておられますが、修正バージョンのソースが見当たりません? >修正バージョンをご提示いただければ幸いです。 この掲示板の記事は、掲示板自体を作りながら書いたものですので、 最終的に動く形でのソースコードは公開していません。 もちろん公開は可能ですが、動作する掲示板のソースをまるごと公開すると、 サポートの義務が発生しそうですし、当方にその余力はないのでこの状態になっています。 というよりも、既にPHPのバージョンが古いですし(公開時点ではPHP4でした) magic quoteを前提にしていたりもるので、このソースを参考にして 自作していただくのは大歓迎ですが、これをまるごともっていくのはちょっと お勧めできないです。 どうしても、ということであれば、メールいただければ固めて送ります。 あしからず、ご了承くださいませ。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1836] PHP、MySQL掲示板で質問です
投稿者:inak2
2012/11/07 15:07:09

プログラミングのHP、大いに参考にさせていただいております。 「PHPとMySQLで掲示板を作る」コーナーで質問させていただきます。 ①list.php, plain.php, threaditem.phpは削除機能実装前の古いバージョンで説明してあると記されていましたので、修正されたものの方をコピペして使用しました。 しかし、「スレッド順インデックス」の説明のthread.phpも削除機能実装前の古いバージョンで説明されておられますが、修正バージョンのソースが見当たりません?修正バージョンをご提示いただければ幸いです。 ②説明の最後のほうで「修正版のlist.phpの14行目で、get_css($board_id)という関数を呼んでCSSの設定・・・・この関数はutil.phpで定義されていて・・・」と説明がありますが、util.phpにはこの関数の定義が見当たりません。 このためか、当方で設定してBBSを動かそうとし、「投稿成功しました」の表示から「一覧表示に戻る」をクリックしてもこのlist.phpの上部の「<link rel="STYLESHEETY" TITLE="default" TYPE="text/css" href="」の表示でとまってしまいます。 勉強中なのでいいかげんな質問をしているかもしれませんが、よろしくご指導お願いいたします。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1833] Re:makeできない
投稿者:(ぱ)こと管理人
2012/09/30 19:38:18

すみません、いくつか確認させてください。 >cd ./memory; gmake >指定されたパスが見つかりません。 >gmake: *** [memory/mem.o] Error 1 (1) 使用したcrowbarは、どこからダウンロードしたどのバージョンでしょうか? (2) crowbarを展開し、コマンドプロンプトにてMakefileやcrowbar.yのある  ディレクトリまでcdして、そこからgmakeを実行した、ということでよいでしょうか? (3) crowbarを展開したフォルダ(Makefileやcrowbar.yのあるところ)に、  「memory」という名前のフォルダはあるでしょうか?  (普通に考えて、わざわざ消したり名前を変えたりしない限りあるはずですが…) (4)出たメッセージは上記がすべてでしょうか? crowbarをビルドすると、  「cd ./memory; gmake」が動く前に、以下のようなメッセージが出ているかと  思いますが、出ているでしょうか? bison --yacc -dv crowbar.y flex crowbar.l gcc -c -g lex.yy.c gcc -c -g y.tab.c gcc -c -g -Wall -Wswitch-enum -ansi -pedantic -DDEBUG main.c gcc -c -g -Wall -Wswitch-enum -ansi -pedantic -DDEBUG interface.c gcc -c -g -Wall -Wswitch-enum -ansi -pedantic -DDEBUG create.c gcc -c -g -Wall -Wswitch-enum -ansi -pedantic -DDEBUG execute.c gcc -c -g -Wall -Wswitch-enum -ansi -pedantic -DDEBUG eval.c  質問に質問で申しわけありませんが、確認をよろしくお願いいたします。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1832] Re:makeできない
投稿者:(ぱ)こと管理人
2012/09/29 17:15:31

すみません、最近掲示板を見ておらず、この投稿に今気づきました。 今出先なのですが、この週末中には確認して回答します。 >windows7にてcrowbarをmakeしようとすると、 > >cd ./memory; gmake >指定されたパスが見つかりません。 >gmake: *** [memory/mem.o] Error 1 > >とでてmakeできません。 >gccやmingwも同じバージョンのものを使いました。 > >回答よろしくお願いします。
[この投稿を含むスレッドを表示] [この投稿を削除]