1read 100read
2012年09月WebProg33: 中学生がPHPを習得するスレ (264) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【RoR】Ruby on Rails Part15 (559)
【PHP】ツリー掲示板を作ろう (380)
【PHP】PHPフレームワーク総合スレ15 (703)
tDiaryスレッド その1 (432)
Namazu全文検索システム (365)
【ECサイト】Live Commerce1号店 (393)

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


1 :2006/02/12 〜 最終レス :2012/10/24
中学生ですが、PHPを習得したく思います。
最初は何を学べばいいですか?
本を紹介してくれてもいいです。
そのままレッスンしてくれてもいいです。

2 :
機械語

3 :
終了

4 :
まず、本屋へ行って堂々とエロ本を買ってくるところから。

5 :
空気読めない中学生は、外で遊んできなさい。

6 :
みんなはどこで覚えたの
独学?

7 :
>>6
>>5
−−終了−−

8 :
とにかく掲示板とかカウンターとか、何でも作ってみる。
ネットにはその手のサンプルスクリプトが転がっているが、PHPのではなく、PerlやRubyの
サンプルについての解説やらコメントやらを見ながらやると、いい感じで上達するぞ。

9 :
>8そういった、完全解説つきサイト(orスクリプト)を
教えてほしい。 ただしPHP以外

10 :
終了

11 :
echo "HTML";

12 :
中学生が、なんでPHP覚えるの?てところが激しく疑問

13 :
プログラミングが理解できないろうから、なでしこやっとけ。
HTMLは余裕。
英語さえできれば、普通に使える。

14 :
まず何を作りたいかが決まってないと
何も進まない。

15 :
>>1
"Hello World"

16 :
R
糞スレあげんじゃねえよカス

17 :
PHPなんてどうでもいいから中学生のうちにRーを覚えて出来る限りRしまくれ。

18 :
中学生と中学生は犯罪じゃないけど、
俺と中学生は犯罪だもんなぁ…。

19 :
ょぅι″ょ

20 :
PHPはHTMLに埋め込むことが多いらしい
<html><body>
<?php
echo "Hello, World!";
?>
</body></html>

21 :
>>20
<head>〜</head>
がない時点で失格。

22 :
headは強制じゃないだろ?
それよりtitleが無い方が駄目。

23 :
バカ丸出しだな

24 :
>>20
<html>より先に文字列を出力しているのでOUT!

25 :
>>24
DOCTYPEを否定する人が現れました。

26 :
>>25
DOCTYPE宣言は、「出力文字列」じゃ無い罠

27 :
PHPの「出力文字列」ってことかな?
どっちにしろ、こんな話題で引っ張るなw

28 :
>>27
他に何で引っ張れと?w

29 :
引っ張らなくていいから放置しとけよ

30 :
HTMLとCSSは完璧に覚えました。
掲示板とフォームメールをつくってみたい。

31 :
>>30
おう、がんばれよ








で、PHPは?

32 :
>30
プログラミングというものがいまひとつ理解できません。

33 :
TCP/IPからやっとけ

34 :
>>31
へぇ、完璧に? 本当に? 本当に完璧なんだな?

35 :
HTMLとCSSて完璧に覚えて何か意味あるのか?本見ながら作れれば十分じゃね?

36 :
>>35
というか、「完璧」に覚えられる種類のものじゃない。
1のいう「完璧」がどの程度のものかは判らんが。

37 :
ものを知らないヤツに限って「完璧に覚えました」とか簡単に言いがちだってのは、
本当だったんだな・・・。
もしかして>>1って本当に厨房なのか?!!

38 :
名欄に1と書けば>>1の発言だと信じてしまう
純真無垢なRが集うスレはここですか?

39 :
はいはい。そうだねそうだね

40 :
Javascriptから覚えたほうがいいですか?

