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

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

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

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

解決済

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

maqtaro
maqtaro

総合スコア14

PHP

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

1回答

0評価

0クリップ

1361閲覧

投稿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>';
?>

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

m.ts10806

2018/01/12 08:08

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

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

PHP

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