質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1992閲覧

PHPでチャット作っていてエラー出て動かない

maqtaro

総合スコア14

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/01/12 06:43

今、チャットサイトを作っていて、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>';
?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/01/12 08:08

プログラムコード(およびエラーメッセージ)は```で囲ってください。(わからなければ質問編集画面でコード部分を選択し<code>ボタンを押してください)正しく反映されているかどうかは質問編集画面のプレビューを見ながら編集していってください。
guest

回答1

0

ベストアンサー

Parse error: syntax error, unexpected end of file in (ファイル名)

日本語に訳せば、「文法的におかしなところでファイルが途切れています」という意味です。確認してみると、if(isset($_POST['g_id'])){に対応する閉じカッコがありません。

投稿2018/01/12 06:51

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問