1read 100read
2012年09月WebProg33: 中学生がPHPを習得するスレ (264) TOP カテ一覧 スレ一覧 2ch元 削除依頼
tDiaryスレッド その1 (432)
CGIで運営される2ちゃんねる (222)
【PHP】PEAR Part3 (673)
MySQL vs PostgreSQL (379)
オッフェ(=゚ω゚)ノ♪で1000目指すスレ in WebProg (730)
★三 【 スクリプト改造工房 PART 9 】 ★三 (699)

中学生が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元 削除依頼
(´-`).。oO(なんでだろ?) (434)
GoogleWebToolkit[GWT]について語ろう (224)
こんなの作ってみたんだけど・・・ (388)
【激速】mod_perl SpeedyCGI FastCGI【激速】 (849)
おいおまら誰か教えてくださいHTML・・・ (256)
XSL/XSLT (544)
--log9.info------------------
未来の横綱碧山★1 (848)
【醜面妖怪】市原R【廃棄物】 (312)
国技館のちゃんこに思うことはなんですか? (420)
【初優勝】 旭天鵬応援スレッド2 【おめでとう】 (457)
【元十両限定】引退注意報・警報スレpart4 (247)
これからの太った子供は何を目指せばいいのか (393)
男磨きスレッド (442)
実現してほしかった対戦2 (699)
【実力で】朝青龍の悪行伝説 Part8【滅・品格】 (217)
武州                 山 (211)
【内モンゴル】蒼国来栄吉3【荒汐】 (338)
忍法帖!ninja テストスレ (294)
佐久間山 (960)
★★意外にも実現していた取組3 (756)
↑と↓のスレタイを合体させて遊ぶスレ@相撲板2 (235)
【チヨスランド】千代の国憲輝 応援スレ3【開園】 (747)
--log55.com------------------
臭え同人なら当然一生素人童貞だよな??
【FOLK】VIKING METAL Part10【PAGAN】
セックス出来ない臭え同人は?
セックスしたくないパニウツのキモ同人は?
LOUDNESS・ラウドネス・大和魂
基地外同人が臭え自演を繰り返す理由が判明
【恥の上塗り】基地外自演同人木立龍介w
BURRNスレの基地外が酒鬼薔薇で警察沙汰に