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

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

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

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

Q&A

解決済

2回答

513閲覧

PHPで変数をechoした後に改行しようとするとなぜかエラーが出る

GooGoo2023

総合スコア7

PHP

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

0グッド

0クリップ

投稿2023/01/15 10:24

編集2023/01/15 10:25

以下のコードですが、なぜか45行目でエラーが出ます。
{echo $err_msg;}
とするとエラーが出なくなるのですが、理由が全くわかりません。
よろしくお願いします。

index.php

1<?php 2$err_msg = ""; 3 4if(isset($_POST['login'])){ 5 $username = $_POST['username']; 6 $password = $_POST['password']; 7 try { 8 $db = new PDO('mysql:host=localhost;port=8889;dbname=sample', 'root', 'root'); 9 $sql = 'select count(*) from users where username=? and password=?'; 10 $stmt = $db->prepare($sql); 11 $stmt->execute(array($username, $password)); 12 $result = $stmt->fetch(); 13 $stmt = null; 14 $db = null; 15 16 17 if($result[0] != 0){ 18 header('Location: http://localhost:8888/bulletin/home.php'); 19 exit; 20 }else{ 21 $err_msg = "ユーザー名またはパスワードが間違っています。"; 22 } 23 24 }catch(PDOException $e){ 25 echo $e->getMessage(); 26 exit; 27 } 28} 29 30 ?> 31 32 33 34<!DOCTYPE html> 35<html lang="ja"> 36<head> 37 <meta charset="UTF-8"> 38 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 39 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 40 <title>サンプル掲示板</title> 41</head> 42<body> 43 <h1>ログイン画面</h1> 44 <form action="" method="POST"> 45 <?php if($err_msg !== null && $err_msg !== ''){echo $err_msg "<br>";} ?> 46 ユーザー名<input type="text" name="username" value=""><br> 47 パスワード<input type="password" name="username" value=""><br> 48 <input type="submit" name="login" value="ログイン"> 49 </form> 50 <a href="signin.php">新規登録</a> 51</body> 52</html>

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

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

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

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

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

guest

回答2

0

変数と文字列を並行して出力したいならこんな感じで

PHP

1$err_msg="test"; 2echo $err_msg,"<br>\n"; 3echo $err_msg."<br>\n"; 4echo "$err_msg<br>\n"; 5echo "{$err_msg}<br>\n"; 6echo "${err_msg}<br>\n"; 7echo <<<eof 8$err_msg<br>\n 9eof; 10printf("%s<br>\n",$err_msg);

投稿2023/01/16 04:03

編集2023/01/16 04:26
yambejp

総合スコア114777

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

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

0

ベストアンサー

php

1echo $err_msg "<br>";

文法違反です。

投稿2023/01/15 11:35

arcxor

総合スコア2859

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

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

GooGoo2023

2023/01/15 11:50

調べたけどどこで文法違反しているかわかりませんでした。 brで改行してはいけないのですか?
uyyuuyuyuy

2023/01/16 03:10

echo $err_msg."<br>";ですね .が抜けています
GooGoo2023

2023/01/16 04:16

あー、なるほど見落としてました ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問