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

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

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

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

Q&A

解決済

4回答

1623閲覧

PHP文字の代入

teityann1225

総合スコア158

PHP

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

0グッド

0クリップ

投稿2017/03/10 22:45

編集2017/03/10 22:45

###したいこと
ログインしてるかしてないかで、表示させる文字列を変える。

###コード

php

1 2<?php 3session_start(); 4 5// ログイン状態チェック 6if (!isset($_SESSION["NAME"])) { 7 $a = "<a href="/join/Login.php">ログイン</a>"; 8}else9$a = <p>ようこそ<u><?php echo htmlspecialchars($_SESSION["NAME"], ENT_QUOTES); ?></u>さん</p> 1011?> 12 13 14<HTML> 15<HEAD> 16<TITLE></TITLE> 17</HEAD> 18<BODY topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> 19<a href"index.html">ホーム</a> 20 21 22 23 24 25 26 27</BODY> 28</HTML> 29

###エラー

Parse error: syntax error, unexpected '">ログイン</a>"' (T_CONSTANT_ENCAPSED_STRING) in

###捕捉

エラーが構文が違うのを言っているのはわかるのですが、どう直したらいいのかわかりません。
お願いしま

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

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

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

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

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

guest

回答4

0

ベストアンサー

以下、HTML5, CSS3, PHP 7.1.2での回答です。
0. doctype宣言をしていない。
0. titleタグの中が空。
0. topmargin属性, leftmargin属性, marginwidth属性, marginheight属性などmargin関連の属性はHTML5では使用できない。marginはCSSでの設定をする必要がある。
0. if...elseの波括弧が全角。
0. ダブルクォーテーションの対応がとれていない。

PHP

1<?php 2session_start(); 3// ログイン状態チェック 4if (!isset($_SESSION["NAME"])) { 5 $a = "<a href=\"/join/Login.php\">ログイン</a>"; 6} else {//波括弧が全角 7 $a = "<p>ようこそ<u>" . htmlspecialchars($_SESSION["NAME"], ENT_QUOTES) . "</u>さん</p>"; 8}//波括弧が全角 9?> 10<!DOCTYPE html> 11<html> 12<head> 13 <meta charset="utf-8"> 14 <title>タイトル</title> 15 <style type="text/css"> 16 * { 17 margin: 0; 18 padding: 0; 19 } 20 </style> 21</head> 22<body> 23<a href="index.html">ホーム</a> 24<?php echo $a; ?> 25</body> 26</html>

投稿2017/03/11 10:20

編集2017/03/11 10:39
s8_chu

総合スコア14731

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

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

0

PHP の文字列を囲う " が HTML の " で途切れてしまっていますね。

php

1 $a = "<a href="/join/Login.php">ログイン</a>";

このエラーは以下のいずれかの記述で回避できます。

アポストロフィー ' で囲う

php

1 $a = '<a href="/join/Login.php">ログイン</a>';

\ でエスケープする

php

1 $a = "<a href=\"/join/Login.php\">ログイン</a>";

投稿2017/03/11 00:39

bezeklik

総合スコア580

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

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

0

php

1<a href"index.html 2<a href="index.html

=がありませんね。

投稿2017/03/11 00:34

編集2017/03/11 04:47
yona

総合スコア18155

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

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

0

<?php session_start(); // ログイン状態チェック if (!isset($_SESSION["NAME"])) { $a = '<a href="/join/Login.php">ログイン</a>'; }else { $a = "<p>ようこそ<u>" . htmlspecialchars($_SESSION["NAME"], ENT_QUOTES) . "</u>さん</p>"; } ?> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"> <a href="index.html">ホーム</a> <?php echo $a; ?> </BODY> </HTML>

投稿2017/03/10 23:01

編集2017/03/11 10:25
Y.H.

総合スコア7914

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

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

teityann1225

2017/03/11 06:57

それを表示させるにはどうしたらよいのですか?
kei344

2017/03/11 09:49

To: Y.H.さん Parse error が出ると思いますよ。
Y.H.

2017/03/11 10:11 編集

kei344さん。指摘ありがとうございます。コード修正しました。 酔っ払ってると駄目だな X-(
toutou

2017/03/11 10:18

一応ですがこのままでは使えませんね。元々があれなんで仕方ないですが。
Y.H.

2017/03/11 10:26 編集

あぁ。いろいろ駄目駄目(文字列になってなかった)ですね。修正しました。 <s>ええ。条件による変数へのHTML文字列代入とその出力の方法はどうコーディングするか?という部分のみの回答です。</s>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問