トップページphp
1001コメント296KB

くだすれ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/
0136nobodyさん2009/05/07(木) 22:42:34ID:???
>>135
function __call($name, $args) {
call_user_func_array(array($this, $name), $args);
}

引数の数ぐらいは確認した方がいいと思う

後、適当に作ったサンプル
<?php
class Test {
public function __call($name, $args) {
call_user_func_array(array($this, $name . $name), $args);
}

private function hogehoge($p1, $p2) {
printf("call hogehoge : p1 = %s, p2 = %s ¥n", $p1, $p2);
}

private function fugafuga($p1, $p2, $p3) {
printf("call fugafuga : p1 = %s, p2 = %s, p3 = %s¥n", $p1, $p2, $p3);
}
}

$obj = new Test();
$obj->hoge('aa', 'bb');
$obj->fuga('123', '456', '789');
01371352009/05/09(土) 01:45:15ID:???
>>136
トンクスです。あくまで可変長でなければ意味がないため、
今回は暫定でevalを使うことにしました。
$expr = '$return = $exec->invoke( $this->_logic, $dbh ';
 foreach ( $args AS $key => $value) {
  $expr .= ', $args[' . $key . ']';
 }
$expr .= ' );';
eval( $expr );
01381352009/05/09(土) 02:20:39ID:???
連続スマソです。

>>136
求めているものそのものでした。
勘違いしてスルーしてしまうとこですた。
ありがとうございます。

以下経緯
・何だ、オーバーロードか。
・PHPってたしかオーバーロードなかったんじゃネ?
・読み返してみよう。
・メソッド名違うじゃネーか…OTL
・デバッグしてみる
・ktkr
0139nobodyさん2009/05/09(土) 02:22:22ID:???
オーバーロード・・・?
0140nobodyさん2009/05/12(火) 15:55:01ID:???
<?php
$data=array('山田','掛谷','日尾','本田');
$data[0]='よしひろ';
$data[]='薄井';
print_r($data);
?>
0141nobodyさん2009/05/16(土) 02:34:32ID:???
>>139

public hoge($a, $b){
}

public hoge($a, $b, $c){
}

とメソッド名が同一で引数のみが違うものが定義できるのがオーバーロード。

PHPのoverload関数とは違うことを言っているのだとおもいます。
0142nobodyさん2009/05/16(土) 15:25:22ID:9VwjgWwZ
http://beebee2see.appspot.com/i/agpiZWViZWUyc2VlchQLEgxJbWFnZUFuZFRleHQYs-8EDA.jpg
0143nobodyさん2009/05/26(火) 00:25:59ID:???
そもそもPHPを始める前の質問で、恐縮なんですが、
先日、linuxの勉強をしたく、また、脱xamppの為に
自宅のwindows上にvmware player+centOS(CUI)にてローカル環境を作りました。
が、今まで、xamppでしか勉強した事がなかったので、どう言う風にコーディングしていったら良いか、
さっぱりなのですが、皆さんの中で似たような環境でPHPをお書きの方は、どう言う方法で
作ってらっしゃるんでしょうか?よろしければ教えていただけないでしょうか?
・windows上+エディタにてコーディング→SSH,などで放り込んで、動作確認
・Sambaで共有かけて、windows上のエディタから直接centOS内のファイルを直接作成して、そのまま動作確認
・centOS(GUI)+centOS上のエディタにて直接開発
など、皆さんの開発方法、または、お勧めの方法などありましたら
お手数かと存じますが、よろしくお願いいたします。
0144nobodyさん2009/05/26(火) 00:32:09ID:???
PHPの勉強をしたいなら、xamppがおすすめ
0145nobodyさん2009/05/26(火) 01:14:42ID:???
>>143
まず率直に言わせてもらうと「そのくらい自分で調べて決められないうちはlinux習得なんて夢のまた夢」です。

