PHPでの確認画面について
入力フォーム(html)に必要事項を入力し
PHPでデータを受け取り、Mysqlに保存後
PDF出力しております。
DBに書きこむ前に確認画面を出したいのですが
以下のプログラム1つで行なうことは可能でしょうか?
それとも、プログラムを分ける必要がありますか?
フォームに入力
↓
確認画面
↓
OKならDBへ出力&PDF出力。
NGなら入力フォームに戻りたいです。
PHP初心者です。
どうぞ、宜しくお願いします。
-----
<?php
//#環境設定
mb_language("Japanese");
mb_internal_encoding ("utf8");
$errflg = 0;
$host = 'localhost';
$user = 'xxxxxx';
$password = 'xxxxxx';
$database = 'xxxxxx';
//DBへ接続開始
$link = mysqli_connect($host, $user, $password, $database);
if (!$link)
{
print("接続できませんでした");
exit();
}
/* 文字セットを SJIS に変更します */
mysqli_set_charset($link, "SJIS");
//オートコミットOFF
mysqli_autocommit($link, FALSE);
//重複チェック
$account = $_POST["name"];
$sql = 'select * from xxxxx where name = "'.$name.'";';
$rs = mysqli_query($link, $sql);
$rows = mysqli_num_rows($rs);
if($rows == 0){
}
else
{
echo "【".$name."】は既に登録されています。<BR>";
$errflg = 1;
}
// ステートメントの設定
$sql = 'INSERT INTO schoolmate (id,name) VALUES(?,?)';
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_bind_param( $stmt,"ss", $id, $name );
// 入力チェック
//名前(性)
if($_POST['name'] == ""){
echo "【名前】が未入力です。<BR>";
$errflg = 1;
}
~省略~
// 値設定
if($errflg == 0){
$id = $_POST["id"];
$name = $_POST["name"];
//SQL文を実行する
mysqli_stmt_execute($stmt);
//コミットする
mysqli_commit($link);
//ステートメントクローズ
mysqli_stmt_close($stmt);
//DBへの接続を切断
mysqli_close($link);
require('/php/includes/fpdf/mbfpdf.php');
$pdf=new MBFPDF();
$pdf->AddMBFont(GOTHIC ,'SJIS');
$pdf->AddMBFont(PGOTHIC,'SJIS');
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont(GOTHIC,'',10);
$pdf->Write(8,"(xxxxx)\n");
$pdf->Cell(0,30,'平成 年 月 日',0,1,R);
$pdf->SetFont(GOTHIC,'',12);
$pdf->Cell(0,20,'氏 名 印',0,1,R);
$pdf->SetFont(GOTHIC,'',14);
$pdf->Cell(63,10,'氏名(漢字)',1);
$pdf->Cell(63,10,$id,1);
$pdf->Cell(63,10,$name,1,1);
~省略~
$pdf->Output();
}else{
$errflg = "1";
}
?>
お礼
たしかにPHPよりもSQLで取り出す方が高速ですね。 何故気づかなかったんだろう・・ 解答ありがとうございました。 進めていただいた、PDOで実装する方法も試してみたいと思います。