中学生がPHPを習得するスレ
■ このスレッドは過去ログ倉庫に格納されています
中学生ですが、PHPを習得したく思います。 最初は何を学べばいいですか? 本を紹介してくれてもいいです。 そのままレッスンしてくれてもいいです。 まず、本屋へ行って堂々とエロ本を買ってくるところから。 とにかく掲示板とかカウンターとか、何でも作ってみる。 ネットにはその手のサンプルスクリプトが転がっているが、PHPのではなく、PerlやRubyの サンプルについての解説やらコメントやらを見ながらやると、いい感じで上達するぞ。 >8そういった、完全解説つきサイト(orスクリプト)を 教えてほしい。 ただしPHP以外 中学生が、なんでPHP覚えるの?てところが激しく疑問 プログラミングが理解できないろうから、なでしこやっとけ。 HTMLは余裕。 英語さえできれば、普通に使える。 まず何を作りたいかが決まってないと 何も進まない。 PHPなんてどうでもいいから中学生のうちにオナニーを覚えて出来る限りセックスしまくれ。 中学生と中学生は犯罪じゃないけど、 俺と中学生は犯罪だもんなぁ…。 PHPはHTMLに埋め込むことが多いらしい <html><body> <?php echo "Hello, World!"; ?> </body></html> >>20 <head>〜</head> がない時点で失格。 headは強制じゃないだろ? それよりtitleが無い方が駄目。 >>20 <html>より先に文字列を出力しているのでOUT! >>24 DOCTYPEを否定する人が現れました。 >>25 DOCTYPE宣言は、「出力文字列」じゃ無い罠 PHPの「出力文字列」ってことかな? どっちにしろ、こんな話題で引っ張るなw HTMLとCSSは完璧に覚えました。 掲示板とフォームメールをつくってみたい。 >30 プログラミングというものがいまひとつ理解できません。 >>31 へぇ、完璧に? 本当に? 本当に完璧なんだな? HTMLとCSSて完璧に覚えて何か意味あるのか?本見ながら作れれば十分じゃね? >>35 というか、「完璧」に覚えられる種類のものじゃない。 1のいう「完璧」がどの程度のものかは判らんが。 ものを知らないヤツに限って「完璧に覚えました」とか簡単に言いがちだってのは、 本当だったんだな・・・。 もしかして>>1 って本当に厨房なのか?!! 名欄に1と書けば>>1 の発言だと信じてしまう 純真無垢な童貞が集うスレはここですか? いい時代になったもんだ。 俺が中学生の頃はコンピュータなんて何が出来る物体なのかもわからなかったな。 パソコンでゲームしている奴がいたけど神かと思った。 >1自分がやってて楽しいと思うことをやってればいい。 勉強なんて何からやればいいなんて事はない。 何が書いてあるかわからないものでも、わかりそうな 小さな事を繰り返し積み重ねて行くことで次第に理解できるようになっているものだ。 言っておくとすれば、HTMLだとかJavascriptだとかそんな物は覚える価値すらないものだ。 あとな、この板にいるおじちゃん達はオマイさんが優秀なPHPプログラマー(wになって 自分たちの仕事の価値が下がってしまうのをおそれている心の狭い人たちばかりだからな。 すこしは気をつかってやってくれ。 >>41 の懐古を読んで、店頭でFM-7とかにグラフィックデータとか打ち込んでた奴等を思い出した。 俺も歳とったな… なんだよ。HTMLの仕様も読めないのにPHP習うってか?ww どうせMLでくだらない質問して作るしかできないからやめとけ。 外で遊んできたほうがずっとマシ >>44 MLで騒いでくれればヲチスレの人たちが喜ぶかも知れない。 まあ、応援する義務も無いけど (・・・・・本当に無いかな;) 止めろ止めろ言わなくてもいいでしょ。 >>1 本屋で好きなだけ立ち読みして気に入ったものを買えば良い。 つうか本当に何かアドバイスが欲しいなら2chで質問とかするなw 頼むから次の仕事はPascalでやらしてくれーーーー PHPそのものの解説に関しては、オンラインマニュアルに勝る書物を見たことがない なるほど、紙を作るマニュアルか。 王子製紙の下請け工場の方ですか? >>54 man paper まぁ紙にしてもすぐに古くなっちまうから無駄だな。 定期的に紙にして書棚に並べるんだったら問題ないけど。 オライリーの「はじめてのPHP5」が一番参考になった。 それと、漏れがよくお世話になってるとこ。 【PHP】下らねぇ質問はここに書き込みやがれpart18 http://pc8.2ch.net/test/read.cgi/php/1142417901/ 次は、フォーム処理が一番勉強になると思う。 <html> <head> <title>form.php</title> </head> <body> <?php $_POST['post'] = isset($_POST['post']) ? $_POST['post'] : NULL; if ($_POST['post']) { print '<div>送信を確認しました。 送信内容は ' . $_POST['post'] . ' です。</div>'; } ?> <form method="post" action="<?php print $_SERVER['PHP_SELF']; ?>"> <label for="post">送信内容</label><input type="text" name="post" id="post" /> <input type="submit" /> </form> </body> </html> >>60 表示だけで実害はないと思うが、XSS脆弱だな 表示だけでXSS脆弱って、あるんですか? 勉強になりそうなので、詳しく教えてください。 >>60 を参考にして、足し算マシーンを作ってみました。 <? if(empty($_GET)){ ?> <HTML> <HEAD><title>足し算スクリプト</title></HEAD> <BODY> <form method="get" action="test.php" /> <input type="text" name="sahen">+<input type="text" name="uhen" /> <input type="submit" value="送信" /> </form> </BODY> </HTML> <?php }else{ $answer = $_GET[sahen]+$_GET[uhen]; echo "答えは $answer です。"; } ?> どうでしょうか? >>64 うーm、HTMLを出力するためにPHPモードをぬけているのはワザあり でグッジョブ! それでは、早速ポイント解説に。 ・empty()関数は値が0の場合にもfalseを返します。つまり、uhen=0, sahen=0 の場合、式としてはオケィでも、計算をしてもらえなくなります。こういうとき にはstrlen()あたりがおすすめです。 ・遊び心たっぷりのユーザにも対応できるように、入力が数字かどうかを確か めるといいかも。 if (! preg_match('/^[0-9]$/', $_GET[sahen] . $_GET[uhen])) { print '入力は半角数字でね'; } みたいに。 >>65 誤) '/^[0-9]$/' 正) '/^[0-9]+$/' >>65 ありがとうございます。 >>65-66 を参考にして割り算スクリプトを作りました。 <? if(empty($_GET)){ ?> <HTML> <BODY> <form method="get" action="<?php $_SERVER['PHP_SELF']; ?>"> <input type="text" name="sahen">÷<input type="text" name="uhen"> <input type="submit" value="送信"> </form> </BODY> </HTML> <? }else{ if(!preg_match('/^[0-9]+$/',$_GET[sahen].$_GET[uhen])){ echo "入力は半角数字で。"; }elseif($_GET[sahen] % $_GET[uhen]!==0){ $amari_answer = $_GET[sahen] % $_GET[uhen]; $answer = $_GET[sahen] / $_GET[uhen]; $answer = (int)$answer; echo "答えは、$answer あまり $amari_answer です。"; }else{ $answer = $_GET[sahen] / $_GET[uhen]; echo "答えは、$answer です"; } } ?> 今回はコメントで解説してみました。 <HTML><BODY> <form method="get" action="<?php print $_SERVER['PHP_SELF']; ?>"> <input type="text" name="sahen">÷<input type="text" name="uhen"> <input type="submit" value="送信"> </form> </BODY></HTML> <?php //フォームは常に表示したほうがいいかも。 //計算するたびに電源が切れる電卓が使いにくいのと同じ。 if ((! strlen($_GET['uhen'])) && (! strlen($_GET['sahen']))) { print '右辺と左辺を入力してください。'; } elseif(!preg_match('/^[0-9]+$/',$_GET['sahen'].$_GET['uhen'])){ print '入力は半角数字で。'; }elseif(($_GET['sahen'] % $_GET['uhen'] !== 0) && ($_GET['sahen'] > $_GET['uhen'])){ //左辺が右辺より小さい場合に、ここを実行すると変な答えになるので、 //条件をちょっと厳しくして、左辺が右辺より小さい場合はここをスルー。 $amari_answer = $_GET['sahen'] % $_GET['uhen']; $answer = $_GET['sahen'] / $_GET['uhen']; $answer = (int)$answer; echo "答えは、{$answer} あまり {$amari_answer} です。"; //これは漏れのこだわりでしかないんだけど、二重引用符で変数を展開す //るときには{}で変数を囲んで明示的に展開するようにすると読みやすく //なる }else{ $answer = $_GET['sahen'] / $_GET['uhen']; echo "答えは、{$answer} です"; } ?> どうでもいい事だが、「左辺」と「右辺」の使い方が間違っている。 おれPerlつかう人だけどさ、 PHPってきもいね。 記法が。 入るだの抜けるだのありえないんですが…いや聞き流してくださってかまわないっす。 (ちら裏) そりゃPerlも十分きもいけどさ。 Perl書くやつできれいなコード見たことない。 KENTを代表として。 >>69 うん。そうなんだよ。確かにそうなんだけどさ… スレの趣旨を重視して、そこはニュアンスだけにしときませんか… >>69 被除数(わられるかず)と除数(わるかず)だよな。 >>68 | }elseif(($_GET['sahen'] % $_GET['uhen'] !== 0) && ($_GET['sahen'] > $_GET['uhen'])){ 剰余の前に除数と被除数の0チェックをしたいところ。 >>73 こんなところで、ゆとり教育してどうする。 PHPとは関係なくても間違いは正してやらにゃ。 厨房相手ならなおのこと。 >>74 1を応援しますとか言いながら、自分の無能さを痛感したため 一時退却します。 誰か、引き続きよろしく。 >>75 すみません。漏れもゆとり教育を受けたので、ゆとり教育に 甘んじているのです。 >>76 帰るな。 ところで、>>74 を読んでこうしてみたがどうか? <?PHP if ( $_GET['uhen'] ) { $dividend = $_GET['sahen'] ; $divisor = $_GET['uhen'] ; } else { $dividend = 0 ; $divisor = 0 ; } ?> <HTML><BODY> <form method="get" action="<?php print $_SERVER['PHP_SELF']; ?>"> <input type="text" name="sahen" value ='<?PHP echo $dividend ?>'>÷<input type="text" name="uhen" value ='<?PHP echo $divisor ?>'> <input type="submit" value="送信"> </form> </BODY></HTML> <?php if ( (!strlen($dividend)) && (!strlen($divisor)) ){ echo '被除数(わられるかず)と除数(わるかず)を入力してください。'; } elseif ( !preg_match('/^[0-9]+$/',$dividend.$divisor) ){ echo '入力は半角数字で。'; } elseif ( ($dividend != 0) && ($divisor != 0) ) { $amari_answer = $dividend % $divisor; $answer = (int)($dividend / $divisor) ; echo "答えは、{$answer}" ; if( $amari_answer ) { echo " あまり {$amari_answer} です。"; } } else { echo "0の割り算キタコレ!!" ; } ?> >>78 ダメ。 最初の一回目がキタコレになっちゃうよ。 >>78 ただ今、戻りました。 簡潔で、わかりやすくなってますね。それとinputにテキストが入っ てるのが細かい工夫でいいかんじです。 蛇足ですが、2chは空白を削除しちゃうので、ソースの掲載には不向 きですね。対応する括弧がわからない… >>79 $dividend = 'なんか入れてね' ; $divisor = 'なんかいれてね' ; てのはどう? ちなみに最初のif分岐は $dividend = isset($_GET['sahen']) ? $_GET['sahen'] : 'なんか入れて' ; $divisor = isset($_GET['uhen']) ? $_GET['uhen'] : 'なんか入れて' ; でもいける。 >>79 そか じゃ、さきっちょのところをこれでごまかすのはどうかw $dividend = $divisor = '' ; if ( $_GET['uhen'] && $_GET['sahen'] ) { $dividend = $_GET['sahen'] ; $divisor = $_GET['uhen'] ; } >>80 お帰りなさい。俺はオナニーでもして寝ます。おやしみー 右辺、左辺の使い方は間違っているのはもう確信犯なんですが、 それに変わる正しい言葉がみつからなかったんで・・・。 だんだん精密なプログラムになってきましたね。 やはりプログラミングは、>>64 のような柱から、後で精密にしていくもんなんでしょうね。 今日はゆとり世代の私につきあってくれてありがとうございました。>>57 、>>58-64 割り算、まとめ。 <?PHP $dividend = $_GET['sahen'] ? $_GET['sahen'] : '数字を入力' ; $divisor = $_GET['uhen'] ? $_GET['uhen'] : '数字を入力' ; ?> <HTML><BODY> <form method="get" action="<?php print $_SERVER['PHP_SELF']; ?>"> <input type="text" name="sahen" style="text-align:right;" value ='<?PHP echo $dividend ?>'>÷<input type="text" name="uhen" style="text-align:right;" value ='<?PHP echo $divisor ?>'> <input type="submit" value="送信"> </form> </BODY></HTML> <?php if ( (!strlen($dividend)) && (!strlen($divisor)) ){ echo '被除数(わられるかず)と除数(わるかず)を入力してください。'; } elseif ( !preg_match('/^[0-9]+$/',$dividend.$divisor) ){ echo '入力は半角数字で。'; } elseif ( ($dividend != 0) && ($divisor != 0) ) { $amari_answer = $dividend % $divisor ; $answer = (int)($dividend / $divisor) ; echo "答えは、{$answer} " ; if( $amari_answer ) { echo "あまり {$amari_answer} " ; } echo "です。" ; } else { echo "0の割り算キタコレ!!" ; } ?> なんか興味深いスレだwww たとえ>>1 が釣りでも、池沼春厨でも、 おれはこのスレに常駐するとしよう。 糞春厨が新学期には掲示板を作れるようになるのをみさせてもらおう。 それは無理か >>86 答えを出力するところが冗長。 printf( "答えは、%d %s です。", $answer, $amari_answer ? "あまり {$amari_answer}":'' ) ; 一行ですむね。 >>86 それだと、小数点の計算ははねられちゃう。 > elseif ( !preg_match('/^[0-9]+$/',$dividend.$divisor) ){ ↓ elseif ( !is_numeric($dividend) || !is_numeric($divisor) ){ ってのはどうだ? >>90 剰余を出力するんだから、小数点の考慮は不要では? さっそく仕様の問題が出てきたかwww たがが割り算計算でも、チェックするとなるとムズいな。 >>1 よ、チェックを怠るな… ただ、>>1 の最初の割り算スクリプトについてだが、 ちゃんと(int)を使っているあたりがよい。 また、余り出力のアイディアも悪くないので、 鍛えればかなり優秀なプログラマーになる悪寒。 やばい、仕事場が>>1 によって失われそうで本当に悪寒が… じゃ、割り算まとめ(rev.1) <?PHP $dividend = $_GET['sahen'] ? $_GET['sahen'] : '数字を入力' ; $divisor = $_GET['uhen'] ? $_GET['uhen'] : '数字を入力' ; ?> <HTML><BODY> <form method="get" action="<?php print $_SERVER['PHP_SELF']; ?>"> <input type="text" name="sahen" style="text-align:right;" value ='<?PHP echo $dividend ?>'>÷<input type="text" name="uhen" style="text-align:right;" value ='<?PHP echo $divisor ?>'> <input type="submit" value="送信"> </form> </BODY></HTML> <?php if ( (!strlen($dividend)) && (!strlen($divisor)) ) { echo '被除数(わられるかず)と除数(わるかず)を入力してください。'; } elseif ( !preg_match('/^[0-9]+$/',$dividend.$divisor) ) { echo '入力は半角数字で。'; } elseif ( ($dividend != 0) && ($divisor != 0) ) { $amari_answer = $dividend % $divisor ; $answer = (int)($dividend / $divisor) ; printf( "答えは、%d %s です。", $answer, $amari_answer ? "あまり {$amari_answer}":'' ) ; } else { echo '0の割り算キタコレ!!' ; } ?> <!-- 入力のチェックはJavascriptでやりたいが。 --> >>94 まぁいいんだが、まとめは>>1 にやらせろよ。 じゃなきゃ、結局フーーンで終わっちゃうヨカン 割り算(改良型) ・少数可 ・不自然な最初の警告文非表示 <?PHP $submit_check = isset($_GET['dividend']) ? $_GET['dividend'] : 0 ; $dividend = isset($_GET['dividend']) ? $_GET['dividend'] : '数字を入力' ; $divisor = isset($_GET['divisor']) ? $_GET['divisor'] : '数字を入力' ; ?> <HTML><BODY><form method="get" action="<?php print $_SERVER['PHP_SELF']; ?>"> <input type="text" name="dividend" style="text-align:right;" value ='<?PHP echo $dividend ?>'>÷<input type="text" name="divisor" style="text-align:right;" value ='<?PHP echo $divisor ?>'> <input type="hidden" name="submit_check" value="1"><input type="submit" value="送信"> </form></BODY></HTML> <?php if ($submit_check) { if ( (!strlen($dividend)) && (!strlen($divisor)) ) { echo '被除数(わられるかず)と除数(わるかず)を入力してください。'; } elseif ( !preg_match('/^[0-9]+(?:\.[0-9]+)$/',$dividend.$divisor) ) { echo '入力は半角数字で。'; } elseif ( ($dividend != 0) && ($divisor != 0) ) { $amari_answer = $dividend % $divisor ; $answer = (int)($dividend / $divisor) ; printf( "答えは、%d %s です。", $answer, $amari_answer ? "あまり {$amari_answer}":'' ) ; } else { echo '0の割り算キタコレ!!' ; } } ?> 誤)$submit_check = isset($_GET['dividend']) ? $_GET['dividend'] : 0 ; 正)$submit_check = isset($_GET['submit_check']) ? $_GET['submit_check'] : 0 ; しまった。 $dividend = isset($_GET['dividend']) ? $_GET['dividend'] : '数字を入力' ; $divisor = isset($_GET['divisor']) ? $_GET['divisor'] : '数字を入力' ; により、下の式は常にtrueだ!! if ( (!strlen($dividend)) && (!strlen($divisor)) ) もう限界… <?php class Calc { private static $sc; static $dividend; static $divisor; private static $amari_answer; private static $answer; private static $error = array(); public function __construct() { self::$sc = isset($_GET['submit_check']) ? $_GET['submit_check'] : NULL ; self::$dividend = isset($_GET['dividend']) ? $_GET['dividend'] : NULL ; self::$divisor = isset($_GET['divisor']) ? $_GET['divisor'] : NULL ; } public function Validate() { if (! strlen(self::$dividend)) {self::$error[] = '被除数を入力してください。';} if (! strlen(self::$divisor)) {self::$error[] = '除数を入力してください。';} if ( (!preg_match('/^[0-9]+(?:\.[0-9]+)$/', self::$dividend.self::$divisor)) && (strlen(self::$dividend)) && (strlen(self::$divisor)) ) { self::$error[] = '入力は半角数字で。';} if ((! self::$error) && (self::$dividend != 0) && (self::$divisor != 0) ) { self::$amari_answer = self::$dividend % self::$divisor ; self::$answer = (int)(self::$dividend / self::$divisor) ;} } public function showResult() { if (self::$error && self::$sc) {print "</ul>\n"; foreach (self::$error as $key => $value) {print "<li>$value</li>\n";}print "</ul>\n"; } elseif ((! self::$error) && self::$sc) { printf( "答えは、%d %s です。", self::$answer, self::$amari_answer ? "あまり " . self::$amari_answer : '' ); } } } ?> 再び。 誤)preg_match('/^[0-9]+(?:\.[0-9]+)$/' 正)preg_match('/^[0-9]+(?:\.[0-9]+)?$/' 続き <?php $Calc = new Calc(); $Calc->Validate(); $Calc->showResult(); ?> <HTML><BODY> <form method="get" action="<?php print $_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> </BODY></HTML> クラス化されてるしw って環境はPHP5なのか・・・。 今後発展していっても、都合上4しか環境が無いので、静観しとく。 >>101 スミマセソ。独走状態に突入してしまいました。 今後は、原点に戻って、 1. 1氏の応援と援助 2. みんなでわいわいソースの検証 にしますので、参加よろしく。 追伸 1氏のPHPのバージョンは? 俺は結構おもしろく見ている。 >>57 の技量もミックスアップするんじゃないか、ってのも見もの。 >>102 ローカル環境は、apache2のPHP5で、 共用サーバーは、 メインがXREAのs43鯖でPHP4、 サブがXREAのs190鯖でPHP5です。 >>105 漏れと比べるとかなりいい環境だなぁ…Apache2 + PHP5ならできること の範囲は広がるね。 とゆーことで、アドバイスの際はPHP4以下との互換性も保ちつつ、時に PHP5特有のコードもありで。 >>104 ちなみに、(int)を使ったことがなかった漏れは、1に教えられることの ほうが多くなるかも。 じゃ、とりあえず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 : '' ) ; } } } ?> <!-- つづく --> <!-- つづき --> <?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> >>107-108 サンクス。これはありがたい。 漏れは「CGIプログラミング」->「はじめてのPHP5」->青マンモス(PHP5) ときているので、正直なところ5以外はよくわからんのです。 >>109 Self::をthis->にした程度だけどね。 あ。せっかくscにhiddenで送っているのがもったいないので、 Validate()とerrorをちょっと変えて、最初の一回目だけ '割り算をするよ! 上に数字を入れて[送信]を押してね!' を出すようにしてみたヨケイナオセワ。 せっかくクラス化したんだから、フォームもクラスに入れた方が良くないかな? 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> >>111 変に盛り上げたから、>>1 は迷惑してるかも…>>1 氏、時間のある ときとか、質問があるときだけでも気軽に書き込んでくらさい。 >>112 ちがいます。漏れのせいで誤解されると>>1 がかわいそうなので きちんと明言しておきます。 >>113 なるほど。たしかに、フォームもプログラムに取り込んだほうが HTMLがすっきりして見やすくなりそうですね。こういう、HTMLと プログラムの分離の仕方には漏れも興味があります。 >>114 こんかいの割り算のように小さい物では、あえてやる必要もないと思ったんだけどね。 色々と流儀もあるみたいで、宗教論争が始まったらつまらなくなっちゃいますし。 出力されたhtmlがガチャガチャになるのを嫌って、あえて出たり入ったりで書く人もいるくらいですから。 デザインの修正がやりやすい場合があるから、この場合のformを別ファイル(.html)にして、 本体かクラスのどっちかでrequireする人もいるわな。 >>115 自分はHTMLがガチャガチャになっちゃうのが嫌いです。なんというか くだらないこだわりなんですけど、HTMLソースもひとつの作品だと思 っているところがあるんですよ。 >>116 自分はどっちかというとこのやり方かな。ファイル増やしてでもrequ- ireします。 ところで、実は、漏れの正体は http://pc8.2ch.net/test/read.cgi/php/1017456911/ の >>760 なのです。 実は受験勉強を理由に自分のスクリプトの開発を中断していたのですが、 2chをやめられず、参考書片手に書き込みをつづけていたのです。 自分で盛り上げておいて申し訳ないのですが、しばらく撤退します。「し ばらく」というのが一浪明けになるかも知れませんが…スレが生きてたら また復活します。 サヨウナラ。そして、アリガトウゴザイマシタ... >>118 あー、memoの人だったのかー。 受験、ガンガレよー。 >>118 お疲れ様でしたー。 いろいろ割り算プログラムを作ってたんですが、 割る数のほうに「0」を入れると、 「Warning: Division by zero in C:\Apache Group\Apache2\htdocs\test.php on line 18」 と表示されます。 意味がわからないのでyahoo翻訳してみたところ、 「警告:Cのゼロによる分割:第18行の上のApache GroupApache2htdocstest.php」 といわれました。 これは、記述が悪いんでしょうか? どうも、仕様臭がプンプンするんですが・・・ >>121 身の回りで考えて味噌。 5つのリンゴを「0人で分ける」ってありえないでしょ。 っていうか、今の数学ではそういうことは教えない物なのか… 書き漏れ 0で割る事は出来ない って言うのは、「数学上の仕様」 だと思っておきなさい >>121 みなさんも書いているけど、0で割り算しちゃダメだから。 たとえば、3 / 0考えてみよう。 これは、日本語にすると、「3 の中に 0は幾つありますか?」ってことだよね。 答えは無限個。"3から0を何回引き算できるか"って考えても良い。 素直なコンピュータちゃんにソレをさせると、割り算からかえってこなくなってしまう。 なので、あらかじめ 0で割り算させないように中の人がチェックしているってわけ。 >>57 さんや他の人が書込んだスクリプトには、ちゃんと 0のチェックが入っているよね? それとも見もしないでふーんって感じだったのかな? このスレのの>>74 にも書いてあるね。 いくら中学生でもそのくらいは・・・まさか小学生か? 割る数に0を入れられるとエラーが出るのを なんとかしたかったんだろ?>>1 よ と>>1 を擁護してみんとてするなり。 <?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; }} ?> 俺が中学生の頃は、 せいぜい誰かが作ったやつの改造が限界だった。 改造っていってもちょっとした事しか出来へんかったけど。 取りあえず>>1 は匿名メールが限界だな。 最初は、コメントとコピーライトを変える所からだなw 織れが PHP を覚えはじめたのが中二の時な件について。 >>135 1に質問ぜめにされる前に、勉強法を言ったほうがいいお。 織れが○○○○を覚えはじめたのが中二の時な件について。 HTML → CSS → サイト作った → 配布スクリプトでいろいろ設置 → サイトになじまない → そうだ自分で作ろう → PHP が簡単らしい → レッツ → 小部屋 → マンモス PDF 最初のちょっとだけ → 日記できた ここまでで中三の一学期くらいだったか。 ちなみに織れは新学期から工房。 ってか織れ自体オブジェクト指向ダメぽだから完全じゃないorz ワンとかニャーとか意味不杉。 MySQL もダメ。 勉強法は三行目。 PHP 本とかは買ってない。立ち読みはしたけど。 さんすうの割り算でつまづいている少年がいると聞いて飛んで来ました。 今の中学生はいいよなぁ 俺はN88-BASICしかできなかった。 >>140 今の中学生はいいよなぁ 俺はPHPしかできなかった。 なんて言う時代が来るんだから安心しなさい。 つか今はガキでも無修正見放題だからなー。 2ちゃんで宿題マンドクセーとかいいながらぬきまくりしたかったなー 俺は中2でphp覚えて掲示板とか作った で、今受験おわったとこだがほとんど文法忘れた・・・ >>1 じゃないけど、どこかにPHPの掲示板の作成の説明のサイトみたいなのない? 掲示板を作る流れを解説しているページはないですか。 >>144 「作る流れ」ってなんだ? 考える⇒試す⇒考える⇒直す⇒試す⇒考える⇒考える⇒考える⇒ご飯食べる⇒考える⇒オナる⇒考える⇒寝る⇒忘れる >>145 いやいやいや、違。日本語がわるうござんした。 投稿フォーム→フォームの取得→フォームの内容チェック→フォームのフォーマット・・・ みたいなやつ。 >>144 基本は>>145 がすべて書いてくれているわけだが、 1. フォームの表示->フォームデータの保存(保存形式とかサニタイズとかよく考える) 2. 保存データの表示 3. 1.2.を合体 とりあえずソレっぽくなる 4. いじってみて機能追加や見映え修正 場合によっては1.からやり直す ※それぞれの段階で他人のソースを眺めまくるのを忘れるな。一個じゃダメだ、色々見ろ。 >>146 ちょ、お前さん、そこまでわかっているならまず手を動かしてみなよ。 単純な質問ですいません。 フォームで選択式につくったもので解答したあと その解答がそのまま保持されるようにつくるにはどのようにすればいいのでしょうか? 例 選択肢 A B C D Cを選んで解答ボタン押したあとまた同じ画面が出てきて初めからCが選択されている状態。 宜しくお願いします。 なんでそこで1がおもむろに登場するのかと小一時間(ry ぶっちゃけ中学生にはプログラミングより 大切な事が沢山あるでしょ? 女の子とデートするとか。 今はそういう方面にエネルギー使ったほうが好いと思うよ。 >>161 同意。人生経験を積みなさいな。 20歳過ぎて童貞とか恥ずかしい事態にならないためにも。 winnyの作者47氏は小学生からプログラミングしてたそうだね。 >>167 つーより>>1 は、プログラミングは難しいものと思い込んでるんじゃないか? 基本になれれば簡単だぜ? そろそろプログラムつくってみろよ。 割り算なんとかを見てたら、十分プログラミングの基本は心得ていると思うが。 >>168 あ、割り算なんとかっつーのは、 このスレの前らへんにある>>1 が作った割り算マシーン(?)ね。 >>171 違うけど、お前もこれ見てたのか。 ちょっと有名なのかなー…@Web制作板住人 > 1 :ケンタ :sage :2006/03/06(月) 21:38:55 ID:??? > こんにちは。今年に入ってPC弄り始めたケンタです(^^) > > 先週、HTMLという言語(?)の勉強をはじめました! > 気づいたらスルスル頭に入っていくというか、どういうものか理解できてしまった! > 勢いでWEBサイトを作って公開しました〜>_< > > それで、僕が借りてるサーバはHTMLのソースに広告タグを付加してページを > 出力するようになってるんですが、そこにJavaScriptが使われていたので今日勉強しはじめました。 > > すると・・・もうJavaScriptがだいたいどういうものか理解できてしまった!というかWEBがだいたい > どういうものか分かった!んで、今PHP書いてます!もちろんこれはJavaScriptと違ってサーバ側で > 動くのでブラクラにはあまり関係ありませんね(笑) > > ぶっちゃけプログラミングってかなり簡単。。基礎さえ分かれば関数調べるだけじゃん。。 -- 「ブラクラの作り方がわかってしまった。。」htt?://pc8.2ch.net/test/read.cgi/hp/1141648735/1 >>173 いちいちここで発表しなくていいと思うよ。 黙ってやれや屑 さて、ゴールデンウィークの半分が経過しようとしているわけだが。 1その他の宿題もちの方、地道にやってますかー? PHPHPってヌッヘッホーみたいだよね。なんでこんな言語名なんだろ。 >>161 資格を先にとれば勝ち組。 そう信じて高校でプログラミングをマスターしました。 結局何もありませんでした('A`) 糞リア厨ですが、適当に応援してます。 >>173 いろんな既成スクリプト見たり。 http://www.sakura-pc.jp/php/ >>182 >extract()を使用すると、フォームから受け取った情報を持つ変数が簡単に作成できる。 うわ、、、 マニュアル重要。 ttp://coronado.s8.xrea.com/php/function.extract.php | extract() をユーザー入力 ($_GET, ...) のような信頼できないデータについて使用しないでください。 情報中学とかあればいいのにな。 入試にPHP必須。 情報中学 2007年度 試験科目 (2000点満点) ・国語(100点) ・数学(100点) ・英語(100点) ・化学(100点) ・物理(100点) ・日本史(100点) ・PHP(1400点) 合格ラインは8割。 情報中学 2007年度 試験科目 (2000点満点) ・Ada(100点) ・Haskell(100点) ・Smalltalk(100点) ・Lua(100点) ・Ruby(100点) ・D(100点) ・PHP(1400点) 合格ラインは5割。 ↑ それだとPHP大学になってしまう。 日本語とか数学も必要だろう? <?php echo 'Hello, World...' ?> >>192 その程度では情報中学への入学は許可されないであろう。 PerlとPHPとPythonぐらいしかわからん>< echo "Hello, world!"; print "Hello, world!\n"; print "Hello, world!" 今はPHPしか興味ないな… プログラミングにとっついたころ、初めていじった言語が「PHP」だったから。 比較的簡単な言語で、開発も早いっていうし 今更勉強するならやっぱPHPかなって思ったから。 >>191 PHP研究所に相談したら取り組んでくれるかもしれない。>PHPつながりで。 その辺のレンサバで試せるからね。 他の言語とか手出すと、何かと不満も出てくるだろうケド。 http://ja.wikipedia.org/wiki/Hello_world を見る限り、PHPは理解しやすい。 Hello worldと出すだけなのに、何行も必要な言語は駄目だ。 >>201 初心者のうちはそう思うよね。 やがて、名前空間が無くて、クラス名が何文字も必要な言語は駄目だ。 と思うようになる。 >>202 そう思えるようになりたいでつ(>_<) >>202 PHPってきんもーっ☆ ってよく聞くけど、こういう理由だったのか。 >>202 その観点が大いなるすれ違いの理由でしかないってことに気付いた方が。 多くの場合名前空間がしっかりしてなくても必要十分だったりするという現実があるのに、 エンタープライズ向けの開発がしっかりと出来る言語を引き合いに出したりしてあれがないこれがないって言うのは・・・ >多くの場合名前空間がしっかりしてなくても必要十分だったりするという現実があるのに、 例え必要なくとも「出来ない」という事に対して疑問を感じるようになるという事を言ってるのに echo 'asasaaghrjrkttutyr'; print "asaadadadadada"; echo文とprint文ってどの辺がちがうんだろ。 説明されてもいまいちわからん。 違う。echoの方が戻り値がない分、微妙に早い。 体感で分からないぐらいの微妙さだけど。 でもPerlから入った人はprintの方が馴染み深いので printを使う人が多い。……と思う。 ってか何でprintでもいけるんだ? Perlから乗り換える人のためのサービス?パクり? 結果ぐらい書こうなw 余談になるが、変数と定数をごっちゃにして居る人が多い様だけど、これは一体? >>219 Perlから急にPHPに乗り換えた人とか。 社会人なのに俺より>>1の方が習得早そうな件w 人間やりなおしますw PHPから学ぶほうがいいのかなぁ・・・。 とザコの遠吠え スルーしてくだされ まあ中学生なら、工業高校でも狙っとけ。 多分プログラミングの授業はするから。 最近は普通科でもするんじゃない? 中学で「なでしこ」導入とか聞いたことあるし。 工業高校はプログラムあるけど 検定のためにやってBASICかCの基礎だぞ まず、環境作りが大切だよね。 全ページPHPでつくったサイトを3ヶ月ぐらいメンテしてたら どんなバカでもそれなりに出来るようになるでしょ。 ローカルでチョコチョコサンプルコード試してみるだけ とかだとすぐ飽きると思う。 将来を憂うのと嫉妬するのは、似ているけどちょっと違う おい中学生やめとけ 高校までは遊んどけよマジで・・・・ 俺も中3からHTML→Perl→Cとやって ある程度書けるようになったけど学校の成績はかなり下がった 遅くまでパソコンやってるせいで親からもいろいろ言われるしだるいからやめとけ それにプログラミングは持続的にやらなきゃ忘れちゃうって・・・・・ それでも今から延々とやる気があるなら続けるがいい・・(俺みたいになるがな >224でも言ってるけど一般の高校では基礎しかやらない 酷い所だとパソコン使わずに筆記だけの授業だ だから適度に、な? >>229 それより君は、自分の現在を憂うべきです。 >>231 「憂う」を調べるのにずいぶんかかったんですね やばい・・・。 これはおれのためのスレだ・・・。 実は今金欠で困ってて、日払いのバイト、ネットで探してたら phpでwebサイト制作ってのがあって、正直phpなんて触れた事がなかったんだけど 強引に応募してしまって・・・(略 神様、1様ありがとうTT >>233 日払いのバイトがPHPの経験ないって知ったら速攻クビにする。 経験の有無なんてコード読めば一発でわかるしね。 日払いなんてどうせ育てようと思って雇ってるわけじゃないから、 そんなやつに付き合うと無駄なコストになる。 >>234 まだ・・・。 >>235 そうなの?? html、css できるんだけど、phpってやっぱむずい?? >>236 CとかC++とかJavaとか、とにかくプログラミングをやっていれば習得は難しくない。 だが、htmlやcssとは話が違う。 何より、日払いでphp書ける人間を募集するとき、雇用主はphpを使える即戦力を求めている。 にもかかわらず、勉強しながら云々のやつだったら人件費の無駄。 もし、履歴書にphp経験があるなんて嘘を書いていたら履歴詐称。解雇の理由として十分。 趣味でやってる時は1日に100行ぐらいが精一杯なんだけど、 仕事ではどれだけ要求されるんですか >>239 禿同。行数が無駄に多いのは効率が悪いコードに思えるよ 次の日から来なくていいって言われておしまいだろうな、日払いだし。 あるいは午前中だけで3000円くらいもらって帰されるかも 効率が悪いコード例 <?php /* ----------------------- 足し算 プログラム ----------------------- */ $a = $_GET['a']; $b = $_GET['b']; echo $a + $b ; ?> //たしざん kotae = document.fm.a.value + document.fm.b.value; document.write(kotae); >>242 効率がどうやらではなくて、単なる変な書き方だと思う・・・ >>242 こり効率良いかな? function tasi(){return $_GET[a]+$_GET[b];} echo tasi(); 俺も昔は中学生だった。 もう36歳になってしまった。 時間が経つのは早い。 過ぎ去った青春の日々。 やがて来る人生の終わりの日。 今日もまた仕事でプログラミングを行なう。 俺の人生、これで良いのかな? なんでPHPやるんだよ。拡張子が気に入らないのか? .cgiやり.phpのほうがいいのかよコラ。 拡張子なんて飾りなんです。 偉い人にはそれがわからんのですよ >230 うお。なんか似たようなのを感じるなぁ。。 ただ、止めとけとは思わないけれど、「やるなら徹底的に、それが出来ないなら学業とのバランスを」って感じだ。 自分の場合は、結果的に良かったからさ。 俺は、中1からBASIC→PASCAL→Cって感じで、高1の頃(Slackware2.0くらいの頃)からLinuxをメイン環境で使い始めた。かれこれ10年以上前からLinuxを触っているから早い方だと思う。 成績は落ちまくりだよw 進学校ということもあって、周りからは白い目だよ。 で、期待をかけて高校は工業系に行ったんだけど、授業についてはクソだ。全部余裕だ。 ただ、同じような技術系の人種の友達が出来たこと、そういった部活での経験はとても良かった。 この頃の友達や後輩を、前に会社で引き抜いたこともある。 大学は一浪して、3流私大の工学部。 ここら辺から、流れは良かったよ。 大学での専門分野で、今までの蓄積を発揮できて、学部のうちに審査論文を2本も出すことが出来た。 仕事面でも、初めから技術分野の実績があるから、一歩進んでより上流へ。 1個だけ飛びぬけた部分があったおかげで、同年代より飛びぬけたチャンスをもらえた。 今は、30目前だけど、外資系の金融からヘッドハンティングされたよ。(専門の技術分野と、コンサルティングとか上流のスキルを買われて) プログラミングの仕事は今金はいるって言うけど、プログラマーの皆さん、実際どう? なんで中学生がPHPなんて覚えるの? そんなの覚えるぐらいだったらデジタル&アナログ回路設計を覚えたり、 制御理論を勉強するべきだよ。 高専1年でFFTアナライザの使い方を知ってたり、 等価回路変換を完璧にできたり、Z変換を使えたり、 FPGAプログラミングができたりしたらモテモテだぞ。主に教授から。 なんで中学生がPHPなんて覚えるの? そんなの覚えるぐらいだったらデジタル&アナログ回路設計を覚えたり、 制御理論を勉強するべきだよ。 mixed print_r ( mixed $expression [, bool $return = false ] ) の表記方法なのですが、 [, ってどんな意味があるのですか? あとprint_rのrの名前の由来がわかったら教えてください。 宜しくお願いします。 グローバル変数って、関数内でも関数外でも通用する(スコープをもつ)変数かと 思っていたけど、そうじゃないんだね? 関数内ではglobalと宣言してやらないと有効にならないのがグローバル変数なのか。 勘違いしていた。 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 UYV5CDUW3G ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる