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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2866閲覧

掲示板のHTML PHPで何かがおかしい

a-_.

総合スコア133

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/07/05 05:55

編集2016/09/06 02:08

掲示板を作成してるんですが、以下のコードで何か足りないものとかありますか
ブラウザに出してもエラーが表示され、何が間違いなのか分かりません

<?php if(filter_input(INPUT_POST,'btn')==='register') $sql = 'INSERT INTO XXX ("name", "comment") VALUES (NULL, "名前")(NULL, "内容")'; $sth = $dbh->prepare($sql); $sth->bindparam(':name', $_POST['name'], PDO::PARAM_STR); $sth->bindparam(':comment', $_POST['comment'], PDO::PARAM_STR); $sth->execute(); echo htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8'); echo htmlspecialchars($_POST['comment'], ENT_QUOTES, 'UTF-8'); var_dump($_POST) $list_data = dbAccess();{ $now = date('Y/m/d H:i:s'); } function dbAccess(){ $dsn = 'mysql:dbname=XXX;host=localhost;charset=utf8mb4'; $user = 'XXX'; $password = 'XXX'; try { $dbh = new PDO($dsn, $user $password); } catch (PDOException $e) { die('connect error: ' , $r->getcode()); } $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); return $list_data; } execute(); ?> <html> <body> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <table border="1" width="50"> <form method="post" action=""> 名前:<input type="text" name="name"> 内容:<textarea name="comment" row="10" cols="40"></textarea> <button type="submit" name="btn" value="register">投稿</button> </form> <?=$list_data?> </table> </body> </html>

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

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

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

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

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

guest

回答2

0

ベストアンサー

イメージ説明

ハイライト表示がおかしくなっているところが間違っています。


php

1if(filter_input(INPUT_POST,'btn')==='register') 2 $sql = 'INSERT INTO kadai1 ("name", "comment") VALUES (NULL, "名前")(NULL, "内容")'; // <-SQLに間違い。シンタックスエラーにはならないけど、実行したらエラーになるでしょう。 3 $sth = $dbh->prepare($sql); 4 $sth->bindparam(':name', $_POST['name'], PDO::PARAM_STR); 5 $sth->bindparam(':comment', $_POST['comment'], PDO::PARAM_STR); 6 $sth->execute(); 7 8 echo htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8'); 9 echo htmlspecialchars($_POST['comment'], ENT_QUOTES, 'UTF-8'); 10 11 var_dump($_POST) //  <ーセミコロンない 12 13$list_data = dbAccess();{ // <-このカッコはif の後ろじゃない? 14 15 $now = date('Y/m/d H:i:s'); 16 17 }

イメージ説明

$list_data(赤枠) が関数ブロック(青枠)のなかで、値がセットされていません。なんのための return ?

投稿2016/07/05 05:57

編集2016/07/05 06:33
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

a-_.

2016/07/05 06:00

何がどう間違えているのか教えてください
退会済みユーザー

退会済みユーザー

2016/07/05 06:02 編集

sysntaxエラーとは文法の間違いのことです。 「'」 の閉じ忘れや、行末の「セミコロン」つけ忘れがないか確認しましょう。
a-_.

2016/07/05 07:43 編集

ご回答ありがとうございます 訂正したら今度はParse error: syntax error, unexpected '$list_data' (T_VARIABLE) in C:\XAMPP\htdocs\XXX.php on line 14と表示されました この部分で投稿されたコメントを日付時刻の降順にしたいんですが、調べても日付の関数しかわかりませんでした 何を付け足せばよいのでしょう
退会済みユーザー

退会済みユーザー

2016/07/05 06:08 編集

間違いが1個とは限りません。少なくともパッと見る限り3つ発見しましたよ。
a-_.

2016/07/05 06:10

その3つを教えていただけますか
退会済みユーザー

退会済みユーザー

2016/07/05 06:13

それ聞くよりも、どうやってハイライトつけたか聞いたほうが今後のためになると思うよ。
退会済みユーザー

退会済みユーザー

2016/07/05 06:29 編集

@te2ji さん 間違いがどこなのかを聞くより、そうであって欲しいとは思いますね。 ハイライト表示が崩れてしまう見え方からどうやってミスを発見するか、なぜそれでミスが発見できるのかを聞いて欲しいとは思います。 答え書いちゃったけど。
a-_.

2016/07/05 06:32

細かくご指摘ありがとうございます 他にもミスってありますか あとハイライト教えてください
退会済みユーザー

退会済みユーザー

2016/07/05 06:40 編集

ハイライトとはなにか、ですか? 「ハイライト」はこの場合、「シンタックス・ハイライト」のこと。文法上の記述があっているかどうかをわかりやすくチェックすることができます。 訂正前のショットと今現在の違いを比べれば、一目瞭然ですね。色分けされている区切りが変わっているでしょう。 そんなツールでミスがわかることなので、本当はシンタックスエラーを自力で直せないというのは、プログラマにとって、「チョー恥ずかしいこと」なんです。 teratail の投稿画面を使わなくても、IDEとか、テキストエディタでも色分けできるものがあるので、そういったツールを利用してはいかがですか?
a-_.

2016/07/05 06:54

そうなんですね サクラエディタを使用してるんですが、ハイライトは設定可能なんでしょうか 因みに私のエディタではHTMLコードのみ色分けされるんですがそういうのも変更できるってことなんでしょうか
退会済みユーザー

退会済みユーザー

2016/07/05 07:02 編集

さくらエディタでも可能ですよ。 ぱっと見ではここの説明がわかりやすいかな。 http://techfun.cc/php/php-sakuraeditor.html コーディングが早い人、綺麗な人ほどツールを使いこなして、自分にあった道具や開発環境使っています。「機械でできることは人間はしない」プログラマにとっては「座右の銘」かも。
a-_.

2016/07/05 07:13

ありがとうございます te2jiさんもありがとうございます ハイライトの使い方分かりやすかったです これである程度は未然にミスを発見できるとは思います ですが、今回の場合単純な誤字脱字程度ではなさそうですよね 使ってる関数が違うとか何か何かあれば教えていただきたいです
退会済みユーザー

退会済みユーザー

2016/07/05 07:26 編集

Syntaxエラー以外の質問は歓迎です(笑) > ですが、今回の場合単純な誤字脱字程度ではなさそうですよね 回答済みですが…
guest

0

'シングルクォーテーション' と "ダブルクオーテーション" は、必ず2つセットで入力する癖を付けましょう ^^
そういうことです。

投稿2016/07/05 06:00

Mr_Roboto

総合スコア2208

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問