41 :
いい時代になったもんだ。
俺が中学生の頃はコンピュータなんて何が出来る物体なのかもわからなかったな。
パソコンでゲームしている奴がいたけど神かと思った。
>1自分がやってて楽しいと思うことをやってればいい。
勉強なんて何からやればいいなんて事はない。
何が書いてあるかわからないものでも、わかりそうな
小さな事を繰り返し積み重ねて行くことで次第に理解できるようになっているものだ。
言っておくとすれば、HTMLだとかJavascriptだとかそんな物は覚える価値すらないものだ。
あとな、この板にいるおじちゃん達はオマイさんが優秀なPHPプログラマー(wになって
自分たちの仕事の価値が下がってしまうのをおそれている心の狭い人たちばかりだからな。
すこしは気をつかってやってくれ。

42 :
>>41

23点

43 :
>>41の懐古を読んで、店頭でFM-7とかにグラフィックデータとか打ち込んでた奴等を思い出した。
俺も歳とったな…

44 :
なんだよ。HTMLの仕様も読めないのにPHP習うってか?ww
どうせMLでくだらない質問して作るしかできないからやめとけ。
外で遊んできたほうがずっとマシ

45 :
>>44
MLで騒いでくれればヲチスレの人たちが喜ぶかも知れない。

46 :
>>45
ノシ

47 :
まあ、応援する義務も無いけど
(・・・・・本当に無いかな;)
止めろ止めろ言わなくてもいいでしょ。
>>1
本屋で好きなだけ立ち読みして気に入ったものを買えば良い。
つうか本当に何かアドバイスが欲しいなら2chで質問とかするなw

48 :
>>47
ネタだから大丈夫だろw

49 :
Javaスクリプトか…

50 :
釣られすぎ

51 :
頼むから次の仕事はPascalでやらしてくれーーーー

52 :
うん、とりあえずJavascript覚えな。

53 :
PHPそのものの解説に関しては、オンラインマニュアルに勝る書物を見たことがない

54 :
紙のマニュアル欲しいな

55 :
なるほど、紙を作るマニュアルか。
王子製紙の下請け工場の方ですか?

56 :
>>54
man paper
まぁ紙にしてもすぐに古くなっちまうから無駄だな。
定期的に紙にして書棚に並べるんだったら問題ないけど。

57 :
オライリーの「はじめてのPHP5」が一番参考になった。
それと、漏れがよくお世話になってるとこ。
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/

58 :
面白そうなので、57は1を応援します。

59 :
まずは、環境作りから。
http://allabout.co.jp/career/database/closeup/CU20040928A/

60 :
次は、フォーム処理が一番勉強になると思う。
<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>

61 :
>>60
表示だけで実害はないと思うが、XSS脆弱だな

62 :
表示だけでXSS脆弱って、あるんですか?
勉強になりそうなので、詳しく教えてください。

63 :
エスケープする必要があるな

64 :
>>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 です。";
}
?>
どうでしょうか?

65 :
>>64
うーm、HTMLを出力するためにPHPモードをぬけているのはワザあり
でグッジョブ!
それでは、早速ポイント解説に。
・empty()関数は値が0の場合にもfalseを返します。つまり、uhen=0, sahen=0
の場合、式としてはオケィでも、計算をしてもらえなくなります。こういうとき
にはstrlen()あたりがおすすめです。
・遊び心たっぷりのユーザにも対応できるように、入力が数字かどうかを確か
めるといいかも。
if (! preg_match('/^[0-9]$/', $_GET[sahen] . $_GET[uhen])) {
print '入力は半角数字でね';
}
みたいに。

66 :
>>65
誤) '/^[0-9]$/'
正) '/^[0-9]+$/'

67 :
>>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 です";
}
}
?>

68 :
今回はコメントで解説してみました。
<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} です";
}
?>

69 :
どうでもいい事だが、「左辺」と「右辺」の使い方が間違っている。