ちなみに私はwinscpでエディタを自分好みのものに紐付けてやってます。sambaもいいですね。
0146nobodyさん2009/05/26(火) 01:44:53ID:???
sambaはパーミッションいじるのが面倒くさい
0147nobodyさん2009/05/27(水) 02:22:00ID:???
昨日に引き続き長文申し訳ないです。
自分の今の環境かき忘れてました。
もともとperlでがちゃがちゃやっているのでEclipseを使っており。
PHPもそのままプラグインつっこんで、Eclips+winscpにて行っております。
しかし、PHPの場合はそれ以上に何か、効率の良い組み合わせないかなぁ
と、そのまんまでいいかさっぱりになったのでだ質問させていただいたしだいでした。

>>144
ありがとうございます。
元々XAMPPはつかっておりましたが、cakephpを触り始めるにあたり、
これを気にlinux系に走りたかったのです。
XAMPPさんにはお世話になりました。

>>145
本当にそうですね・・・。
自分の検索能力の低さに泣きました。
二日ばかり日本語サイトと英語サイトをふらりふらりとしましたが、
開発環境の作り方は書いてあっても、開発アプローチがあまり見つけられなかったもので。
linuxとりあえず現在は付属の--helpやらマニュアルやらを読んで特につまらずいけております。
viが楽しすぎる。でもこれからが、検索能力の低い自分には本当の地獄ですよ。がんばります。
それにしてもwinscp良いですよね…。個人的にはsambaでやるよりも好きです。
ご忠告、情報ありがとうございました!

>>146
sambaはたしかにパーミッションをわざわざ設定するのがめんどいですよね…。
となると、やはり、それ以外の方法になりますねぇ・・・。

現在回りにプログラマもおらず困っておりました。大変助かりました。
皆さんありがとうございまいした。
それでは、失礼いたします。
0148名無し募集中。。。2009/05/27(水) 03:00:59ID:zm02WRTp
xampp for linuxってのがあってだな
0149nobodyさん2009/05/27(水) 23:12:42ID:???
>>147
いちどに二つ変えるのはダメだよ
cakeを学ぶなら、新しい要素はcakeだけにして、
xamppはいままでどおり使わなきゃ。
0150nobodyさん2009/05/28(木) 06:51:29ID:q+a4ZRqn
スレ違いならすみません。
みなさんはブログを1から作ったことがありますか?
僕は上司に頼まれたのですが、1から作ったことがないので
ためらってしまいました。(1人で)
みなさんは1人でブログを1ヶ月で作れといわれたらつくれますか?
できない僕がおかしいのでしょうか。
後できればphp+mysqlでブログの作り方が載っているサイトとかありませんで
しょうか。
googleで検索しているんですが、いいサイトがありません。
こちらもよろしくお願いします。
0151nobodyさん2009/05/28(木) 08:36:11ID:???
どの程度のレベルを求められてる話なのか知らんが、ド素人でも無い限り
一ヶ月もあれば簡単なblogなんて楽勝だろうよ。BBSの延長なんだし。
むしろそれくらい自分で作れないとこの先やっていけんよ。仕事だろ?
0152nobodyさん2009/05/28(木) 12:04:53ID:???
ブログを作るって、ブログシステムを作るって事なの?
それともMovableTypeなんかを使ってブログを作る事?

とりあえずオレは会社の業務命令で自治体向けのSNSシステムを一人で一ヶ月かからずに作った事があるから、出来るんじゃね?
0153nobodyさん2009/05/28(木) 17:32:55ID:???
phpメールフォームを設置しようと思い"sendmail.php"というものをDLしました。
フォームの設置ができ、試しにフォームからメールを送信したのですが指定先に届きませんでした。。

ググったら"sendmail path"というものの設定をしなきゃいけないと出て
書いてあるとおりに設定したのですが、php.infoを見ると"sendmail path"の所が
"no value"となったまま変わらないんです。。
Apacheをリスタートしても変わりませんでした。

教えて頂きたいです。

[php.ini]
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
sendmail_from =xxx@example.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =/usr/sbin/sendmail -t -i

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
0154nobodyさん2009/05/28(木) 17:39:03ID:???
セミコロン外す必要があるよ
php.iniの編集したことなかったん?
0155nobodyさん2009/05/28(木) 18:04:16ID:???
>>154
ありがとうございます!
やってみます。

