勉強したことのメモ

webプログラマが勉強したことのメモ。

CRUDのfunction化(処理ページ)

      2014/07/03

<?php
//エスケープ用htmlspecialchars
function h($str){
    return htmlspecialchars($str,ENT_QUOTES,"UTF-8");
}

//エスケープ用mysql_real_escape_string
//将来のバージョンで削除される予定らしいのでPDO勉強しておく必要あり
function m($str){
    return mysql_real_escape_string($str);
}

//作成
function Create($isbody){
$sql = '
INSERT INTO
form (isbody)
VALUES ("' . m($isbody) . '");
';
$row=mysql_query($sql);
header("Location: ./index.php");
}

//読み出し
function Read(){
$sql = '
SELECT *
FROM form;
';
$row = mysql_query($sql);
while($result = mysql_fetch_array($row)){
echo '
<tr>
<td>
' , $result["seq"] , '
</td>
<td>
' , h($result["isbody"]) , '
</td>
<td>
' , $result["istime"] , '
</td>
<td>
<input type="button" value="削除" onclick="return delete_check(',$result["seq"],')">
</td>
<td>
<input type="button" onclick="location.href=\'index.php?mode=change&seq=' . $result["seq"] . '\'" value="編集">
</td>
</tr>
';
}
}

//更新
function Update($seq,$isbody){
$sql = '
UPDATE form
SET isbody = "' . $isbody . '"
WHERE seq = ' . $seq . ';
';
$row = mysql_query($sql);
}

//削除
function Delete($seq){
$sql = '
DELETE FROM form
WHERE seq = ' . $seq . ';
';
mysql_query($sql);
header("Location:./index.php?mode=delete2");
}

//モード制御
function Mode($mode,$isbody,$seq) {
if ($mode == "registration") {
Create($isbody);
} elseif ($mode == "delete") {
Delete($seq);
} elseif ($mode == "change") {
Change($seq);
} elseif ($mode == "update") {
Update($seq,$isbody);
}
}

//編集内容呼び出し
function Change($seq){
$sql = '
SELECT *
FROM form
WHERE seq = ' . $seq . ';
';
$row = mysql_query($sql);
while($result = mysql_fetch_array($row)){
$isbody_value = $result["isbody"];
}
return $isbody_value;
}

//編集内容表示
function Isbody_value($seq,$mode) {
if ($mode == "change") {
$str = Change($seq);
echo h($str);
}
}

//hiddenの切り分け
function Hidden_value($mode) {
if (!isset($mode) || $mode == "delete" || $mode == "delete2" || $mode == "update") {
echo "registration";
} else {
echo "update";
}
}

//submitの表示切り分け
function Submit_value($mode) {
if (!isset($mode) || $mode == "delete" || $mode == "delete2" || $mode == "update") {
echo "新規作成";
} else {
echo "編集";
}
}

//処理後の表示
function Display($mode) {
if ($mode == "update") {
echo '<font color="red">編集が完了しました。</font>';
} elseif ($mode == "delete2") {
echo '<font color="red">削除が完了しました。</font>';
}
}

 - PHP

  関連記事

PHPでソーシャル(SNS)ログインする方法

「facebook / twitter / Googleアカウントでログインする ...

PHPでeval時のエラー

eval()'d code on line みたいなエラーが出てた。 よそのシス ...

PHP側での画像最大アップロードサイズの確認

画像がアップロードできず、恐らくサイズ指定にひっかかっているので 最大サイズを調 ...

時間と数字のフォーマット

教わったのでメモ。 ・時間の整形 strtotime() 例) $ymd = ' ...

$_SERVER['PHP_SELF']に脆弱性あり

formのaction属性とかページングのリンクとかで、 <form ac ...

PHPでディレクトリの作成と削除

PHPでユーザID毎にディレクトリを作成しその中にキャッシュファイルを格納したか ...

PHPで配列のキーの最大値を取得する方法

配列のキーに整数値が入っていて、その中から最大値を取得したいケースがあった。調べ ...

PHPファイルを解析する時に役立つ関数

初めて見るファイルに対して読み解くのに 役立つ関数が3つあったのでメモ。 get ...

PHPの条件式でまとめて評価

PHPのソースで、 if( !($hoge || $fuga || $foo) ...

PHPで数値チェック

ページング情報だったりフォーム情報だったりで、 数値かどうかをチェックしたかった ...