くだすれPHP(超初心者用)6
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/05(日) 22:04:26ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
ttp://www.php.net/
ttp://jp.php.net/
前スレ
くだすれPHP(超初心者用)5
http://pc11.2ch.net/test/read.cgi/php/1227303362/
関連スレ
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
PHP初心者勉強会やらんかね!
http://pc11.2ch.net/test/read.cgi/php/1209137730/
0182nobodyさん
2009/05/29(金) 09:45:58ID:???0183nobodyさん
2009/05/29(金) 10:03:05ID:???カレンダーとか認証とか、pearにいくらでもライブラリすっ転がってるでしょ。
本に書いてある通りにしか書けないタイプだとしたらこの先あまりに辛過ぎる。
つーか間に合わなくてもいいからフレームワーク使っとけ。後で誰も手伝えなくなる。
0184nobodyさん
2009/05/29(金) 10:09:19ID:???とりあえず納期の事で胃を痛めてても仕方ないから2chなんて見てないで
作業進めちゃったほうがいいよ。販売云々は今は考えるな。営業の仕事だし。
一ヶ月勉強期間もらったと思えばいいんじゃない?
0185nobodyさん
2009/05/29(金) 12:06:30ID:b8GghdtqどうしてもGetData()のmysql_queryで値が取れません
$dbhにはリソースIDも入っているしSQL文もphpMyAdminで実行すると問題なく通ります。
またShowRes()を関数にしないでページに直接書くと実行できます。
ずっとはまっててもうトホホな状態です。
何が悪いんでしょうか?
function ShowRes()
{
$dbh = mysql_connect($db_host, $db_username, $db_password);
if ($dbh === false) die("db access error!");
mysql_select_db($db_name, $dbh);
foreach () {
$ret = GetData($dbh);
}
}
function GetData($dbh)
{
$intRet = 0;
$strsql = "select 〜";
$res = mysql_query($strsql, $dbh);
while ($row = mysql_fetch_assoc($res)) {
$ret = $row;
}
return $ret;
}
0186nobodyさん
2009/05/29(金) 12:18:27ID:???0187nobodyさん
2009/05/29(金) 12:36:17ID:???う、もろそうでした
includeすればそのまま変数が使えるのかと思ってました。
ありがとうございます
助かりました
0188nobodyさん
2009/05/29(金) 16:16:26ID:???ヘッダなどは省略しますが、Webブラウザで、
<?php
print("AAAAA");
print("BBBBB");
?>
のファイルを読み込むと、AAAAABBBBBと表示されますが、AAAAAを表示後、画面をクリ
アしてからBBBBBを表示するには、どうしたら良いでしょうか?
print("AAAAA");
--ここ--
print("BBBBB");
--ここ-- に何を書けば良いのか見当がつきません。
どうか教えてくださりませ。
0189nobodyさん
2009/05/29(金) 16:17:51ID:???0190nobodyさん
2009/05/29(金) 16:26:51ID:???今まで表示されていた内容を一旦全部消したいのですが…。
0191nobodyさん
2009/05/29(金) 16:31:18ID:???0192nobodyさん
2009/05/29(金) 16:46:35ID:???0193nobodyさん
2009/05/29(金) 16:48:26ID:???それとも画面遷移なしで変化させたいと?
0194nobodyさん
2009/05/29(金) 16:53:03ID:???そこで、生成中はAAAAA画面で「生成中です。しばらくお待ちください」のメッセージを表示して、生成が完了したら、
画面遷移なく、「生成中〜」をクリアして、ダウンロード用のボタンを表示したいのです。
0195nobodyさん
2009/05/29(金) 16:55:23ID:???0196nobodyさん
2009/05/29(金) 16:57:46ID:???やさしくお願いしますです。
0197nobodyさん
2009/05/29(金) 17:03:32ID:???処理が終わったらJavascriptで
document.getElementById("hoge").innerHTML = "<input type='button' 〜"
0198nobodyさん
2009/05/29(金) 17:54:47ID:???解決しました。
0199nobodyさん
2009/05/29(金) 19:25:42ID:05XbjRtm今の所POSTとsessionを使って
入力ページ(a.php)、確認ページ(b.php) 完了ページ(c.php)
という流れで、
入力したデータをPOSTでb.phpに送る、
b.phpではSESSIONにPOSTを格納、POSTの内容をユーザーに確認させ、
問題なかったら送信をクリック、
c.phpページで「送信しました」表示と共に
指定のメールアドレスにmb_send_mailでSESSION内容を送信して
session破棄
とまでは出来たのですが、
b.php、c.php共にに直接アドレスを入力すれば表示できてしまう状態です。
c.phpではmb_send_mailを使っているので、c.phpに直接アクセスされると
空のメールを指定したアドレスに送信してしまう始末です。
これを
b.phpはa.phpを
c.phpはb.phpを経由しないとアクセスしないようにしたいのですが、
どのようにすれば言いのでしょうか?
リファラで、前のページを取得して、b.phpではa.php以外なら
c.phpではb.php以外なら、error.htmlに飛ばすような概念でしょうか?
0200nobodyさん
2009/05/29(金) 19:48:09ID:???正気みたいです。毎日社長が進歩確認しにきます。
>>183
フレームワーク聞いてみました。
だめだそうです。手続き型で書いてくれとのこと。
うちの会社だれもフレームワーク使えないからが理由らしいです。
本当はZend Frameworkを使いたかったのですが。
>>184
はい。がんばります。
0201nobodyさん
2009/05/29(金) 19:50:41ID:???0202nobodyさん
2009/05/29(金) 21:15:52ID:???0203199
2009/05/29(金) 21:36:35ID:???レスどうもです。
なるほど、a.phpのほうからb.phpの方へも別のsessionをわたして
issetで判定すればいいんですかね。
c.phpの送信完了画面ではb.phpでSESSIONにPOSTが
すでに格納されてるわけですから、
c.phpでもSESSIONの空判定をすれば
c.phpで空メールが送られてくることもなく
b.php、c.phpともにSESSIONが空の場合、if分岐でエラーの表示をだせばいけそうですね。
sessionで判定という脳みそがなかったです。
ありがとうございます。
ちなみに、ちょっと調べてたらセキュリティソフト等の関係でリファラを残さない人や
ブラウザのプラグインで同じような事をしている人がいるとかで
リファラチェックはあまり使わないほうがいい、という情報もみかけましたが
普通みなさんは、特定のページのみからアクセスを許可させたい場合
どのような処理をされてるのでしょうか?
やはりsessionですか?
0204199
2009/05/29(金) 22:31:49ID:???追記です。おかげさまで解決しました。
最初issetで判定してたのですが、うまくいきませんでしたが
!emptyでSESSIONの空判定をおこなったところ、
SESSIONデータの有無で表示の分岐ができました。
ありがとうございました。
0206nobodyさん
2009/05/30(土) 01:00:52ID:???GPLだからソースは出さなきゃならんけど
0207nobodyさん
2009/05/30(土) 01:07:23ID:???MySQLみたいにデュアルライセンスの
ブログってないの?
0208nobodyさん
2009/05/30(土) 02:05:27ID:???Javaだけど
0209nobodyさん
2009/05/30(土) 02:30:08ID:???PHPで出来る部分はさておいたとして、
WYSIWYGとか、どうするんですか。
アメーバとか見たこと無いけど、wordpressとかその他ブログとかCMSに必須ってぐらい
くっついてるけど。
0210nobodyさん
2009/05/30(土) 03:22:31ID:???0211nobodyさん
2009/05/30(土) 03:32:05ID:???GPLと名のつくものは何となく怪しい雰囲気が満載だな。
0212nobodyさん
2009/05/30(土) 03:39:16ID:???0213nobodyさん
2009/05/30(土) 03:53:23ID:???別のライセンスを有するものにGPLライセンスのライブラリを組み込んだらGPLになるのかとか、
さっぱりわからん。
mysqlのFLOSSもさっぱりだったよ。
0214nobodyさん
2009/05/30(土) 06:01:27ID:QHjSHhWOもうね。だめだよ。
wordpress使うより自社で作ったほうがいいとのこと。
よくわけがわからん。
今日も泊りだな。なにやっているんだが。
>>209
WYSIWYGなんか考えてません。
逃げることを考えています。
0215nobodyさん
2009/05/30(土) 12:12:30ID:???バージョンアップされてさらにバグるようになったし、ダメぽorz
なにかいい代用WYSIWYG、ないもんかのう・・・
0216nobodyさん
2009/05/30(土) 12:24:50ID:???0217nobodyさん
2009/05/30(土) 21:20:27ID:MvhC1epfHTMLトップページの一部に文章を書き、その部分が数日経てばor文章が数本溜まれば、
過去ログとしてその部分が「○日の更新」として別のページに自動的に溜まって行くという
簡単なブログのようなシステムを作りたいです
Web制作板でPHPの存在を知って、過去ログの方に自分で文章を書き、
そこから一部分をトップページに反映させるというシステムの方が良いと思いました
とりあえずPHP5とPHPテンプレートエンジンのSmartyはダウンロードしましたが、
そこからどうしたら良いのかさっぱり分かりません
ご教授お願いします
0218nobodyさん
2009/05/30(土) 22:13:47ID:SuG3TKng簡単な方法は、CSVファイルに、
"年月日","文章"
"年月日","文章"
"年月日","文章"
.....
という風にデータを用意して、PHPで一行づつ読み込む。
年月日と現在日を比較して、条件が合えばトップページに表示し、それ以外は過去ログページに表示するなど。
因みにsmartyは必須じゃない。プログラムとデザインテンプレートを分ける必要があれば使うだけのもの
0219nobodyさん
2009/05/30(土) 23:11:23ID:???0220nobodyさん
2009/05/30(土) 23:19:11ID:???まずblogを触って、自分好みにカスタマイズするところから始めたほうがいい。
一から作るのは大変だし、それで文章書く気力失っちゃうのはもったいない。
0221nobodyさん
2009/05/31(日) 02:06:11ID:ONuTHT0eあくまでトップページの端の短いコラム的な位置づけでやりたいんですが
ブログの日記の部分だけをHTMLの一部に組み込めないですかね
弄ろうとはしてみたんですがどうしても要らないところが残るし、
そのページ全体がブログになってしまいます
PHPをもう少し勉強してみて無理そうだったらHTMLで手動でするしかないですかね
0222nobodyさん
2009/05/31(日) 02:37:18ID:V0G3lcFVhttp://www.yumemaboroshi.net/cgi4682/
この手のよくある無料配布モノを弄る所から始める、じゃ駄目なの?
0223nobodyさん
2009/05/31(日) 03:29:49ID:ONuTHT0eそれ落とせなかったので似たようなの探してみました
今まではHTMLでどうにかしようとしかしていなかったので、
PHPのブログ系のものを弄ってみたいと思います
とりあえずPHPとApacheはインストール、設定できました
http://www.rocomotion.jp/php/p_diary_r.phpこれを落してみたのですが、
PHPファイルが関連付けられていないためPHPファイルが弄れません
PHPが正しくインストールできていないのでしょうか?
0224nobodyさん
2009/05/31(日) 04:06:56ID:???・適当なブログを(トップ以外に)入れる
・トップのブログ読み込み部分に<?php include_once('blog_reader.php'); ?>
とか書いて
・そこで直接DB覗いて新しいのを拾ってくる
とかかな。一からブログ作るなんて面倒すぎ
0225nobodyさん
2009/05/31(日) 04:29:37ID:V0G3lcFV拡張子が関連づけられてないだけなんじゃないかな。
環境は整っているのなら。
好みや扱う規模によって人それぞれだろうけど、
自分はこのPHPエディタ スタンドアローン版(無料)ていうので十分事足りてるよ
http://phpspot.net/php/pg%82o%82g%82o%83G%83f%83B%83%5E_standalone.html
0226nobodyさん
2009/05/31(日) 07:46:48ID:???GET変数やDB由来のid用変数をいままでctype_digit()でチェック後
念のため(int)で整数化していたのですが10桁を超えると整数の範囲制限に
引っかかるのでこの方法が使えなくなってしまいました
文字列を数字のみにする関数というのはないでしょうか
0227nobodyさん
2009/05/31(日) 08:02:24ID:7JVzR7n2intvalじゃだめかぁ
-2147483648 〜 2147483647
10桁ってどんなサイトmaking doing
0228nobodyさん
2009/05/31(日) 09:22:48ID:???専用の関数はなさげですか
正規表現は精通してないので漏れがあったらいやだなと思ってたんですが
ctype_digit()を通してからなのでそもそも変換は必要ないともいえるので
preg_replaceで代用してみようと思います。
0229nobodyさん
2009/05/31(日) 12:43:25ID:???プログレスバーを作ろうとob_flushを使うとfgetcsvで読み込んだデータが化けるんですけど
そんなもんなの?
大量のCSVを読み込ませる時って放置プレーにしてる?
0230nobodyさん
2009/05/31(日) 17:51:54ID:???というか加工の必要が特に無いならDB側で直接取り込んで、phpからはレコード数見ながらバー出せばいい話じゃないのかい
0231nobodyさん
2009/05/31(日) 18:39:34ID:???例えば10行のCSVがあって、foreachかforで10回、回して一行づつSQLを発行して登録する場合、
(取り込むデータを確認して、必要に応じて変化させる必要があるため、LOAD DATA INFILEは使っていません)
4行目までは正常なSQLを発行するのに、5行目からは空白になったり
explodeを使って取り込んだ行を配列に分解するんだけど、正常に分解してくれなかったり
その他の行はちゃんと日本語になってるのに、特定の行だけ意味不明な数字の羅列になったり・・・。
ちゃんと正常に最後まで行くときもあったり、かと思うと次同じ事をやったら今度は化けたりで安定しません。
ob_flushを外すと何回やっても正常に登録されるのでob_flushが原因ではないかと思った次第です。
0232nobodyさん
2009/05/31(日) 18:56:27ID:???0233nobodyさん
2009/05/31(日) 20:57:25ID:???実際のソースです。
function setCSVdata($file="") {
setlocale(LC_ALL, 'ja_JP');
$csvrows = count(file($file));
$handle = fopen($file, "r");
echo str_pad(" ",4096)."<br />\n";
ob_end_flush();
ob_start('mb_output_handler');
ob_flush();
flush();
for ($i=0; $i<=$csvrows; $i++) {
$csv = trim(fgets($handle));
$obj = explode(':', $csv);
〜〜 SQLを発行 〜〜
※この時点で化けます
echo "<script type="text/javascript">setProgressBar(".$i.",".$csvrows.")</script>";
ob_flush();
flush();
}
fclose($handle);
}
0234223(221,217)
2009/05/31(日) 21:09:21ID:ONuTHT0e設定弄って設置するだけで丸一日かかった…orz
設置したのはこれです↓
http://www.rocomotion.jp/cgi/roco_diary_r.php
で、>>224のようにしたいのですが、設置したものがcgiファイルなんです
しかも言語はPerl?全くPHP関係ないじゃんってなって困っています
できれば一日がかりで設置したのでこのまま先へ行きたいのですが、
今入れたブログに文章を書く→その文章から最新2件をトップページのHTMLの一部分に展開して表示
が理想ですが、無理そうなので
トップページに文章を書く→今入れたブログへコピペ
で妥協するしかないっぽいです
0235nobodyさん
2009/05/31(日) 21:23:23ID:???妥協の連続で理想に近づけていけば良いんじゃない
0236nobodyさん
2009/05/31(日) 21:24:50ID:???そして元がKENTのCGIらしいがこれじゃ苦労するしかないぞ
0237234
2009/05/31(日) 21:44:08ID:ONuTHT0eありがとうございます
>>236
設置すらままならず、ググってそれっぽいの一通り設置しまくって
唯一上手く設置出来たのがこれです…orz
その後の調べでJavaScriptでHTMLへcgiのテキストデータを埋め込めそうな気配です
ただ素人目で見ても日記の展開が厄介そうなので別のブログも検討してます
おすすめありますか?
0238nobodyさん
2009/06/01(月) 02:25:22ID:???0239nobodyさん
2009/06/01(月) 08:45:06ID:???ob_flushは色々気をつけたほうがいい。ググったら速攻で出てきたページを貼っておく。
ttp://d.hatena.ne.jp/shimooka/20070426/1177571621
0240nobodyさん
2009/06/01(月) 11:48:51ID:/vKaesuUphpには、64bit整数が無いみたいですが、みなさん、どのようにして32bit以上の整数を扱ってますか?
ちなみに、現在、MySQLのbigint型の値をどのようにしてphp側に受け取ろうか、という点で悩んでます。
0241nobodyさん
2009/06/01(月) 12:48:49ID:FEmWlQvb32bit以上の整数を使ってどんなサイト作ってるの?
オレ初心者だけど文字列として扱うけど
0242nobodyさん
2009/06/01(月) 12:57:19ID:???0243nobodyさん
2009/06/01(月) 13:38:00ID:???この場合、登録しようとしている配列にはPrimary Keyの設定が必要になってくるのでしょうか?
教えて貰えれば幸いです。
NULLで突っ込めば、データベース側がINSERTと同じように自動的に振ってくれるのかな?
0244nobodyさん
2009/06/01(月) 13:39:51ID:???0245nobodyさん
2009/06/01(月) 14:02:04ID:/vKaesuU32bit整数は単純にDBのサロゲートキーとして使用しています。
なので、php側ではあまり意味を持たないのですが、主キーなので必須なのです。
ちなみに、データは延々と増え続けるので、32bit整数だとすぐオーバーフローになってしまいます。
なので64bit整数を採用しているわけです。
単純にphp側で64bit整数を用意して受け取りたいだけなんですけどね。
それが駄目らしいです<php
0246nobodyさん
2009/06/01(月) 14:09:23ID:???0247nobodyさん
2009/06/01(月) 14:17:59ID:/vKaesuU毎日数千〜数万件のレコードが作成されるので、数年運用すると32bit以上はいくと思います
0248nobodyさん
2009/06/01(月) 14:27:17ID:???ob_start('mb_output_handler');
を
単に
ob_start();
にしたら問題なく登録されました。
日本語が含まれてるのでmb_output_handlerを入れたのですが、これが駄目だったみたいですね。
CSVがShift-JISでDBがUTF-8だったので変換がうまくいかなかったのでしょうか?
0249nobodyさん
2009/06/01(月) 14:27:46ID:???まぁPHPでもBIGINTが使いたいなら>>242も言ってるようにBCMathでいいじゃない
0251nobodyさん
2009/06/01(月) 15:41:44ID:???挙動がおかしくなってしまいます
form.html→[POST]→confirm.html→[SESSION]→complete.html
↓ ↑
[SESSION] [POST]
↓ ↑
rewrite.html
基本的に上のような形で作っていて
基本的な動作には問題がないのですが、
ちょっとイレギュラーな動作として、confirm.htmlで確認した後、complete.htmlへのリンクを押さずに、
(confirm.htmlでは「送信する」と称したcomplete.htmlへのリンクがあります)
アドレス直打ちでform.htmlへ戻り、
form.htmlで再度記入して、記入漏れがあった場合
rewrite.htmlでは記入がある問題のない項目は$_SESSIONで自動的に表示されるのですが、
その$_SESSIONが古いままなのです。
分かりにくいですね・・・すみません。例えばですが、初回の訪問で
form.htmlで名前に「太郎」と記入、メールは未記入、確認submitボタン→
confirm.htmlでは$SESSIONに$POSTを代入、その次にメールが空欄なので自動判定してrewrite.htmlへ飛ばす
rewrite.htmlでは名前の項目に$SESSIONを受け取るので「太郎」と表記、そしてメール項目は空欄で、
メール項目の上にメールが未記入ですと表記する。
メールを「123@abc.com」とrewrite.html画面で記入して確認submitボタン→
confirm.htmlでは今度は未記入項目がないので、「問題なければ送信(complete.htmlへのリンク)」をechoで表示、
そして本来ならここで、送信をクリックしてcomplete.htmlへ行くところを・・・・・
クリックせずに、form.htmlと直打ちして最初のフォーム画面に戻る、
そこで今度は名前の項目には「花子」と入れ、メールを空欄のまま確認submitボタン→
confirm.htmlがメールが空欄なので自動判定してrewrite.htmlへ飛ばす
すると何故か、名前欄、メール欄ともに先ほどの「太郎」と「123@abc.com」が表示されてしまうのです。
本来なら、ここでは名前欄に「花子」、メール欄は空欄でメールが未記入です警告がでるはずだと思うのですが・・・。
0252続き
2009/06/01(月) 15:44:08ID:???それでsessionを破棄していないせいかと思い、form.htmlの最初に
session_start();
$_SESSION=array();
session_destroy();
を付け加えてやったのですが、挙動はかわりません。
クッキーやキャッシュのせいかと思って
if(isset($_COOKIE[session_name()])){
setcookie(session_name(), '', time()-42000, '/');}
や
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
もform.html追加したのですが、相変わらずです・・・・。
原因はどこだと思われますか?
0253237
2009/06/01(月) 16:53:29ID:ff8Q7K7b通りで設置できないわけだ
>>238のWordpressを導入してみたいのでxrea.comに移ります
0254nobodyさん
2009/06/01(月) 16:58:20ID:kn+vnO2Farr=("青","青","青","青","赤","赤")
上記の配列で、countでは、要素数は確認できますが、
青の要素数を数えるには」どうしたらよろしいでしょうか?
0255nobodyさん
2009/06/01(月) 17:05:31ID:???フォームのデザインパターンがぐたぐた。
もっと参考書見た方がいいよ。
文章わかりずらいす。
ちゃんと読んでないけど、セッションの代入で失敗してるでしょ。
セッションに値が入ってるか一行ずつ確認してみ。
0258251
2009/06/01(月) 17:27:19ID:???レスありがとうございます。
わかりずらくてすみません。
あれからずっと検証してたのですが、
どうやら未入力があった場合にheader(location)で
再入力ページに飛ばしてたのですが、
手動でリンククリック移動にすれば問題なく動作しましたので
header(location)で飛ばす時にsessionが切れてしまうっぽい感じです。
sessionの保存先など再検証してみます。
セッションはheader(location)でページ移動さえしなければ
全てのページで問題なく想定したものがechoで表示できましたので、
代入は問題ないかと思います。
ありがとうございます。
0259nobodyさん
2009/06/01(月) 18:01:12ID:???っつかSID発行されてる?
0260nobodyさん
2009/06/01(月) 18:15:52ID:???関係ありません。
session_Startちゃんとしてますか?
0261251
2009/06/01(月) 18:44:40ID:???>>260
ありがとうございます。
SIDはについてはまだ検証してませんが
(というかSIDをまだよく理解してないので、勉強します。すみません。)
初心者的な見解ですが、どうやらこれが原因っぽい所にいきつきました。
やはり自分の単純ミスだと思います。
ご指摘の通りheader自体が悪さしてるわけでもないですよね、誤解をあたえるような
記述になってしまいましてすみませんでした。
どうやら自分のheaderの書き方に問題があるんだと思います。
header("location: ******")の****のところを
絶対パスを記入していたのですが(http://www.abc.com/rewrite.htmlのように)
手打ちでform.htmlに戻る時に、アドレスがhtttp://abc.com/form.htmlのようにwwwが抜けていたので
サーバアドレスが変わったと認識されてsessionが切れていたのだでしょうか・・・?
これを相対パスで記述した所、全ての動作が想定したものになりました。
お騒がせしてすみませんでした。ありがとうございました。
ちなみに・・・header("location:")は絶対パスで書くべき、いや相対パスでいい、いやどちらでもなく
完全な形のURL(?)で書かないといけない、と色々情報を見つけたのですが
正式なlocationヘッダの記述の仕方とかあるのでしょうか?
というか、書き方もめちゃくちゃで知識もグダグダだと思うので
色々長文書いてしまいすみません。色々と勉強して出直してきます。失礼しました。
0262237
2009/06/01(月) 23:30:31ID:ff8Q7K7bトップページのHTML内の一部分にWordpressから最新記事2件を全文表示で
載せたいのですが、Wordpressの最新記事の呼び出し方が分かりません
>>224の<?php include_once('blog_reader.php'); ?>でも()内が分からず、
他、調べて出てきたものを試してみてもできませんでした
教えてください、お願いします
0263nobodyさん
2009/06/01(月) 23:44:41ID:???http://pc11.2ch.net/test/read.cgi/blog/1237205315/
0265262
2009/06/02(火) 00:04:45ID:nshP4Iwz本当にど素人ですみません
5日前までHTMLを拡張子だとしか認識してなかったレベルです
3日前までPHPは新書の出版社名だと思ってました
>>263のスレに行ってきます
お世話になりました、また移動しますノシ
0266nobodyさん
2009/06/02(火) 05:39:38ID:td4jeRp0現在、php+MySQLで携帯サイト(3キャリア対応)を作成しているのですが
文字コードの問題で文字化け等で困っています。
MySQLは文字コードがutf-8です。
始めは、utf-8でコーディングしていたのですが、携帯サイトはShift-JISの方が良いとの事で
コーディング自体をShift-JISに変えてみたのですが、今はDBからの値が文字化けしてしまっています。
いまは文字コードがバラバラになってしまい統一出来ていない状態です。
・出力部分だけをShift-JISに変換して表示させた方がいいのでしょうか?
(例■$html = mb_convert_encoding($html, "SJIS", "UTF-8");
・それと「SJIS-win」などは使った方がいいのでしょうか?
絵文字などは
mb_substitute_character('none');//存在しない文字コードの処理を設定。
$Pictograph = mb_convert_encoding($Pictograph, 'Shift_JIS', 'Shift_JIS');//絵文字削除
上記のような事をして削除しておりました。
しかし、正常に表示(3キャリア)されるのなら絵文字表示してもいいかなと思っている状態です。
長文申し訳ありません。
0267nobodyさん
2009/06/02(火) 08:14:19ID:???以上。
0268nobodyさん
2009/06/02(火) 08:16:20ID:???PHPを出版社だと思ってたなんて・・・ま、オレもそうだったけどw
Wordpressって使ったことないんだけど、RSS出力とかないのかい?
>266
文字コードが違うと文字化けするのは当たり前だろう・・・
HTMLがSJISならDBからの出力もSJISにしないと。
出力するところだけmb_convert_encodingで変換させるといいよ。
DBに登録するときは反対にSJISからUTF-8に変換しないとDBのほうが化けるからね。
0269265
2009/06/02(火) 11:16:28ID:QiIiWnUHあります
でも俺の技術力じゃどうにもできません
今は、
WordPressループを挿入?トップページを静的ページに?
テーマ変更?ページテンプレート使用?
どれがいいか向こうで聞いてます
やっぱり本当は自分でデザインしたHTML内部に埋め込みたいなあ
0270nobodyさん
2009/06/02(火) 11:34:43ID:???ググればなんぼでもRSSに関する事が出てくるから調べてみるといいよ。
PEARなんか使えば簡単に使えるから。
PHP5なら最初からRSS関係の関数はあるんでもっと簡単だよ。
配列にRSSで読み込んだ記事が入るんで、普通にそれをprintやechoで出力するだけだし。
0271nobodyさん
2009/06/02(火) 12:00:45ID:???やりたいことのレベルに達するのはかなり苦労しそう。
0272nobodyさん
2009/06/02(火) 14:49:38ID:???メール専用DBか?
0273nobodyさん
2009/06/02(火) 14:53:47ID:???普通はEUCだよな
0275nobodyさん
2009/06/02(火) 18:45:59ID:???0277nobodyさん
2009/06/02(火) 19:09:02ID:???最近はHTMLもUTF-8にしてる。
携帯のサイトはSJISだけどね。
0278nobodyさん
2009/06/02(火) 23:08:51ID:yP1TTuLt基本オープンソースのアプリケーションてMVCはっきりしていないですよねって
実際プロの人っていうか、金もらってWebアプリ作られている方は
どんな感じでコーディングなさっているのかなぁって思ったんです。
0279nobodyさん
2009/06/02(火) 23:17:04ID:???0280nobodyさん
2009/06/02(火) 23:26:34ID:???>278
プログラミングでは、上のほうのレベルでは金をもらっているかもらっていないかはあまり関係ない。
Linux開発者は基本的に金をもらっていないわけだが、彼らの技術力には疑問の余地はないだろ。
んで、実際だが。
PHP開発の大半はフレームワークに移行しているらしい(ソースは『PHPプロ!』)ので、恐らく大半がMVC。
うちは自社サービスだが、フリーダムすぎて恐らく参考にならない。
同じサービスのはずなのにエンドユーザ側と管理側でフレームワークが違う、とかあったからな。誰か言えよと。
ちなみにWordPressはプラグインなどの拡張性を考えた結果の設計だろう。特殊な例だと思う。
0281nobodyさん
2009/06/02(火) 23:34:03ID:yP1TTuLtたしかにプラグイン関連を考えると特殊ですね
お聞きしたいのですがMVCのvはどんな感じでコーディングなさってます?
自分はZF,Smartyです。
■ このスレッドは過去ログ倉庫に格納されています