はい、編集初めてなんす。。
趣味の範囲でなんですけど俺には難しいっす。
0156nobodyさん2009/05/28(木) 20:36:59ID:pePXJ68I
>>151
仕事です。
>>152
MovableTypeは使いません。
ブログシステムを作るということです。

がんばってみます。
すいません。
泣き言を言って。でも1人で作るというのが怖い。
もし納期に間に合わなかったらとか。
どこかブログの作り方を説明しているサイトはないかな?
本とか。
0157nobodyさん2009/05/28(木) 20:42:18ID:???
>>156
blogの作り方そのものを書いてるサイトはあまり無さそう。
フリーで公開されてるものは多々あるから、それの中身見たほうがいいと思う。
本はそれなりに大きい本屋行けば簡単に見つかると思うが。
0158nobodyさん2009/05/28(木) 20:45:10ID:???
ん、まて。納期って検証込みで一ヶ月か?
本来無茶な期間ではないが、お前さんのスペック(検索力込み)の低さでは無茶かも。
職場の先輩とか相談できる相手いないのかい?
0159nobodyさん2009/05/28(木) 21:02:42ID:???
>>152
おまえのアレ、OpenPNEのソースパクってきて、
見た目を変えただけやん。
0160nobodyさん2009/05/28(木) 21:04:15ID:???
ブログって1から作るのメンドクサイだろ。
ページングやらカレンダーとのリンク、画像のアップロードやらは必須だろうから、素人が1ヶ月では無理だよ。
セッション管理とかからんだら限りなく無理。
0161nobodyさん2009/05/28(木) 21:06:48ID:???
仕様書が無いと仕事ができないくせに、

「プログラマーが一番偉い仕事なんです」

とかってふんぞりかえるのって、なんなの?
0162nobodyさん2009/05/28(木) 21:12:24ID:???
Webアプリでガチガチの仕様書なんて要らないよ。
Amazonやら楽天なんかのシステム規模ならともかく。
要件聞いたらプロトタイプさくっと作って、デモしながら基本設計固めたほうが早い。
0163nobodyさん2009/05/28(木) 22:56:27ID:???
file_get_contentsを使って.txtファイルを読み込んだら
ファイルの中身が改行されずに表示されたんですが
どうすれば改行が反映されるのでしょうか?
0164nobodyさん2009/05/28(木) 22:58:26ID:???
content-typeをtext/plainにするか、改行をbrタグに変換
0165nobodyさん2009/05/28(木) 23:01:28ID:???
>>157
webサイトがないんですよ。
ECサイトは1ヶ月で作ったことがあるんですが、
ブログとなると、カレンダーや画像やRSSやいろいろ
絡んできて。
本でいいのありますか?この間ジュンク堂行ってきたんですが、
カスタマイズ本しかなかった。


>>158
納期って検証込みで一ヶ月です。
ECのほうはそういう本があって無事作れたんですが、
ブログは参考になる本がなくて、webも。
先輩も忙しくて自分で作ってといわれると胃がキリキリ
いたんで。仕様書も自分で作って。
アメーバブログ並を求められるのですが。
これみなさん作れますか?

>>160
めんどくさいというかわからない部分が聞けない
>>162
客に説明しないといけないので、仕様書必須です。
後ブログサイトのデザインもします。
0166nobodyさん2009/05/28(木) 23:10:55ID:???
>>165
ameba級を仕様書+設計+制作+検証込みで一ヶ月か。おまけにサイトデザイン?
そりゃ無理とは言わんが相当無茶なスケジュールだ。先輩が忙しくて構ってられんのも頷ける。
明らかにプロジェクト組んでる奴(上司)がおかしい。