70 :
おれPerlつかう人だけどさ、
PHPってきもいね。
記法が。
入るだの抜けるだのありえないんですが…いや聞き流してくださってかまわないっす。
(ちら裏)
そりゃPerlも十分きもいけどさ。

71 :
Perl書くやつできれいなコード見たことない。
KENTを代表として。

72 :
PerlのKENT
PHPのLet's

73 :
>>69
うん。そうなんだよ。確かにそうなんだけどさ…
スレの趣旨を重視して、そこはニュアンスだけにしときませんか…

74 :
>>69
被除数(わられるかず)と除数(わるかず)だよな。
>>68
| }elseif(($_GET['sahen'] % $_GET['uhen'] !== 0) && ($_GET['sahen'] > $_GET['uhen'])){
剰余の前に除数と被除数の0チェックをしたいところ。

75 :
>>73
こんなところで、ゆとり教育してどうする。
PHPとは関係なくても間違いは正してやらにゃ。
厨房相手ならなおのこと。

76 :
>>74
1を応援しますとか言いながら、自分の無能さを痛感したため
一時退却します。
誰か、引き続きよろしく。

77 :
>>75
すみません。漏れもゆとり教育を受けたので、ゆとり教育に
甘んじているのです。

78 :
>>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の割り算キタコレ!!" ;
}
?>

79 :
>>78
ダメ。
最初の一回目がキタコレになっちゃうよ。

80 :
>>78
ただ今、戻りました。
簡潔で、わかりやすくなってますね。それとinputにテキストが入っ
てるのが細かい工夫でいいかんじです。
蛇足ですが、2chは空白を削除しちゃうので、ソースの掲載には不向
きですね。対応する括弧がわからない…

81 :
>>79
$dividend = 'なんか入れてね' ; $divisor = 'なんかいれてね' ;
てのはどう?
ちなみに最初のif分岐は
$dividend = isset($_GET['sahen']) ? $_GET['sahen'] : 'なんか入れて' ;
$divisor = isset($_GET['uhen']) ? $_GET['uhen'] : 'なんか入れて' ;
でもいける。

82 :
>>79
そか
じゃ、さきっちょのところをこれでごまかすのはどうかw
$dividend = $divisor = '' ;
if ( $_GET['uhen'] && $_GET['sahen'] ) {
$dividend = $_GET['sahen'] ;
$divisor = $_GET['uhen'] ;
}
>>80
お帰りなさい。俺はRーでもして寝ます。おやしみー

83 :
>>81
じゃ、それで。

84 :
>>82
おやしみー

85 :
右辺、左辺の使い方は間違っているのはもう確信犯なんですが、
それに変わる正しい言葉がみつからなかったんで・・・。
だんだん精密なプログラムになってきましたね。
やはりプログラミングは、>>64のような柱から、後で精密にしていくもんなんでしょうね。
今日はゆとり世代の私につきあってくれてありがとうございました。>>57>>58-64

86 :
割り算、まとめ。
<?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の割り算キタコレ!!" ;
}
?>

87 :
>>59
手っ取り早くならXAMPPかな。

88 :
なんか興味深いスレだwww
たとえ>>1が釣りでも、池沼春厨でも、
おれはこのスレに常駐するとしよう。
糞春厨が新学期には掲示板を作れるようになるのをみさせてもらおう。
それは無理か

89 :
>>86
答えを出力するところが冗長。
printf( "答えは、%d %s です。", $answer, $amari_answer ? "あまり {$amari_answer}":'' ) ;
一行ですむね。

