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

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

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

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

Q&A

解決済

3回答

704閲覧

「POST http://localhost/sample/submit.php 500 (Internal Server Error)」の原因が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

0グッド

0クリップ

投稿2022/02/07 06:32

編集2022/02/07 07:36

提示コードですがこれはフォームで入力するとこのソースコードに移行するのですがその際に以下のエラーが発生してしまい調べたのですが原因がわかりません。これはどこがおかしいのでしょうか?echoデバッグしましたが見つかりません。

試したこと

値を確認

環境

ubuntu 64bit
xamppp

「POST http://localhost/sample/submit.php 500 (Internal Server Error)」

php

1<!DOCTYPE html> 2<html lang=ja> 3 <head> 4 <meta charset="utf-8"> 5 6 <link rel="stylesheet" href="style.css"> 7 <title>send</title> 8 </head> 9 <body> 10 11<?php 12init_set("display_errors",1); 13error_reporting(E_ALL); 14 15$name = $_POST["name"]; 16$setntence = "abc"; 17$da = date("Y-m-d"); 18 19//echo $da; 20 21$dsn = 'mysql:Bulletin_Board;host=localhost;charset=utf8'; 22$dbh = new PDO($dsn,"root",""); 23try 24{ 25 26 $sql = 'INSERT INTO `Post`(`name`, `sentence`, `date`) VALUES (?,?,?)'; 27 $stmt = $dbh->prepare($sql); 28 $data[] = "aaa"; 29 $data[] = "bbb"; 30 $data[] = $da; 31 var_export($data); 32 $stmt->excute($data); 33 34} 35catch(PDOException $e) 36{ 37 die($e->getMessage()); 38} 39 40?> 41 </body> 42 43</html> 44

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2022/02/07 07:07

回答者からのレスポンスが遅いからといって、ポンポン新規の質問を出されると、回答する側としては少ししんどいです。質問者さんには質問者さんの事情があるように、回答者側にも事情ってものがあります。
退会済みユーザー

退会済みユーザー

2022/02/07 07:34

いえ、そうえばこれは別の質問で別件なのかなと思ったので別の質問にしました。
m.ts10806

2022/02/07 08:20

そういう意味じゃない なんも調べず吟味せず一つの言語環境に限定せず手を出しまくってポンポン丸投げしてることが問題でしょ
guest

回答3

0

ベストアンサー

DSN文字列のミスの可能性。
ついでに、ポート番号が3306じゃない場合もDSN文字列にて別途指定する必要があります。

$dsn = 'mysql:Bulletin_Board;host=localhost;charset=utf8';

$dsn = 'mysql:dbname=Bulletin_Board;host=localhost;charset=utf8';

PHP: PDO_MYSQL DSN - Manual

init_set("display_errors",1);

ini_set("display_errors",1);
PHP: ini_set - Manual

なお、文法エラーなどある場合には、phpコード内でデバッグ用の変更を加えてもそもそも実行されないので、
騙されたと思ってでもいいから php.ini をいじっといた方がラクです。

投稿2022/02/07 07:24

編集2022/02/07 07:58
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2022/02/07 07:35

行いましたが同じエラー出ます
退会済みユーザー

退会済みユーザー

2022/02/07 08:02

$stmt->excute($data);のスペルミスでした。
退会済みユーザー

退会済みユーザー

2022/02/07 08:16

init_setとかexcuteとか存在しない関数名やメソッド名は、適切に支援機能で検出できるものなので、vscode上でのphp環境構築とかしたらいいと思います。それだけで一連の質問を起こしたり回答を待ったりする手間を省けますので。
退会済みユーザー

退会済みユーザー

2022/02/07 08:24

ありがとうございます
guest

0

エラーログ確認してデバッグ

投稿2022/02/07 06:38

m.ts10806

総合スコア80852

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

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

0

質問記載のコードで、今時点で500で返っている原因init_set
ini_setが正解。
https://www.php.net/manual/ja/function.ini-set.php

エラーログ見ると以下が出力されているはず。

console

1PHP Fatal error: Uncaught Error: Call to undefined function init_set() in xxxx

投稿2022/02/07 08:04

Y.H.

総合スコア7914

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問