でもECよりは楽だと思うんだけどなぁ。とりあえず考える前に作ってみたら?
0167nobodyさん2009/05/28(木) 23:12:53ID:???
フレームワーク使えるなら一週間でプロトは出来るでしょ
そこからが長いけどw
0168nobodyさん2009/05/28(木) 23:13:05ID:???
なんでwordpressのカスタマイズではダメなのか、
理由は聞いたのか?
0169nobodyさん2009/05/28(木) 23:13:48ID:???
フレームワークってのは
プロトタイプを作るためのものなの?
0170nobodyさん2009/05/28(木) 23:14:09ID:???
ameba並って管理側のシステムも含めてるのかな。だったら無謀。
0171nobodyさん2009/05/28(木) 23:15:17ID:???
>>169 たぶんプロトタイプの解釈が異なってるw
0172nobodyさん2009/05/28(木) 23:21:25ID:???
>>169
お前は何を言っているんだ
0173nobodyさん2009/05/28(木) 23:33:16ID:???
>>164
レスサンクス、だめでした。エディターはEMエディター使っているんですが
改行設定が悪いのかもしれません。どこで設定できるのかわかりませんが
もうちっと調べて見ます。

>>165
ブログ作成なら「作って覚えるPHP+MySQLアプリケーション―
ブログ、ショッピングサイトからマッシュアップまで 」とか言うのがありますが
アマゾンのレビューは良くないですね。
0174nobodyさん2009/05/28(木) 23:47:39ID:???
アメーバブログ級か・・・
見る側のみなら大丈夫かもしれないけど、管理側までとなると一ヶ月では難しいんじゃまいか。
仕事と自分の体、どっちが大事かよく考えて受けた方がいいんじゃない?
01751732009/05/28(木) 23:57:19ID:???
自己解決しますた
01761532009/05/29(金) 03:27:15ID:3dHCHvMm
失礼します。

先ほどsendmailについて質問をさせてもらったものですが、やはり出来ませんでした…
パスを/usr/sbin/sendmail -t -iにするには、何かインストールする必要があるんでしょうか?
Xmailというものが引っかかりDLしていろいろやってみましたがダメでした。
0177nobodyさん2009/05/29(金) 06:51:54ID:???
sendmailのpathが合って無いんじゃない?
which sendmailで探してみ
0178nobodyさん2009/05/29(金) 08:17:22ID:???
localhostが名前解決できてない可能性もある
0179nobodyさん2009/05/29(金) 08:48:02ID:???
つかログくらい見ろって話だ
0180nobodyさん2009/05/29(金) 09:11:52ID:4+pBIE+V
>>166
ECは大角本があって非常に助かりました。
ブログはいい本やサイトがないですが、がんばります。
簡単なのは作れたんですが、カレンダーや管理画面等
が難しく。
>>167
フレームワークはできません。手続き型です。
>>168
自社で開発して販売にもっていこうとしているみたいです。
>>170
そうですか。どうしよう。
>>174
胃が痛いし、夜も眠れません。
0181nobodyさん2009/05/29(金) 09:26:37ID:???
>>180
出来上がったら売るのか…
0182nobodyさん2009/05/29(金) 09:45:58ID:???
正気か・・・
0183nobodyさん2009/05/29(金) 10:03:05ID:???
>>180
カレンダーとか認証とか、pearにいくらでもライブラリすっ転がってるでしょ。
本に書いてある通りにしか書けないタイプだとしたらこの先あまりに辛過ぎる。
つーか間に合わなくてもいいからフレームワーク使っとけ。後で誰も手伝えなくなる。
0184nobodyさん2009/05/29(金) 10:09:19ID:???
>>180
とりあえず納期の事で胃を痛めてても仕方ないから2chなんて見てないで
作業進めちゃったほうがいいよ。販売云々は今は考えるな。営業の仕事だし。
一ヶ月勉強期間もらったと思えばいいんじゃない?
0185nobodyさん2009/05/29(金) 12:06:30ID:b8Gghdtq
下のような感じでページからShowRes()を呼んでデータの取得をしようとしてるんですが
どうしても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:???
そりゃShowRes()の中で$db_host, $db_username, $db_passwordはnullなのでは?
0187nobodyさん2009/05/29(金) 12:36:17ID:???
>>186
う、もろそうでした
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:???
Aは何秒表示するの?
0192nobodyさん2009/05/29(金) 16:46:35ID:???
秒数ではなく、AAAAA画面内でボタンのクリックがあったらBBBBBへ移行したいです。
0193nobodyさん2009/05/29(金) 16:48:26ID:???
Bのページへのリンクを張っておけばいいだけの話ではなくて?
それとも画面遷移なしで変化させたいと?
0194nobodyさん2009/05/29(金) 16:53:03ID:???
AAAAA画面内で、ダウンロード用データの生成を行っているのですが、結構大きなデータで、生成に時間がかかります。
そこで、生成中はAAAAA画面で「生成中です。しばらくお待ちください」のメッセージを表示して、生成が完了したら、
画面遷移なく、「生成中〜」をクリアして、ダウンロード用のボタンを表示したいのです。
0195nobodyさん2009/05/29(金) 16:55:23ID:???
最初にそう言えよ
0196nobodyさん2009/05/29(金) 16:57:46ID:???
超初心者ですから。
やさしくお願いしますです。
0197nobodyさん2009/05/29(金) 17:03:32ID:???
<div id="hoge">生成中です。しばらくお待ちください</div>
処理が終わったらJavascriptで
document.getElementById("hoge").innerHTML = "<input type='button' 〜"
0198nobodyさん2009/05/29(金) 17:54:47ID:???
あざっす!
解決しました。
0199nobodyさん2009/05/29(金) 19:25:42ID:05XbjRtm
PHPでの簡単な入力フォームに挑戦しています。

今の所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:???
>>181>>182
正気みたいです。毎日社長が進歩確認しにきます。
>>183
フレームワーク聞いてみました。
だめだそうです。手続き型で書いてくれとのこと。
うちの会社だれもフレームワーク使えないからが理由らしいです。
本当はZend Frameworkを使いたかったのですが。
>>184
はい。がんばります。
0201nobodyさん2009/05/29(金) 19:50:41ID:???
なんだネタか…
0202nobodyさん2009/05/29(金) 21:15:52ID:???
a.phpでSESSION変数に何か書きこんで、b.phpでその値を参照&破棄するというのは?
02031992009/05/29(金) 21:36:35ID:???
>>202
レスどうもです。
なるほど、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ですか?
02041992009/05/29(金) 22:31:49ID:???
>>202
追記です。おかげさまで解決しました。
最初issetで判定してたのですが、うまくいきませんでしたが
!emptyでSESSIONの空判定をおこなったところ、
SESSIONデータの有無で表示の分岐ができました。
ありがとうございました。
0205nobodyさん2009/05/29(金) 23:26:09ID:???
>>180
できあがったものを売るとして、
wordpressに勝てると思った理由は聞いたのか?
0206nobodyさん2009/05/30(土) 01:00:52ID:???
そもそもWordpressベースのカスタマイズでも自社パッケージにできるのでは
GPLだからソースは出さなきゃならんけど
0207nobodyさん2009/05/30(土) 01:07:23ID:???
ソース出したくない場合、
MySQLみたいにデュアルライセンスの
ブログってないの?
0208nobodyさん2009/05/30(土) 02:05:27ID:???
ライセンスが緩いのは有名どころではApache Rollerくらいじゃね
Javaだけど
0209nobodyさん2009/05/30(土) 02:30:08ID:???
>>180
PHPで出来る部分はさておいたとして、
WYSIWYGとか、どうするんですか。

アメーバとか見たこと無いけど、wordpressとかその他ブログとかCMSに必須ってぐらい
くっついてるけど。
0210nobodyさん2009/05/30(土) 03:22:31ID:???
WYSIWYGこそTinyMCEとかでいいのでは
0211nobodyさん2009/05/30(土) 03:32:05ID:???
LGPLか。
GPLと名のつくものは何となく怪しい雰囲気が満載だな。


0212nobodyさん2009/05/30(土) 03:39:16ID:???
GPLがなんなのかすら理解してないなら使うなよ
0213nobodyさん2009/05/30(土) 03:53:23ID:???
おう、なんなのか理解できないから使わないぜ。
別のライセンスを有するものにGPLライセンスのライブラリを組み込んだらGPLになるのかとか、
さっぱりわからん。
mysqlのFLOSSもさっぱりだったよ。
0214nobodyさん2009/05/30(土) 06:01:27ID:QHjSHhWO
>>205
もうね。だめだよ。
wordpress使うより自社で作ったほうがいいとのこと。
よくわけがわからん。
今日も泊りだな。なにやっているんだが。
>>209
WYSIWYGなんか考えてません。
逃げることを考えています。
0215nobodyさん2009/05/30(土) 12:12:30ID:???
tinyMCE、すごくいいんだが日本語環境は基本、考慮されてないので時々送信内容が消えたりする。
バージョンアップされてさらにバグるようになったし、ダメぽorz
なにかいい代用WYSIWYG、ないもんかのう・・・
0216nobodyさん2009/05/30(土) 12:24:50ID:???
今時日本語だから駄目なんだとかトンチンカンなこと言ってる奴いるのか
0217nobodyさん2009/05/30(土) 21:20:27ID:MvhC1epf
Web制作から来ました
HTMLトップページの一部に文章を書き、その部分が数日経てば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:???
>>217
まずblogを触って、自分好みにカスタマイズするところから始めたほうがいい。
一から作るのは大変だし、それで文章書く気力失っちゃうのはもったいない。
0221nobodyさん2009/05/31(日) 02:06:11ID:ONuTHT0e
トップページにブログがあるとブログサイトになってしまうのでそれは避けたいです
あくまでトップページの端の短いコラム的な位置づけでやりたいんですが
ブログの日記の部分だけをHTMLの一部に組み込めないですかね
弄ろうとはしてみたんですがどうしても要らないところが残るし、
そのページ全体がブログになってしまいます
PHPをもう少し勉強してみて無理そうだったらHTMLで手動でするしかないですかね
0222nobodyさん2009/05/31(日) 02:37:18ID:V0G3lcFV
>>221
http://www.yumemaboroshi.net/cgi4682/
この手のよくある無料配布モノを弄る所から始める、じゃ駄目なの?
0223nobodyさん2009/05/31(日) 03:29:49ID:ONuTHT0e
>>222
それ落とせなかったので似たようなの探してみました
今までは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
>>223
拡張子が関連づけられてないだけなんじゃないかな。
環境は整っているのなら。

好みや扱う規模によって人それぞれだろうけど、
自分はこの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:7JVzR7n2
性器表現
intvalじゃだめかぁ
       -2147483648 〜 2147483647

10桁ってどんなサイトmaking doing
0228nobodyさん2009/05/31(日) 09:22:48ID:???
>>227
専用の関数はなさげですか
正規表現は精通してないので漏れがあったらいやだなと思ってたんですが
ctype_digit()を通してからなのでそもそも変換は必要ないともいえるので
preg_replaceで代用してみようと思います。
0229nobodyさん2009/05/31(日) 12:43:25ID:???
大量のCSVデータを読み込んでDBに登録するシステムを作ってるんですけど、
プログレスバーを作ろうとob_flushを使うとfgetcsvで読み込んだデータが化けるんですけど
そんなもんなの?
大量のCSVを読み込ませる時って放置プレーにしてる?
0230nobodyさん2009/05/31(日) 17:51:54ID:???
バーでどの進捗を表そうとしてるのか知らんが、ob_flushで化けてるデータって単に文字コード違いかバイトずれじゃない?
というか加工の必要が特に無いなら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:???
ob_get_contentsをコールして無いとかいうオチじゃあるまいなw
0233nobodyさん2009/05/31(日) 20:57:25ID:???
>232 使ってないですね〜

実際のソースです。

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:???
まぁ初心者が一度に事を進めると大概わけわからなくなって進まなくなるから
妥協の連続で理想に近づけていけば良いんじゃない
■ このスレッドは過去ログ倉庫に格納されています