PHP+MySQL掲示板作ろうぜ
■ このスレッドは過去ログ倉庫に格納されています
長期運用に耐え、勝手よく使える掲示板を生み出す。 クラス・ライブラリにして使いまわせるようにします。 MySQL以外のDBでも使えるようにAPI拡張も視野に入れて 基本APIと実装例 http://org.s38.xrea.com/bbs.php 臨時のログ・データ http://org.s38.xrea.com/bbs.log コレをベースに変更・改善を加えて各種機能を実装します。 ローカル・ルール ・みんなが気持ちよく参加できる雰囲気を作りましょう ・他者を不快にさせるような一方的な煽りは止めましょう ・荒らしやスレ違いは放置。放置できない人も荒らし同然。放置の美学 ・厳格なバージョニングは必要でないが変更点はマメに報告しましょう。 >>597 $daimeiの後にスペース1つあけて試してみなよ。 あと、シングルコーテーション(’)じゃなくて、ダブルコーテーション(¥”)でくくってみれば? うちのMySQL掲示板では問題ないよ。もともとEUCだからだろうけどね。 ありがとう。 "でくくってもダメでした。 。を付けて「〜対応表。」と書き込んだらうまくいきました。 でも、実はこの事情を説明するために本文中に'表\'とか いろいろ書いたモノを送信したら、最後の文字は普通の文字なのにダメでした。 というわけで、 MySQL格納直前にaddslashesを、表示時のS-JIS出力直前にstripslashesを、 それぞれ付けてみたところ、うまく動いているように見えます。 ($daimei $namae $honbun それぞれに同じ処理) もっといい方法があるのかしら。 >601 "htmlslashes"でぐぐっても何も出てこないのですが…。 htmlescape のことかね。あまり関係なさそうだが 見た目はうまく動いてるように思えてたんだけど、なぜか ATOK17発表 が文字化けしてしまった。しかも ATOK17が発表 だとうまく書き込めるのに。原因が超わからん。 ウチではやっとこさ実用化できたよ。 文字化けも直ったし。 htmlslashesはやっておいたほうがいいね。 そうしないと改行を手書きで<br>をしなけりゃならん。 stripcslashesでエスケープ文字の除去を行うと、文字化けが発生する模様。 あーだ こーだ 言ってねーで ソース公開しなきゃ始まらないぞ <? class db { var $res; function mysql_s($sql){ $myuser=""; $mypass=""; if(!$con=mysql_connect("localhost",$myuser,$mypass)){echo"conエラー";exit;} if(!mysql_select_db($this->base,$con)){ echo"select ERROR"; exit; } if(!$this->res=mysql_query($sql)){ echo"error<br>$sql"; exit; } } } $db=new db; switch($s){ case 1: //投稿処理 $db->mysql_s(insert into .........); exit; //後は書く時間がないから誰か頼む } PHP+MySQLで掲示板作ってるんですけど 初歩的なことですが少し疑問に思いまして、 $con = mysql_connect($DBSERVER,$DBUSER,$DBPASSWORD); だけで接続できますよね $conって変数を定義するだけでなぜ接続できるのでしょうか? >>609 定義してるだけじゃない。 C言語の行数にして軽く数百行分の処理をしている。 その中で接続してリソースを返して、てな感じで楽に接続できるわけだ。 >610 なるほど PerlとPHPしかやったことなかったのでよくわからなかったのですが解決です! ご教授ありがとうございました。 実際に俺が使用してるSQL用classのサンプルを貼ってみる class sql { var $SQL, $DB, $DBTYPE; function dbsql(){ $this->SQL = $this->DB = array(); $this->DBTYPE = "MySQL"; } function connectSQL(&$sql_host, &$sql_port, &$sql_userid, &$sql_passwd, &$sql_db, $id = 0){ $this->SQL[$id] = @mysql_connect("$sql_host:$sql_port","$sql_userid","$sql_passwd"); return $this->SQL[$id]; } function selectdbSQL(&$sql_db, $sql_id = ''){ return (!$sql_id) ? @mysql_select_db($sql_db) : @mysql_select_db($sql_db, $sql_id); } function closeSQL($id = 0){ return @mysql_close($this->SQL[$id]); } function querySQL($query, $id = 0, $sql_id = ''){ $this->DB[$id] = (!$sql_id) ? @mysql_query($query) : @mysql_query($query, $sql_id); return $this->DB[$id]; } } 使い方は簡単なんで見てわかると思う MySQL+PHPで掲示板の書き込み作ってるのですが、 データベースに書き込めるときと書き込めないときが出るようになってしまいました。 なんでですかね? phpプログラムからmysqlへコネクトしたいのですが Fatal error: Call to undefined function mysql_connect() とエラーが出て接続できません… どなたか原因を教えて下さい。 phpソース $con = mysql_connect("localhost", "username", ""); 何か設定を変える必要があるのでしょうか? 環境@php-5.0.3 apache_2.0.52 mysql4.0.13 >>616 MySQLサポート付きでコンパイルしたか? phpinfo見てmysqlの項目確認。 >>616 確か、Windows側にDLLをコピーしたらいけるようになったよ。 微妙にスレ違いなんですが、ちょっと失礼します。 ずるぼん式うpろだで、ダウンロード数にあわせてリストがソートされる改造版があります。 単にそれをphpに移植したものがないかレッツphpさんの掲示板で質問しましたら、 そんな場合ソート処理はdbに渡すとおっしゃる方がおられまして、なるほどと思いました。 dbと連結すれば、もっと色々なことができるわけで。 掲示板にうpろだ機能を持たせたものでしかもスレッドフロート式というものも 魅力だなと思うのですが、高負荷化する改造は需要少ないから自作だなというのが 結論でした。 個人的には実力ないので老後の楽しみにとっといてもいいのですが、 このようなものを作ってる人、このスレの住人さんならご存じないかと思いまして・・・。 【CGI名】PHPぁぷろだ 【配布先URL】http://php.s3.to/bbs/bbs5.php 【依頼内容】DLkey機能とMD5表示機能をつけて欲しいです。 MD5はここ http://kemuri-net.dip.jp/ ~server/php/up/index.php のような感じで。 よろしくお願い致します。 <?php $db = mysql_pconnect( "localhost", "root", "●●●●●" ); echo $db; ?> と書いた.phpファイルをうpして、開いてみてもブラウザ上に ・ソ とだけ表示される。何が原因?入門質問でゴメソ。 >>624 echo $db; じゃなく var_dump($db); なら少しはまともに表示される アホな質問ですいません。超初心者なもので。ただいま勉強中です。 データベース(mysql)の更新をphpでさせようと input type="text" size="3" name="test" value="" value値にnullを設定してみました。 フィールドタイプがtextになっていれば、空白が代入され、 フィールドタイプがintの所だと、0が代入されてしまいます。 null値を代入したいときはどうすればいいのでしょうか。 >>624 それは普通に出力して人が見るものでは無いだろ >>624 文字コードがUTF-8だとしたら インクルードしてるファイルのBOMを削除 結局、徳岡伸悟はDB使えないのか(w HTML書く程度のPHPスクリプトしか作れないアフォだな。 だれか助けて下さい。 文字化けで困っています。どこのサイトを検索しても解決できません。 環境は PHP5 + MySQL + WindowsXP(IIS) で フォームの内容をMySQLに「日本語」と書き込むと フォーム送信の内容($_POST)はちゃんと「日本語」と表示されますが、 登録した内容を表示は「逓?{??」となってしまいます。 「php.ini」「my.ini」もSJISに統一したりEUC-JPに統一してみたり してるのですが全然解決せず困っています。 だれか助けてください。 MySQLとSQLiteのどちらかを選べる掲示板を作ってるよ >>633 PEAR/DB使ったらいいんじゃないの 無料HPでphpが使えるところは、ほとんどPEAR付いてるって考えていいの? >>635 使えなければ自分のディレクトリにアップすればいい id(P Key)をオートインクリメントでinsertしたデータを、続けざまidでselectしたいと思ったらどんな方法がありますか? <ul id="move"> <li><a href="../">ここ</a></li> </ul> <p>なんだかんだ</p> <ul><li>あれ</li><li>これ</li></ul> id="move"を頼りにして上のulだけをereg_replaceで置き換えたいんですが どういうパターンにすればいいんでしょうか 今分かっている知識で書いたら下の</ul>までマッチしてしまいます 最近mysqlの勉強を始めたもので、質問です。 php.iniの設定で’;extention=php_mysql.dll’の’;’を外すと本に書いてあったので 外して、アパッチを再起動すると、’php_mysql.dll’がありませんというメッセージが出ます。 なぜでしょうか? php_mysql.dll の前後にある’php_gd2.dll’’php_mbstring_dll’はエラーメッセージが でません。 三つとも’extention_dir=’で指定したフォルダの中にあります。 環境はOS=WINXP、アパッチ2、php5、mysql4.0です。 わかる方教えて下さい、お願いします。 >>640 libmysql.dllをC:\WINDOWS\system32フォルダにコピー 「ソ」が文章の最後にくるとSQLクエリーのエラーが出る。 なんて糞なんだ。 >>643 「表」もね というかちゃんとエスケープしろよ 質問です。 topicテーブル | title | content | |━━━━━━━━━━ | AAA | ああああ | | BBB | いいい | | ABC | ABC | こんな感じのテーブルで select * from topic where (title or content) like '%A%';←は動きません。イメージです。 みたいに条件('%A%')はひとつで、カラムをまとめた検索がやりたいのですが無理でしょうか? select * from topic where title like '%A%' or content like '%A%'; これだと'%A%'をカラムの数だけ必要とするので アドバイスお願いします。 >>645 カラムをconcat()でつなげたりしたことあるけどあんまり意味ないなーと思って今は後者の方法でやってる。 >>646 どうもありがとうございました。 確かにどっちでもいいですね。 でも見た目スッキリすると思うので早速使わせていただきます。 WindowsXP Apache2.0.55 PHP 4.4.2 MySQL 4.1.18 上記環境で、php.iniのmbstring.internal_encodingをEUC-JP、my.iniのdefault-character-setをujisに設定しています。 このとき、特に文字コードを指定せずテーブルを作成し、EUC-JPで保存したスクリプトを実行した場合はDBに保存されるデータも文字化けはしませんでした。 しかし、文字コードをUTF-8としてテーブルを作成し、.htaccessでmbstringの各種文字コードをUTF-8にして、UTF-8で保存したスクリプトを実行した場合はDBに保存されるデータが文字化けしてしまいます。 これを回避する手段は無いのでしょうか。 >>648 つーかMySQL4.1以降使ってるなら SET NAMES ujis でいいだろ 意味は自分で調べること >>650 テーブル作成時に DEFAULT CHARACTER SET utf8 等ではダメなのでしょうか。 つーかmysqlがutf8で格納するから、phpでもieでもutf8で出し入れさせれば文字化け回避。 メールも絡むなら、全部jisに統一すればいい。mysqlはjisを受け付けないのでjisが使えるボラクル使え。 どこかで変換させると文字化け問題で嵌るよ。 PHPとMySQLを使ってCSVファイルを、 1度のINSERTでインポートしようとしています。 しかし、 foreachを使いたくありません(行数が250行ほどになるので、 サーバのCPUを占有させたくありません)。 かといって、 ユーザの自発的なアップロードを考えているので、 LOAD DATA LOCAL INFILEも使えません。 foreachを使ったスクリプトは↓のようになります。 $fp = fopen($_FILES['upfile']['tmp_name'], "rt"); $filename = hoge; while ($data = fgetcsv($fp, 10000)) { foreach ($data as $value1 => $value2){ $sql = "INSERT INTO customer_csv (name, value1, value2) VALUES ($hoge, $value1, $value2)"; mysql_query($sql); } } インサートを1回で済ませるいい方法がありましたら、 どうかご教授くださいm(__)m >>654 たった250行でCPU占有ですか 250万行の間違い? foreachの内容もそれでいいの >>655 初めてシステムを作ろうと思ってる素人です... CPU、占有されないんですね(^_^;) ところで、もう1つよろしいでしょうか。 現在、CSVは2列です。 しかし、この列数が場合によっては4列位になることがあります。 ただ、それに対して1通りのforeachを使ったスクリプトだけで対処するとした場合、 foreach部分はどのように書いたらいいのでしょうか... それとも、列数で条件分岐したほうがいいでしょうか? もしそうだとすれば、 列数で条件分岐するスクリプトは>>654 のスクリプトでは、 どのように書けますでしょうか? 何かアイディアございましたら、 ご教授お願いいたしますm(__)m 656です。 アホな質問でした。 こんな↓感じで書けば1列〜から4列まで対応できるんですね。 $sql = "INSERT INTO customer_csv (name, value1, value2, value3, value4) VALUES ('$filename', '$data[1]', '$data[2]', '$data[3]', '$data[4]') "; お手数おかけしました。 レスはどのようにDBに格納するんですか? resというフィールドを作ってそこに一レスずつ格納するのが普通ですか? >>660 もしかすると1文字ずつ格納していくようになんかするとか Perl+(MySQL or PostgreSQL or SQLite3)な掲示板スクリプトは作っちゃったけどな ぶっちゃけスレ違いかw マルチポストになるけど PHPとかmySQLを使える人はいませんか? ここと同じようなシステムのサイトを作りたいのですが。 ttp://www.dh-park.jp/pc.shtml 店舗展開をする予定なんで 一緒に仕事できる人募集です。 当方デザイナーです。 プログラム担当してくれる人いませんか? 他に仕事持ってても構いません。 >>669 どのくらいの料金ぐらいなら受けて貰えますか? 専門の会社に頼むとプログラム関係のみで大体60マソぐらい。 携帯対応とかほかもろもろの機能をつけて100マソぐらいといわれました。 >>668 うちは案内所をやってて、 案内所用のシステムです。 その関係で近々デリもやる予定なんで、 半額程度までは出来ます。 女の子の給料だけですね〜。 報酬がそれでいいなら 定期的に無料で配達しますよ。 こういうシステムの他にも 色々考えているし、 このシステムが出来た段階で 他の地域にも進出予定なんで、 風俗関係でいい思いはさせてあげれると思いますよ。 違反じゃないですよw ちゃんと警察の許可もとってます。 というかうちは従来の案内所の範疇に入りませんので 風営法は関係ないです >>670 どんなサイト仕様かもうちょい要件定義してちょ。 漠然とそんな感じといわれるだけだと、どんぶり勘定的な金額しか出せない。 あと、整備するのはどこまでとか。鯖込みとかPGだけとか。 保守メンテとかもどうするの? サーバーはかごやを使う予定です。 仕様は ・携帯対応 ・データ更新は店舗側で出来るよう店舗に管理機能を付ける ・当日出勤表示 ・新着情報表示 ・新人情報表示 これが最低条件ですが、規模でかくしても大丈夫なら ・全国から検索出来るようにして貰いたい。 ・レビュー機能(アスクユーと同等) ・SEO向けにURLを静的に ・後で管理しやすいように、SMARTYとか使って 分離して貰いたい ・ソープ、ヘルスとか業種別に検索出来るように やりすぎかなぁ? 会社組織に移行出来れば、プログラマーとかも雇うつもりなんですが、 それまでは保守もして貰いたいです。 デザインに関しては此方で出来ると思います。 >>676 全部の要件満たして、携帯端末での実機テスト等も含めると 超ディスカウント価格で200万〜ぐらいからになると思う。 細かいところは打ち合わせ等でつめて決定でも良いかと思うけど。 あとはあんたの予算次第じゃないかな。 静的URL、携帯、Smartyあたりがめんどくさいとこやね かなりかさむと桃割れ あと全文検索とかね まじめに外注したら、かなりの金額になるよね。 30万とかそんな端金で請けるヤツいるのか? まあ、すこしづつ段階的に(趣味プロ的に)実装して行って くぎりくぎりでお小遣いが5万10万貰えて女が抱けるのなら やるヤツもいるかもしれないけど。 やっぱそのぐらいしますよねぇ 今PHPの勉強しだしているところなので 当日出勤表示だけ自分で組んで お茶を濁して お金の段取りします。 新規に警察から許可出る訳ないのに(w もう潰すだけで新規開店は認めてないよ。 なんかデザとして200万以上貰うのは無理だと思うよ(w むしろプログラムとして200+おまいが欲しい額のほうがまだ見込みが有る。 つまりおまいはデザしか出来ないなら、ウェブプログラマや鯖管の下請けに入りな。 PHPスクリプト埋め込まれたHTMLの手直しも出来ないだろ。 おまいの作ったHTMLのためにウェブプログラマがPHPスクリプトを苦労して合わせる事に成りそう。 >>682 まあそれは一般の人が思っているだけで、、、 人間の本能を商売にしている物をいくら規制しようが 逃げ道はいくらでもあるわけですし、 歴史が証明しています。 そりゃ一般の人が新規にしようとしても 無理でしょうが、 上にやっぱり〆関係がいて 警察にもコネがあるんで、、 そっち関係のコネがないと 風俗の仕事は出来ないです。 後、僕が仕事受けてる訳じゃなくて 発注者側です。 半年ぐらい様子をみて、 プロにどかんと頼む事にします。 >>683 ちょっと出遅れて結論が出ちゃったみたいだけど、 とりあえず、捨てメアドでもいいから教えてよ。 gaten777あっとまーくyahoo.co.jpです。 >>685 今晩は徹夜なんで、明日の夕方くらいにメールしますね 今日からMySQLをはじめようと重いインストールしたのですが mysqladmin ping のところで、エラーが出ます。 mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to MySQL server on 'localhost' (10061)' Check that mysqld is running on localhost and that the port is 3306. You can check this by doing 'telnet localhost 3306' これはどうすればよいのでしょうか? >>687 > Check that mysqld is running on localhost and that the port is 3306. > You can check this by doing 'telnet localhost 3306' 親切に教えてくれているのだから、良く読んだ方がいい。 ってか、スレ違いであり板違いでもあるから、もう2度と来ないでください。 とりあえず翻訳ソフト買うか駅前留学したら? エラーログが読めないってこの業界向いてないよ。 Parlオンリーで書くCGI掲示板だと衝突の対策とかしなきゃいけないっぽいけど PHP+MySQLでも書き込み時の衝突とか、対策しなきゃいけませんか? Perlオンリーで書くCGI掲示板だと衝突の対策とかしなきゃいけないっぽいけど PHP+MySQLでも書き込み時の衝突とか、対策しなきゃいけませんか? Perlのつづり間違えてるのに気付き書き込み中止押したつもりだったけど 書き込まれてた(´・ω・`) だめだ、MySQLサーバがまたダウンorz どっか年3万以内でMySQLがある程度快適なレンタルサーバ知らない? 356 :NAME IS NULL:2006/06/22(木) 04:15:41 ID:1d2hPd6+ だめだ、MySQLサーバがまたダウンorz どっか年3万以内でMySQLがある程度快適なレンタルサーバ知らない? 357 :NAME IS NULL:2006/06/22(木) 04:19:30 ID:??? >>356 ロリ。サーバー1台じゃないが。 358 :356:2006/06/22(木) 11:48:29 ID:AgHOUkWe レスTHX。 実はいま使ってるのがロリ。。。orz MySQLはさくらとかの方がいいのかな? 初歩的な質問ですが、where句の条件指定で、 where A like '%支店%' or A like '%支社%' or A like '%営業所%' これってどうやってキレイにすっきり纏められますか? ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる