[ Tags :: PHP ]

PHPで作るお手軽ウェブコンテンツ

昨夜は、何を思い立ってか、PHPでコードを書き始めました。

ほとんど保守でしか触らない私ですが、定期的に続けないとこりゃだめだなと痛感したのは言うまでもありません。


今回作ったのは、いわゆるアンケートプログラムで

次期iPhone5はどのキャリアで買うか?

と言う世間一般ありがちな話題です。

プログラムの中身は、PHPとMySQLと言う至ってシンプルなモノで
初期化エンジンを読み込み、SQLを書いてフォームで繰り出すと言うものです。
エラー処理は多少手抜きをして、SQL側で行う暴挙に出ていますがこの辺は今後制御をしっかり作れば別ですが、利用できる仕組みは利用した方が良いと思うのは人間の常でしょうか。


さて、だめっぷりが露見しそうですが、簡単にソースコードを出してみます

<div class="bg_profile" id="main2" >
<h2>2013年9月に発売予定の新型iPhone5。あなたならどの会社を選ぶ?</h2>
<ul>
<form id="form1" name="form1" method="post" action="">
<li>
<label for="radio">
<input type="radio" name="radio" id="radio" value="1" />
NTTドコモ </label>
</li>
<li>
<label for="radio">
<input type="radio" name="radio" id="radio" value="2" />
ソフトバンク </label>
</li>
<li>
<label for="radio">
<input type="radio" name="radio" id="radio" value="3" />
au </label>
</li>
<li>
<label for="radio">
<input name="radio" type="radio" id="radio4" value="4" checked="checked" />
その他</label>
</li>
<li>
<input type="submit" name="button" id="button" value="投票!" />
</li>
<p>
<input type="hidden" name="mode" value="entry" />
</p>
<p>
<?php require "../system.php";
$post = $_POST["mode"];
$get = $_GET["mode"];
$radio = $_POST["radio"];
$theme = "iphone5s";

if ($post == 'entry')
{
$sql = "insert into enq values(NULL,'$theme','$radio','$_SERVER[REMOTE_HOST]','$nowdate[0]')";
$result = mysql_query($sql,$db);
if ($result)
{
echo "<h3>投票を受け付けました!</h3>¥n";
}
else
{
echo "<h3>【エラー】同一IPから1票のみ受け付けます</h3>¥n";
}
echo <<<__HTML__
<form id="form2" name="form2" method="post" action="">
<input type="submit" name="button2" id="button2" value="結果を見る" />
<input type="hidden" name="mode" value="result" />

</form>
__HTML__;
}

if ($post == 'result')
{
$name["1"] = "docomo";
$name["2"] = "SoftBank";
$name["3"] = "au";
$name["4"] = "その他";

$sql = "select * from enq where theme = '$theme' ";
$result = mysql_query($sql,$db);
$count = mysql_num_rows($result);

echo "<h2>合計 : {$count} 票</h2>";

$sql2 = "select radio,count(radio) as total from enq group by radio ";
$result2 = mysql_query($sql2,$db);
echo "<dl class=¥"enq¥">¥n";
while ($temp = mysql_fetch_assoc($result2))
{
$list = $temp["radio"];
$total = $temp["total"];
echo "<dt>{$name[$list]}</dt>¥n";
echo "<dd>{$total} 票</dd>¥n";
}
echo "</dl>¥n";
}

?>
</p>
</form>
</li>
</ul>
<div class="social">
<label title="ツイートする"> <a href="https://twitter.com/intent/tweet?text=新型iPhone5。あなたならどの会社を選ぶ?&url=http%3A%2F%2Fwww.ai2station.com/enq/iphone5s.php"><img src="../image/t

— posted by at 10:45 am  

PHPと現代的プログラミング技術

プログラミング言語を色々使ってみると、様々な癖や特色あることに気づかされる。

今日の話題の一つに「連想配列」があったが、元々の流れはC言語のポインタ理論に近いところがあったように思う。


連想配列とはイメージするとペン立てにボールペン等文房具が入っているのをイメージしてほしい。


