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

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

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

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

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

2回答

1281閲覧

PHPコードで間違っている部分がわからない

kuromame6145

総合スコア16

PHP

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

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2020/09/14 11:21

編集2020/09/14 11:23

解決したいこと

https://gyazo.com/6c75e7fdba7e07f668eccbc8799f007a
画像のようにエラー分が表示される。
エラー文の内容:このページは動作していませんlocalhost では現在このリクエストを処理できません。 HTTP ERROR 500
#実践したこと
コードを確認したかどこが間違っているかわからない。
#コード

php

1   2<?php 3 4require_once '../classes/UserLogic.php'; 5 6//エラ〜メッセージ 7$err = []; 8 9//バリデーション 10//ユーザーネームが空だった場合の指定 11if(!$username = filter_input(INPUT_POST, 'username')){ 12 $err[] = 'ユーザー名を指定してください'; 13} 14//上記と同じ 15if(!$email = filter_input(INPUT_POST, 'email')){ 16 $err[] = 'メールアドレスを記入してください'; 17} 18 19$password = filter_input(INPUT_POST, 'password'); 20//正規表現 preg_matchで正規表現指定 21if (!preg_match("/\A[a-z\d]{8,100}+\z/i",$password)){ 22 $err[] = 'パスワードは英数字8文字以上100文字以下にしてください。'; 23} 24//passwordとpassword_confの値が違ってたらエラーにする 25$password_conf = filter_input(INPUT_POST, 'password_conf'); 26if ($password !== $password_conf){ 27 $err[] = '確認用パスワードと異なっています。'; 28} 29//エラーがゼロだった場合の処理 30if (count($err) === 0){ 31 //ユーザーを登録する処理 32 //UserLogicクラス、createUserメソッド作成 33 $hasCreated = UserLogic::createUser($_POST); 34 35 if(!$hasCreated) { 36 $err[] = '登録に失敗しました'; 37 } 38} 39 40?> 41 42<!DOCTYPE html> 43<html lang="en"> 44<head> 45 <meta charset="UTF-8"> 46 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 47 <title>ユーザー登録完了画面</title> 48</head> 49<body> 50 51<?php if (count($err) > 0):?> 52 <?php foreach($err as $e) : ?> 53 <p><?php echo $e ?></p> 54 <?php endforeach ?> 55<?php else : ?> 56 57 <P>ユーザー登録が完了しました</P> 58 <?php endif ?> 59 <a href="./signup_form.php">戻る</a> 60</body> 61</html>

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

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

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

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

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

hentaiman

2020/09/14 11:45

エラーログみましょう
kuromame6145

2020/09/14 11:51

どうやって見るんですか?
hentaiman

2020/09/14 12:02

phpinfoで出力場所を確認しましょう 分からなければファイルの最初に error_reporting(E_ALL); ini_set("display_errors", 1); と書いてエラーを表示して確認しましょう
退会済みユーザー

退会済みユーザー

2020/09/14 12:05

'../classes/UserLogic.php' の内容も示さないと、第三者が試しに実行することすらできないのですが。
takasima20

2020/09/14 12:59

そのサーバーで php が動いた実績あるの?
guest

回答2

0

一読して一つ言えること。
endforeachendifにセミコロン「;」が足りない。

参考:
PHP: 制御構造に関する別の構文 - Manual

投稿2020/09/14 12:07

編集2020/09/14 12:09
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

UserLogic::createUser()の中でエラーが発生しているのでは?

投稿2020/09/15 00:43

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問