Posts Tagged ‘basic’

PHP:basic4

3月 24th, 2010 by q | No Comments | Filed in basic, PHP

フォーム処理
(サーバーとクライアントのデータ授受)

フォームに入力した内容をサーバー側で処理して
クライアント側に結果を返します

タグのactionアトリビュートにsubmitボタンのクリックで
起動されるPHPプログラムとmethodアトリビュートに
フォームからの送信方法(POST方法)を指定します

<html>
<form action="action.php" method="post">
名前:<input type="text" name="name">
年齢:<input type="text" name="age">
<input type="submit" value="送る">
</form>
</html>
<pre>
<?php
echo "こんにちは".$_POST["name"]."さん\n";
echo "あなたは".$_POST["age"]."歳です\n";

?>
</pre>

submitボタンのクリックでサーバーに送信
サーバー側でactionイベントの処理に指定したaction.phpを実行
action.phpでは送られてきたデータを$_POST[“name”]の様に取得
$_POSTはpost形式で送られてきたデータの文字列テーブルを表示

フォームの各要素のnameアトリビュートで指定している文字列を参照して
入力された内容を取得する

取得したデータをechoでクライアント側に返す

※このような処理はJSではできないPHPならではの処理


Tags: ,

PHP:basic3

3月 11th, 2010 by q | No Comments | Filed in basic, PHP

定義済み変数と関数

ブラウザ情報の取得

<?php
$browser=$_SERVER["HTTP_USER_AGENT"];
echo $browser;
if(strpos($browser,"MSIE")!==false){
echo "\n ブラウザはIEです \n";
}
?>

ブラウザの識別

<p>あなたのブラウザは
<?php echo htmlspecialchars($_SERVER['HTTP_USER_AGENT']) ?>
ですね?</p>

$_SERVER配列
複数のデータを管理できる配列

$_SERVER[“HTTP_USER_AGENT”]
$_SERVERに格納されているデータを取り出す
この場合はブラウザ名やバージョンを取り出す
文字列は二重引用符””で囲みます

$_SERVER[‘REMOTE_ADDR’]
IPアドレスの取得
$_SERVER[‘HTTP_REFERER’]
ひとつ前にアクセスしていたURL(リンク元)
$_SERVER[‘HTTP_ACCEPT_LANGUAGE’]
ブラウザの言語

ライブラリ関数
処理をひとまとめにしておき必要によって呼び出す

ライブラリに含まれる関数とユーザー定義関数の2種類がある

strpos
文字列の中からある文字列の位置を探す関数

strpos($browser,”MSIE”)!==false)
$browserが示す文字列の中の”MSIE”がある位置を探します
なければfalseという値を返します

if文
条件判定を行う命令文です
if(strpos($browser,”MSIE”)!==false)
strpos関数の返す値がfalseでないかを判別する
$browserの中に”MSIE”という文字があれば使用ブラウザはIEという判定

比較演算子
!==
厳密な比較判定を行う演算子です
!=を使うとfalse,0,”0″なども偽と判断される
!==や===は論理値のfalseのみを偽として扱います


Tags: ,

PHP:basic2

3月 1st, 2010 by q | No Comments | Filed in basic, PHP

HTMLタグの出力

echoでHTMLタグを出力するとHTML文として機能します

<?php
echo"<pre>";
for($i=0;$i<5;$i++){
echo"hello PHP!\n";
}
echo"</pre>";
?>

実際の書き方では<html>や<body>を置いて使用します

変数の役割(for文)

<font size =1>hello world<br></font>
<font size =2>hello world<br></font>
<font size =3>hello world<br></font>
<font size =4>hello world<br></font>
<font size =5>hello world<br></font>
<font size =6>hello world<br></font>
<font size =7>hello world<br></font>

上記のhtmlをPHPのfor文と変数$nを用いて書く

<?php
for($n=1;$n<=7;$n++){
echo"<font size=".$n.">";
echo"hello world<br>";
echo"</font>";
}
?>

echoの3行は1行にまとめられます

<?php
for($n=1;$n<=7;$n++){
echo"<font size=".$n.">hello world<br></font>";
}
?>

Tags: ,

PHP:basic1

2月 16th, 2010 by q | No Comments | Filed in basic, PHP

PHPの書式

<?php
echo "hello world!";
?>

命令文の終わりに;を付ける
文字列は””で囲む

命令文

$i=0;

変数の頭は$
変数$iに数値0を代入する

<?php
    for($i=0;$i<5;$i++){
    echo "hello PHP!<br>";
    }
?>

for($i=0;$i<5;$i++)
変数$iを0から始めて5未満の間$iを+1しながら
{と}の間の内容を繰り返す命令

<pre>タグ

改行について
空白、改行には¥n,¥tを使う
var_dump,print_rなどの関数を使う

¥nのみでは改行されないので<pre>タグで囲う

<pre>

<?php
for ($i=0;$i<5;$i++){
echo "hello,PHP!\n";
}
?>
</pre>

(上記タグは¥を\に差し替え済み)

ここまでやっておっと!なんかうまくいかないとなりまして。
¥nでMacでは改行されない件
¥nで改行できないのはMac特有の問題なのでしょうか。
Macで¥nで改行されないときはPHP_EOL

とまぁ、改行できなかったわけです。
ほんじゃ先に進めないじゃないかと調べたところ、

・MacではUnicodeだから\と¥が区別される
・改行は\n(バックスラッシュ+n)で行う
・バックスラッシュの入力方法はoption+¥で\でます。
・¥入力を使うものは\にすべて置き換えて置くのが無難

ちなみにこれはFlash(AS)でも同じみたい。
\r\nが改行コードとして認識されない

ついでに¥があるのはJISキーボードのみで、
USキーボードの方は\どうやって入力してるんだろうとふと疑問に思ったり。

おまけ:wordpress内でコード表をさせる時の<や>を半角で表示させる記述
半角<  &lt;
半角>  &gt;
それぞれ半角で記述します。
そのまま半角>を入れてもコード認識されてしまいます。


Tags: ,