文房具にはそれぞれ特徴があり、鉛筆やボールペン、ハサミやホッチキスといったところだ。

連想配列の呼び方の基本は「文房具」の中にある「ハサミ」はハウマッチ?ということで

つまりハサミ=980円。という考え方になる。

これまでは、文房具にはそれぞれ整理番号を作り「鉛筆1番、ボールペン2番、はたまたハサミ10番」といった要領で、10番=980円というのが一般的だった。

これをダイレクトに「ハサミ=980円」とできるのが連想配列の魅力である。


これまでのプログラミング技術において常識と非常識があるのだが、PHPはエラー処理が緩いこともあり初心者でも使いやすい言語だ。

その一方で、無茶苦茶なプログラミングを構築することも可能故、エラーを探すのも難しい。


PHPにおける現代的プログラミングは

文字列として扱う場面と、数値で扱う場面

さらにはデータベースにおけるデータ処理の考え方と多岐にわたる。


わかりやすく伝えることの難しさを改めて垣間見た

— posted by admin at 11:27 pm   pingTrackBack [0]

制作会社のレベルを見極める

先日、メールサービスのみの契約をしているお客さんから電話がはいった

話を聞くと、MySQLとPHPのバージョンはいくつか?と言う話。

制作会社が指定したバージョンは、MySQL5とPHP5であると言う話だが、尋ねているお客さんはどんな事か分かっていない事が判明

電話口で「エムワイエスキューエル」と言う言葉がでた際に、表記上は「マイエスキューエル」と呼ぶべき所であるが、この点は至極仕方ない。

さて、このPHP5とMySQL5というのは、近年のウェブサーバーのシステム上は、標準となっているが、実際は普及版であるVer4系統が比較的使われており、併存しているケースも多い。

PHP5については、メインを5で、サブセットとして4を使う事が出来るが、MySQLについては、4系統と5系統では異なる為、注意が必要である。

特にMySQL5やPHP5が使える事を前提に尋ねる事は、何らかのパッケージングウェアの導入があると考えられる。
(主としてXOOPS CubeやEC CubeといったCMSパッケージ)

もちろん、こういったウェブシステムが不適とは言えないし、新しいバージョンのシステムを導入する事は決して悪い話ではない。

さて、制作会社のレベルを見極める上で、システムのバージョン等については、かんたんに調べる事が出来る。

それはPHP命令の一つである phpinfo() と言う関数がある。

これを実行すると、自分で調べたい情報、対応しているサーバ情報がすべて分かる仕組みだ

phpver

phpver2


この手法を知っているならば、わざわざ尋ねる事はしなかっただろう。
もし尋ねるとすれば、データベースのIDとパスワードを尋ねる事はあっても、バージョンがどうか?と言う質問は返ってくる事は皆無と思われる。

もっとも、こういった事は下調べとして制作会社であれば「普通」に知っている方法であり、システム開発を行う制作会社ならば、サーバの仕様にあわせて構築できて然りと思われる。

なぜそれに固執するか?と言う事を考えると、「制作する実力無く、パッケージのインストール(組み込み)」しか出来ない為と考える事が自然である。

もっとも、収容先をメールサーバの変更無く実施出来る事が常であるものの、中には出来ない会社もあるため悩ましい所でもある。

近年、VPSと呼ばれる仮想専用サーバーであれば、こういった問題にも柔軟に対応出来るが

現実は費用対効果の問題であきらめざる得ない部分があるのも事実である。

SQLやサーバーに限らず、新しいサービスが良いとは必ずしも限らない

新しいサービス=不安定

と言う事は、常にぬぐい切れず

今後の課題を残す結果になるだろうと考えられる。

— posted by おおくす@ai2station at 06:17 pm   pingTrackBack [0]

このエントリーをはてなブックマークに追加
<< 2024.11 >>
SMTWTFS
     12
3456789
10111213141516
17181920212223
24252627282930
 
T: Y: ALL:
Created in 0.0215 sec.