htmlとphpの分離
お世話になります。
ビジュアルをcssで調整するために、htmlとphpの分離したいんですが、どう分ければいいか教えていただけませんか?
ソースはこれです↓
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<link rel="stylesheet" type="text/css" href="base.css">
<title>ファイルのアップロードフォーム</title>
</head>
<body>
<form enctype="multipart/form-data" method="post">
<input type="file" name="myfile" size="30">
<input type="submit" value="アップロード">
<?php
//全てのエラー・警告を出力する
ini_set('error_reporting', E_ALL);
//アップするディレクトリ
$uploads_dir = '../../file_manager/uploads';
//データベースに接続
$con = mysql_connect('','','');
mysql_select_db("");
//セットされているかのチェック
if(isset($_FILES["myfile"])
and $_FILES["myfile"]["type"]=="application/pdf"
and $_FILES["myfile"]["error"] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["myfile"]["tmp_name"];
$name = mysql_real_escape_string($_FILES["myfile"]["name"]);
$size = $_FILES["myfile"]["size"] / 1024;
//テーブルに格納
$sql ="insert into t_pdf_manage (name,size,upload_time,modify_time,flg) values('$name',$size,now(),now(),1)";
mysql_insert_id();
mysql_real_escape_string($sql);
$sql .=" on duplicate key update size=$size,modify_time=now(),flg=1";
$result=mysql_query($sql,$con);
//テーブルからidを抽出
$sql ="select id from t_pdf_manage where name='$name'";
$result=mysql_query($sql,$con);
//添字配列でidを取得
$row=mysql_fetch_row($result);
$up_name=$row[0];
//ファイル名をidにしてアップ
move_uploaded_file($tmp_name, "$uploads_dir/$up_name");
}
if(isset($_POST["del"])
and is_array($_POST["del"])) {
$sql ="update t_pdf_manage set flg=0 where id in(";
$flg=true;
foreach($_POST["del"] as $val) {
if($flg) {$flg=false;}
else {$sql.=",";}
$sql .="'".mysql_real_escape_string($val)."'";
}
$sql .=")";
$result=mysql_query($sql,$con);
}
$sql ="select id,name,size,upload_time,modify_time from t_pdf_manage where flg=1";
$result=mysql_query($sql,$con);
print "<table border=1>\n";
print "<tr>\n";
print "<th>名前</th>\n";
print "<th>サイズ(KB)</th>\n";
print "<th>アップロード</th>\n";
print "<th>更新</th>\n";
print "<th>表示</th>\n";
print "<th>削除</th>\n";
print "</tr>\n";
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
print "<tr>\n";
print "<td>".htmlspecialchars($row["name"])."</td>\n";
print "<td>".$row["size"]."</td>\n";
print "<td>".$row["upload_time"]."</td>\n";
print "<td>".$row["modify_time"]."</td>\n";
print "<td><a href=\"hyouji_test.php?id=" . $row["id"] . "\" target=\"new\"><img src=\"pdf.gif\"/></a></td>\n";
print "<td><input type=\"checkbox\" name=\"del[]\" value=\"".$row["id"]."\"></td>\n";
print "</tr>\n";
}
print "</table>\n";
mysql_close($con);
?>
<input type="submit" value="削除">
</form>
</body>
</html>
補足
ご回答ありがとうございます。 まだPHPは始めたばかりで、よくわかっていないところもありますので、 下記は間違いだったらすいません。 >一般的に「検索」の場合はPOSTではなくGETにします。 ですが、 http://localhost/tables.php?name='あああ' というような具合で、GETを使用すると検索条件が表示されてしまうので、 あまり良くないといったことをどこかで見たものですから、 POSTを使用したほうが良いのかなと思ってました。 上記のURLのようになりますが、リンクの値が $_GET['namde']で取得は出来ました。ありがとうございます。 プレースホルダについては、用語さえ聞いたことがないので、 勉強させていただきます。ありがとうございます。