90 :
>>86
それだと、小数点の計算ははねられちゃう。
> elseif ( !preg_match('/^[0-9]+$/',$dividend.$divisor) ){
        ↓
elseif ( !is_numeric($dividend) || !is_numeric($divisor) ){
ってのはどうだ?

91 :
>>90
剰余を出力するんだから、小数点の考慮は不要では?
さっそく仕様の問題が出てきたかwww

92 :
たがが割り算計算でも、チェックするとなるとムズいな。
>>1よ、チェックを怠るな…
ただ、>>1の最初の割り算スクリプトについてだが、
ちゃんと(int)を使っているあたりがよい。
また、余り出力のアイディアも悪くないので、
鍛えればかなり優秀なプログラマーになる悪寒。
やばい、仕事場が>>1によって失われそうで本当に悪寒が…

93 :
>>92
あるあ・・・ねーよwww。

94 :
じゃ、割り算まとめ(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でやりたいが。 -->

95 :
>>94
まぁいいんだが、まとめは>>1にやらせろよ。
じゃなきゃ、結局フーーンで終わっちゃうヨカン

96 :
割り算(改良型)
・少数可
・不自然な最初の警告文非表示
<?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の割り算キタコレ!!' ;
}
}
?>

97 :
誤)$submit_check = isset($_GET['dividend']) ? $_GET['dividend'] : 0 ;
正)$submit_check = isset($_GET['submit_check']) ? $_GET['submit_check'] : 0 ;

98 :
しまった。
$dividend = isset($_GET['dividend']) ? $_GET['dividend'] : '数字を入力' ;
$divisor = isset($_GET['divisor']) ? $_GET['divisor'] : '数字を入力' ;
により、下の式は常にtrueだ!!
if ( (!strlen($dividend)) && (!strlen($divisor)) )

99 :
もう限界…
<?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 : '' );
}
}
}
?>

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
PDFのWebページは糞 (702)
ColdFusion (728)
【MT】MovableType【設置方法】 (889)
=== MediaWiki 管理者の集い 第3版 === (477)
php5これでCGIはphp1色の時代へ (845)
【ECサイト】CS-Cart Part1 (944)
--log9.info------------------
(特別自治スレ)通称 千葉So-net落雷 対策本部 (ゲーム速報荒らし) (273)
【売上】週間CSゲーム売上ランキング(2012年09月24日〜2012年09月30日) (208)
Vita年末需要でも4万2千台に急落、長年のステマ実らず。自業自得の声も (287)
【話題】矛盾だらけのソニーのNGP、PSS戦略「高機能なだけのハードでは消費者は動かない」 (347)
【ステマもうだめだ】PSVita、アマゾンでついに値崩れ (597)
任天堂・岩田社長「いわゆるDLC商法のようなものは、絶対行わないことを保証する」 (243)
【PS3】『ジョジョの奇妙な冒険 オールスターバトル』 PS3で制作決定!! (426)
ニンテンドー3DS向けに『モンスターハンター4』が正式発表!その2 (509)
【PS3】 『テイルズ オブ エクシリア』 発売初日で国内出荷本数が50万本突破 シリーズ最速! (536)
◆3DSLL、音量を最大にしても音が小さすぎるよ!◆ (224)
【3DS】ニンテンドー3DSの国内累計販売台数が600万台を突破 (344)
SCEサポートセンターにVITA不具合問合せが殺到! (367)
【3DS】カプコン、『ロックマンDASH3』を開発中止と発表! (841)
【3DS】値下げによる任天堂の損失は、ソフトを6本購入してもらわないと取り戻せない (414)
【WiiU/3DS】スマブラ新作がバンナム開発でガッカリする任天堂信者に対し、桜井氏がキレる! (267)
【業界】カプコン小野氏、PS VITAの発表会でSCEの河野氏にマジギレ (224)
--log55.com------------------
【飛ぶボール確定】今年もホームラン出過ぎ
秋田の高校野球172
☆★☆茨城の高校野球338★☆★
【千葉】 “美爆音”習志野 × "指笛"沖縄尚学 うるせ〜うるせ〜www A【沖縄】
高校球児の進路81
明徳義塾 vs  智弁和歌山
2019年選手権大会 最弱代表はどこだ!? Part22 修正
【風林】山梨の高校野球112【火山】