のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,368,966人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ中学生がPHPを習得するスレ

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    101 : nobodyさん - 2006/03/21(火) 10:02:26 ID:???.net (+33,+29,-27)
    クラス化されてるしw
    って環境はPHP5なのか・・・。
    今後発展していっても、都合上4しか環境が無いので、静観しとく。
    102 : 57 - 2006/03/21(火) 10:08:22 ID:???.net (+32,+27,-24)
    >>101
    スミマセソ。独走状態に突入してしまいました。

    今後は、原点に戻って、
    1. 1氏の応援と援助
    2. みんなでわいわいソースの検証
    にしますので、参加よろしく。

    追伸 1氏のPHPのバージョンは?
    103 : nobodyさん - 2006/03/21(火) 10:45:07 ID:???.net (+22,+29,+0)
    チョット引き気味の俺が居る
    104 : nobodyさん - 2006/03/21(火) 11:44:03 ID:???.net (+43,+29,-19)
    俺は結構おもしろく見ている。
    >>57の技量もミックスアップするんじゃないか、ってのも見もの。
    105 : 1 - 2006/03/21(火) 11:49:53 ID:???.net (-24,-30,-80)
    >>102
    ローカル環境は、apache2のPHP5で、
    共用サーバーは、
    メインがXREAのs43鯖でPHP4、
    サブがXREAのs190鯖でPHP5です。
    106 : 57 - 2006/03/21(火) 12:00:52 ID:???.net (+32,+27,-106)
    >>105
    漏れと比べるとかなりいい環境だなぁ…Apache2 + PHP5ならできること
    の範囲は広がるね。
    とゆーことで、アドバイスの際はPHP4以下との互換性も保ちつつ、時に
    PHP5特有のコードもありで。

    >>104
    ちなみに、(int)を使ったことがなかった漏れは、1に教えられることの
    ほうが多くなるかも。
    107 : nobodyさん - 2006/03/21(火) 12:10:16 ID:???.net (-29,-30,+0)
    じゃ、とりあえずPHP4版してみた
    <?php
    class Calc {
    var $sc ; var $dividend ; var $divisor ; var $amari_answer ; var $answer;
    var $error = array();
    function Calc() { //コンストラクタ
    $this->sc = isset($_GET['submit_check']) ? $_GET['submit_check'] : NULL ;
    $this->dividend = isset($_GET['dividend']) ? $_GET['dividend'] : null ;
    $this->divisor = isset($_GET['divisor']) ? $_GET['divisor'] : null ;
    $this->amari_answer = $this->answer = 0 ;
    }
    function Validate() {//入力チェック
    if( $this->sc ) {
    if (! strlen($this->dividend)) { $this->error[] = '被除数を入力してください。' ; }
    if (! strlen($this->divisor)) { $this->error[] = '除数を入力してください。' ; }
    if ( !preg_match('/^[0-9]+(?:¥.[0-9]+)?$/', $this->dividend.$this->divisor) ) { $this->error[] = '入力は半角数字で。' ; }
    if ((! $this->$error) && ($this->dividend != 0) && ($this->divisor != 0) ) {
    $this->amari_answer = $this->dividend % $this->divisor ;
    $this->answer = (int)($this->dividend / $this->divisor) ;
    }
    } else { $this->error[] = '割り算をするよ! 上に数字を入れて[送信]を押してね!' ; }
    }
    function showResult() {//結果出力
    if ( $this->error ) {
    print "</ul>¥n";
    foreach ($this->error as $key => $value) { print "<li>$value</li>¥n" ; }
    print "</ul>¥n";
    } elseif ((! $this->error) && $this->sc) { printf( "答えは、%d %s です。", $this->answer, $this->amari_answer ? "あまり " . $this->amari_answer : '' ) ; }
    } } ?>
    <!-- つづく -->
    108 : nobodyさん - 2006/03/21(火) 12:10:57 ID:???.net (-27,-30,-279)
    <!-- つづき -->
    <?PHP
    $Calc = new Calc();
    $Calc->Validate();
    ?>
    <HTML><BODY>
    <form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="text" name="dividend" style="text-align:right;" value ='<?PHP echo $Calc->dividend; ?>'>÷<input type="text" name="divisor" style="text-align:right;" value ='<?PHP echo $Calc->divisor ?>'>
    <input type="hidden" name="submit_check" value="1">
    <input type="submit" value="送信">
    </form>
    <?PHP
    $Calc->showResult();
    ?></BODY></HTML>
    111 : nobodyさん - 2006/03/21(火) 13:22:57 ID:???.net (+24,+29,-4)
    >>1の事は置いてきぼりかい?
    112 : nobodyさん - 2006/03/21(火) 13:33:25 ID:???.net (-19,-27,+0)
    >>1 == >>57 じゃなかったのか?
    113 : nobodyさん - 2006/03/21(火) 13:50:33 ID:???.net (-15,-30,+0)
    せっかくクラス化したんだから、フォームもクラスに入れた方が良くないかな?
    function getResult() { //結果の取得
    $result = "" ;
    if ( $error ) {
    $result .= "</ul>¥n";
    foreach ($this->error as $key => $value) { $result .= "<li>$value</li>¥n" ; }
    $result .= "</ul>¥n";
    } elseif ((! $this->error) && $this->sc) { $result .= sprintf( "答えは、%d %s です。", $this->answer, $this->amari_answer ? "あまり " . $this->amari_answer : '' ) ;
    }
    return $result ; }
    function getForm() { //フォームの取得
    return <<< EndOfForm
    <form method="get" action="{$_SERVER['PHP_SELF']}">
    <input type="text" name="dividend" style="text-align:right;" value ='{$this->dividend}'>÷<input type="text" name="divisor" style="text-align:right;" value ='{$this->divisor}'>
    <input type="hidden" name="submit_check" value="1">
    <input type="submit" value="送信">
    </form>
    EndOfForm;
    }

    本体側は、こんな感じで。
    <HTML><BODY>
    <?PHP
    $Calc = new Calc() ;
    $Calc->Validate() ;
    echo $Calc->getForm() ;
    echo $Calc->getResult() ;
    ?>
    </BODY></HTML>
    114 : 57 - 2006/03/21(火) 14:31:02 ID:???.net (+38,+30,-63)
    >>111
    変に盛り上げたから、>>1は迷惑してるかも…>>1氏、時間のある
    ときとか、質問があるときだけでも気軽に書き込んでくらさい。
    >>112
    ちがいます。漏れのせいで誤解されると>>1がかわいそうなので
    きちんと明言しておきます。
    >>113
    なるほど。たしかに、フォームもプログラムに取り込んだほうが
    HTMLがすっきりして見やすくなりそうですね。こういう、HTMLと
    プログラムの分離の仕方には漏れも興味があります。
    115 : 113 - 2006/03/21(火) 14:59:02 ID:???.net (+41,+30,-75)
    >>114
    こんかいの割り算のように小さい物では、あえてやる必要もないと思ったんだけどね。
    色々と流儀もあるみたいで、宗教論争が始まったらつまらなくなっちゃいますし。
    出力されたhtmlがガチャガチャになるのを嫌って、あえて出たり入ったりで書く人もいるくらいですから。
    116 : nobodyさん - 2006/03/21(火) 15:06:18 ID:???.net (-27,-29,-43)
    デザインの修正がやりやすい場合があるから、この場合のformを別ファイル(.html)にして、
    本体かクラスのどっちかでrequireする人もいるわな。
    117 : 57 - 2006/03/21(火) 15:18:58 ID:???.net (+34,+29,-45)
    >>115
    自分はHTMLがガチャガチャになっちゃうのが嫌いです。なんというか
    くだらないこだわりなんですけど、HTMLソースもひとつの作品だと思
    っているところがあるんですよ。

    >>116
    自分はどっちかというとこのやり方かな。ファイル増やしてでもrequ-
    ireします。
    118 : 57 - 2006/03/21(火) 15:25:28 ID:???.net (-17,+30,-84)
    ところで、実は、漏れの正体は
    http://pc8.2ch.net/test/read.cgi/php/1017456911/>>760 なのです。
    実は受験勉強を理由に自分のスクリプトの開発を中断していたのですが、
    2chをやめられず、参考書片手に書き込みをつづけていたのです。
    自分で盛り上げておいて申し訳ないのですが、しばらく撤退します。「し
    ばらく」というのが一浪明けになるかも知れませんが…スレが生きてたら
    また復活します。
    サヨウナラ。そして、アリガトウゴザイマシタ...
    119 : nobodyさん - 2006/03/21(火) 16:03:57 ID:???.net (+0,+3,+1)
    >>118
    あー、memoの人だったのかー。
    受験、ガンガレよー。
    121 : 1 - 2006/03/22(水) 10:07:01 ID:???.net (-21,-30,-176)
    >>118 お疲れ様でしたー。
    いろいろ割り算プログラムを作ってたんですが、
    割る数のほうに「0」を入れると、
    「Warning: Division by zero in C:\Apache Group\Apache2\htdocs\test.php on line 18」
    と表示されます。
    意味がわからないのでyahoo翻訳してみたところ、
    「警告:Cのゼロによる分割:第18行の上のApache GroupApache2htdocstest.php」
    といわれました。

    これは、記述が悪いんでしょうか?
    どうも、仕様臭がプンプンするんですが・・・
    122 : nobodyさん - 2006/03/22(水) 10:18:40 ID:???.net (+44,+29,-29)
    >>121
    身の回りで考えて味噌。
    5つのリンゴを「0人で分ける」ってありえないでしょ。

    っていうか、今の数学ではそういうことは教えない物なのか…
    123 : 122 - 2006/03/22(水) 10:19:42 ID:???.net (+27,+29,-15)
    書き漏れ

    0で割る事は出来ない
    って言うのは、「数学上の仕様」 だと思っておきなさい
    124 : 122 - 2006/03/22(水) 10:21:21 ID:???.net (+21,+28,-8)
    追記
    「0除算」でググると吉
    125 : nobodyさん - 2006/03/22(水) 10:42:25 ID:???.net (+38,+30,-109)
    >>121
    みなさんも書いているけど、0で割り算しちゃダメだから。
    たとえば、3 / 0考えてみよう。
    これは、日本語にすると、「3 の中に 0は幾つありますか?」ってことだよね。
    答えは無限個。"3から0を何回引き算できるか"って考えても良い。

    素直なコンピュータちゃんにソレをさせると、割り算からかえってこなくなってしまう。
    なので、あらかじめ 0で割り算させないように中の人がチェックしているってわけ。

    >>57さんや他の人が書込んだスクリプトには、ちゃんと 0のチェックが入っているよね?
    それとも見もしないでふーんって感じだったのかな?
    このスレのの>>74にも書いてあるね。
    128 : nobodyさん - 2006/03/24(金) 14:57:11 ID:???.net (+17,+24,-1)
    おそるべし、ゆとり教育
    129 : nobodyさん - 2006/03/24(金) 20:42:36 ID:???.net (+27,+29,-6)
    いくら中学生でもそのくらいは・・・まさか小学生か?
    130 : nobodyさん - 2006/03/24(金) 22:28:28 ID:yMDMUBGz.net (+24,+29,-30)
    割る数に0を入れられるとエラーが出るのを
    なんとかしたかったんだろ?>>1

    >>1を擁護してみんとてするなり。
    131 : nobodyさん - 2006/03/24(金) 22:41:08 ID:???.net (-27,-30,+0)
    <?php
    function & XML_unserialize(&$xml){
    $xml_parser = &new XML();
    $data = &$xml_parser->parse($xml);
    $xml_parser->destruct();
    return $data;}
    function & XML_serialize(&$data, $level = 0, $prior_key = NULL){
    if($level == 0){ ob_start(); echo '<?xml version="1.0" ?>',"\n"; }
    while(list($key, $value) = each($data))
    if(!strpos($key, ' attr')) #if it's not an attribute
    #we don't treat attributes by themselves, so for an empty element
    # that has attributes you still need to set the element to NULL

    if(is_array($value) and array_key_exists(0, $value)){
    XML_serialize($value, $level, $key);
    }else{
    $tag = $prior_key ? $prior_key : $key;
    echo str_repeat("\t", $level),'<',$tag;
    if(array_key_exists("$key attr", $data)){ #if there's an attribute for this element
    while(list($attr_name, $attr_value) = each($data["$key attr"]))
    echo ' ',$attr_name,'="',htmlspecialchars($attr_value),'"';
    reset($data["$key attr"]);
    }

    if(is_null($value)) echo " />\n";
    elseif(!is_array($value)) echo '>',htmlspecialchars($value),"</$tag>\n";
    else echo ">\n",XML_serialize($value, $level+1),str_repeat("\t", $level),"</$tag>\n";
    }
    reset($data);
    if($level == 0){ $str = &ob_get_contents(); ob_end_clean(); return $str; }}
    ?>
    132 : nobodyさん - 2006/03/27(月) 00:42:25 ID:???.net (+27,+29,-7)
    中学生に独学でプログラミングしようたって無理w
    133 : nobodyさん - 2006/03/27(月) 05:54:25 ID:???.net (+27,+29,-46)
    俺が中学生の頃は、
    せいぜい誰かが作ったやつの改造が限界だった。
    改造っていってもちょっとした事しか出来へんかったけど。

    取りあえず>>1は匿名メールが限界だな。
    134 : nobodyさん - 2006/03/27(月) 11:39:56 ID:???.net (+27,+29,-7)
    最初は、コメントとコピーライトを変える所からだなw
    135 : nobodyさん - 2006/03/27(月) 23:39:36 ID:???.net (+42,+29,-20)
    織れが PHP を覚えはじめたのが中二の時な件について。
    136 : nobodyさん - 2006/03/27(月) 23:46:30 ID:DbuZMvUM.net (+29,+29,-30)
    >>135
    1に質問ぜめにされる前に、勉強法を言ったほうがいいお。
    137 : nobodyさん - 2006/03/27(月) 23:49:08 ID:???.net (+27,+29,-32)
    織れが○○○○を覚えはじめたのが中二の時な件について。
    138 : 135 - 2006/03/28(火) 00:04:43 ID:???.net (+32,+29,-122)
    HTML → CSS → サイト作った → 配布スクリプトでいろいろ設置 →
    サイトになじまない → そうだ自分で作ろう → PHP が簡単らしい →
    レッツ → 小部屋 → マンモス PDF 最初のちょっとだけ → 日記できた

    ここまでで中三の一学期くらいだったか。
    ちなみに織れは新学期から工房。

    ってか織れ自体オブジェクト指向ダメぽだから完全じゃないorz
    ワンとかニャーとか意味不杉。 MySQL もダメ。

    勉強法は三行目。 PHP 本とかは買ってない。立ち読みはしたけど。
    139 : nobodyさん - 2006/03/28(火) 00:21:09 ID:???.net (+27,+29,-7)
    さんすうの割り算でつまづいている少年がいると聞いて飛んで来ました。
    140 : nobodyさん - 2006/03/28(火) 08:06:41 ID:???.net (-20,-23,+0)
    今の中学生はいいよなぁ
    俺はN88-BASICしかできなかった。
    141 : nobodyさん - 2006/03/28(火) 16:38:10 ID:???.net (+25,+29,-9)
    >>140
    今の中学生はいいよなぁ
    俺はPHPしかできなかった。

    なんて言う時代が来るんだから安心しなさい。
    142 : nobodyさん - 2006/03/29(水) 08:57:08 ID:???.net (+27,+29,-28)
    つか今はガキでも無修正見放題だからなー。
    2ちゃんで宿題マンドクセーとかいいながらぬきまくりしたかったなー
    143 : nobodyさん - 2006/03/29(水) 10:36:33 ID:???.net (+27,+29,-53)
    俺は中2でphp覚えて掲示板とか作った
    で、今受験おわったとこだがほとんど文法忘れた・・・
    144 : nobodyさん - 2006/03/30(木) 18:07:15 ID:???.net (+36,+29,-28)
    >>1じゃないけど、どこかにPHPの掲示板の作成の説明のサイトみたいなのない?
    掲示板を作る流れを解説しているページはないですか。
    145 : nobodyさん - 2006/03/30(木) 18:26:37 ID:???.net (+40,+26,-20)
    >>144
    「作る流れ」ってなんだ?

    考える⇒試す⇒考える⇒直す⇒試す⇒考える⇒考える⇒考える⇒ご飯食べる⇒考える⇒オナる⇒考える⇒寝る⇒忘れる
    146 : nobodyさん - 2006/03/30(木) 18:40:09 ID:E8C3tNeG.net (+34,+29,-29)
    >>145
    いやいやいや、違。日本語がわるうござんした。

    投稿フォーム→フォームの取得→フォームの内容チェック→フォームのフォーマット・・・

    みたいなやつ。
    147 : nobodyさん - 2006/03/30(木) 18:44:00 ID:???.net (+38,+29,-54)
    >>144
    基本は>>145がすべて書いてくれているわけだが、

    1. フォームの表示->フォームデータの保存(保存形式とかサニタイズとかよく考える)
    2. 保存データの表示
    3. 1.2.を合体 とりあえずソレっぽくなる
    4. いじってみて機能追加や見映え修正 場合によっては1.からやり直す

    ※それぞれの段階で他人のソースを眺めまくるのを忘れるな。一個じゃダメだ、色々見ろ。
    148 : nobodyさん - 2006/03/30(木) 18:48:45 ID:???.net (+32,+29,-3)
    >>146
    ちょ、お前さん、そこまでわかっているならまず手を動かしてみなよ。
    149 : nobodyさん - 2006/03/30(木) 20:31:31 ID:???.net (+23,+25,+0)
    >>145
    最後の方ワロス
    150 : !omikuji - 2006/03/32(土) 00:13:16 ID:aP6p2VPR.net (+13,+28,-1)
    記念真紀子
    ←前へ 1 2 3 4 5 6 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について