今、チャットサイトを作っていて、g_id(ID)を主キーとして、
ID(g_id),名前(g_name),タイトル(g_title),本文(g_text)を入力して
送信ボタンを押すとDBにID(g_id),名前(g_name),タイトル(g_title),本文(g_text)の順に挿入されて
その入力内容が画面に出るという内容のプログラムを作っているのですが、
送信すると登録確認画面が出るのですが、
エラー(Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\chat2.php on line 30)
が出て、いろいろ直したのですが、エラーが出ます。
一体、どこがおかしいか教えてください。
ID(g_id),名前(g_name),タイトル(g_title),本文(g_text)を入力する画面は(chat.php)
送信後、登録確認画面を出すのがchat2.phpです。
構造としては
g_idが主キー。データ型はint(8)
g_nameのデータ型はvarchar(20)
g_titleのデータ型はvarchar(20)
g_textのデータ型はvarchar(40)
(chat.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>MariaDBへの接続テスト</title> </head> <body> <div align="center" > <h1>チャットしましょ~い!!!</h1> <form action ="chat2.php" method = "post"> <div> <p>ID:<input type = "text" name = "g_id" size = "10" maxlength = "4"></p> <p>名前:<input type = "text" name = "g_name" size = "10" maxlength = "30"></p> <p>タイトル:<input type = "text" name = "g_title" size = "10" maxlength = "220"></p> <p>本文:<input type = "text" name = "g_text" size = "40" maxlength = "40"></p> </div> <p><input type = "submit" name="insert" value="送信"> <input type = "reset" value="リセット"></p> <table border=1> </table> </form> <br> <?php $dsn = 'mysql:host=localhost;dbname=kakunabi'; $user = 'hoge'; $password = '1234'; try{ $dbh = new PDO($dsn,$user,$password); $sql = 'select * from genre'; foreach ($dbh->query($sql) as $row) { print($row['g_id'].','); print($row['g_name'].','); print($row['g_title'].','); print($row['g_text'].''); print('<br />'); } }catch (PDOException $e){ print('Error:'.$e->getMessage()); die(); } $dbh = null; ?> </center> </body> </html> ------------------------------------------------------------------------------------------------ (chat2.php) <?php require_once('class_db.php'); ////POSTで変数'id'が渡されていた場合の処理//DBへPOSTで渡されたデータの挿入
if(isset($_POST['g_id'])){
//POSTのデータを変数に代入+型チェック
$g_id = (int)filter_input(INPUT_POST, 'g_id');
$g_name= (string)filter_input(INPUT_POST, 'g_name');
$g_title= (string)filter_input(INPUT_POST, 'g_title');
$g_text= (string)filter_input(INPUT_POST, 'g_text');
////DB接続
$pdo= new connect();session_start();
if (isset($_POST['update'])) {
$_SESSION['g_id'] = $_POST["g_id"];
}
////DB接続
$pdo= new connect();
// INSERT文を実行
$sql= "INSERT INTO genre VALUES (?,?,?,?)";
$stmt= $pdo->vind_query($sql, $g_id, $g_name, $g_title, $g_text);
echo "$g_id<br>$g_name<br>$g_title<br>$g_text<br>登録しました。<br>";
echo '<button type="button" onclick="history.back()">戻る</button>';
?>
回答1件
あなたの回答
tips
プレビュー