私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ中学生がPHPを習得するスレ
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
クラス化されてるしw
って環境はPHP5なのか・・・。
今後発展していっても、都合上4しか環境が無いので、静観しとく。
って環境はPHP5なのか・・・。
今後発展していっても、都合上4しか環境が無いので、静観しとく。
>>101
スミマセソ。独走状態に突入してしまいました。
今後は、原点に戻って、
1. 1氏の応援と援助
2. みんなでわいわいソースの検証
にしますので、参加よろしく。
追伸 1氏のPHPのバージョンは?
スミマセソ。独走状態に突入してしまいました。
今後は、原点に戻って、
1. 1氏の応援と援助
2. みんなでわいわいソースの検証
にしますので、参加よろしく。
追伸 1氏のPHPのバージョンは?
俺は結構おもしろく見ている。
>>57の技量もミックスアップするんじゃないか、ってのも見もの。
>>57の技量もミックスアップするんじゃないか、ってのも見もの。
じゃ、とりあえず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
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>
<?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>
>>1の事は置いてきぼりかい?
せっかくクラス化したんだから、フォームもクラスに入れた方が良くないかな?
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>
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
こんかいの割り算のように小さい物では、あえてやる必要もないと思ったんだけどね。
色々と流儀もあるみたいで、宗教論争が始まったらつまらなくなっちゃいますし。
出力されたhtmlがガチャガチャになるのを嫌って、あえて出たり入ったりで書く人もいるくらいですから。
こんかいの割り算のように小さい物では、あえてやる必要もないと思ったんだけどね。
色々と流儀もあるみたいで、宗教論争が始まったらつまらなくなっちゃいますし。
出力されたhtmlがガチャガチャになるのを嫌って、あえて出たり入ったりで書く人もいるくらいですから。
デザインの修正がやりやすい場合があるから、この場合のformを別ファイル(.html)にして、
本体かクラスのどっちかでrequireする人もいるわな。
本体かクラスのどっちかでrequireする人もいるわな。
ところで、実は、漏れの正体は
http://pc8.2ch.net/test/read.cgi/php/1017456911/の >>760 なのです。
実は受験勉強を理由に自分のスクリプトの開発を中断していたのですが、
2chをやめられず、参考書片手に書き込みをつづけていたのです。
自分で盛り上げておいて申し訳ないのですが、しばらく撤退します。「し
ばらく」というのが一浪明けになるかも知れませんが…スレが生きてたら
また復活します。
サヨウナラ。そして、アリガトウゴザイマシタ...
http://pc8.2ch.net/test/read.cgi/php/1017456911/の >>760 なのです。
実は受験勉強を理由に自分のスクリプトの開発を中断していたのですが、
2chをやめられず、参考書片手に書き込みをつづけていたのです。
自分で盛り上げておいて申し訳ないのですが、しばらく撤退します。「し
ばらく」というのが一浪明けになるかも知れませんが…スレが生きてたら
また復活します。
サヨウナラ。そして、アリガトウゴザイマシタ...
>>118 お疲れ様でしたー。
いろいろ割り算プログラムを作ってたんですが、
割る数のほうに「0」を入れると、
「Warning: Division by zero in C:\Apache Group\Apache2\htdocs\test.php on line 18」
と表示されます。
意味がわからないのでyahoo翻訳してみたところ、
「警告:Cのゼロによる分割:第18行の上のApache GroupApache2htdocstest.php」
といわれました。
これは、記述が悪いんでしょうか?
どうも、仕様臭がプンプンするんですが・・・
いろいろ割り算プログラムを作ってたんですが、
割る数のほうに「0」を入れると、
「Warning: Division by zero in C:\Apache Group\Apache2\htdocs\test.php on line 18」
と表示されます。
意味がわからないのでyahoo翻訳してみたところ、
「警告:Cのゼロによる分割:第18行の上のApache GroupApache2htdocstest.php」
といわれました。
これは、記述が悪いんでしょうか?
どうも、仕様臭がプンプンするんですが・・・
書き漏れ
0で割る事は出来ない
って言うのは、「数学上の仕様」 だと思っておきなさい
0で割る事は出来ない
って言うのは、「数学上の仕様」 だと思っておきなさい
追記
「0除算」でググると吉
「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; }}
?>
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; }}
?>
>>135
1に質問ぜめにされる前に、勉強法を言ったほうがいいお。
1に質問ぜめにされる前に、勉強法を言ったほうがいいお。
HTML → CSS → サイト作った → 配布スクリプトでいろいろ設置 →
サイトになじまない → そうだ自分で作ろう → PHP が簡単らしい →
レッツ → 小部屋 → マンモス PDF 最初のちょっとだけ → 日記できた
ここまでで中三の一学期くらいだったか。
ちなみに織れは新学期から工房。
ってか織れ自体オブジェクト指向ダメぽだから完全じゃないorz
ワンとかニャーとか意味不杉。 MySQL もダメ。
勉強法は三行目。 PHP 本とかは買ってない。立ち読みはしたけど。
サイトになじまない → そうだ自分で作ろう → PHP が簡単らしい →
レッツ → 小部屋 → マンモス PDF 最初のちょっとだけ → 日記できた
ここまでで中三の一学期くらいだったか。
ちなみに織れは新学期から工房。
ってか織れ自体オブジェクト指向ダメぽだから完全じゃないorz
ワンとかニャーとか意味不杉。 MySQL もダメ。
勉強法は三行目。 PHP 本とかは買ってない。立ち読みはしたけど。
つか今はガキでも無修正見放題だからなー。
2ちゃんで宿題マンドクセーとかいいながらぬきまくりしたかったなー
2ちゃんで宿題マンドクセーとかいいながらぬきまくりしたかったなー
俺は中2でphp覚えて掲示板とか作った
で、今受験おわったとこだがほとんど文法忘れた・・・
で、今受験おわったとこだがほとんど文法忘れた・・・
>>1じゃないけど、どこかにPHPの掲示板の作成の説明のサイトみたいなのない?
掲示板を作る流れを解説しているページはないですか。
掲示板を作る流れを解説しているページはないですか。
>>146
ちょ、お前さん、そこまでわかっているならまず手を動かしてみなよ。
ちょ、お前さん、そこまでわかっているならまず手を動かしてみなよ。
>>145
最後の方ワロス
最後の方ワロス
類似してるかもしれないスレッド
- 【PHP】1が必死にPHPを勉強するスレ (106) - [41%] - 2017/12/31 9:31
- フジモト@PHPマスターを讃えるスレ (99) - [30%] - 2018/5/15 1:15
- PHP上級者が集まるスレ (612) - [30%] - 2021/4/21 0:00
- 俺が初心者にPHPを伝授する (983) - [27%] - 2011/2/8 22:01 ○
トップメニューへ / →のくす牧場書庫について