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

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

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

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

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

HTML

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

Q&A

2回答

332閲覧

ifでCookieを強制登録

退会済みユーザー

退会済みユーザー

総合スコア0

Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

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

HTML

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

0グッド

0クリップ

投稿2020/03/01 07:22

前提・実現したいこと

ifで
もしCookie [name]が記入されているなら
echo "ようこそ {$_Coockie["name"]} さん
では無いなら
アラートで
貴方の名前を教えてください。
と聞き、SetCookieで名前を覚え、サイトリロードで名前が表示される仕組みにしたいです。

発生している問題・エラーメッセージ

ifでCookieの条件分岐が出来ない。

該当のソースコード

home.php コード汚いです。

php

1 <!--Cookie読み込み--> 2 <?php 3setcookie("namae", "suzuki"); 4 ?> 5<html> 6<head> 7<link rel="shortcut icon" href="image/favicon.ico" type="image/favicon.ico"> 8<meta charset="utf-8"> 9<font size="15" color="#ff0000"> 10<p class="text_center"> CLANE STAR ONLINE 11 <script type="text/javascript" src="cookie.js"></script> 12  <hr size="5"> 13 <font size="3" color="000000"> 14 <head> 15 <!--サイトスキンロード--> 16<body bgcolor="#4169e1"> 17<font size="8" color="#ff0000"> 18<html lang="ja"> 19<head> 20<meta charset="utf-8"> 21<link rel="stylesheet" href="./style.css"> 22</head> 23<body> 24<script src="https://cdnjs.cloudflare.com/ajax/libs/push.js/0.0.11/push.min.js"></script> 25 26 27 <font size="3" color="000000"> 28 <div style="padding: 10px; margin-bottom: 10px; border: 1px dashed #333333;"> 29<marquee scrollamount="8">よくある質問をご確認ください。     たこ焼き設定は超お得! 発想は依頼方式です。 お問い合わせはご遠慮なくお願いします。</marquee> 30</div> 31 32 33 <font size="3" color="000000"> 34 35 36 <form action="http://localhost/clane/online/home.php"method="post"> 37<input type="image" src="http://localhost/clane/online/image/home.jpg" alt=" "> 38 <p></P> 39<p></p> 40<p></P> 41<!--Cookie読み込み=>ユーザー名表示--> 42<?php 43echo "ようこそ {$_COOKIE["namae"]} さん"; 44?> 45</P> 46 <div style="padding: 10px; margin-bottom: 10px; border: 1px dashed #333333;"> 47 <form> 48<TABLE HEIGHT=30 BORDER=1 BGCOLOR="#FFFFFF" CELLSPACING=0> 49<TR> 50<TD WIDTH=150 ALIGN="center" onClick="window.location.href='http://localhost/clane/online/home.php'" onmouseover="this.style.backgroundColor='#80FFFF';" onmouseout="this.style.backgroundColor=''" STYLE="cursor:hand;">サイトリロード</TD> 51<TD WIDTH=150 ALIGN="center" onClick="window.location.href='http://localhost/clane/online/otoiawase.html'" onmouseover="this.style.backgroundColor='#80FFFF';" onmouseout="this.style.backgroundColor=''" STYLE="cursor:hand;">お問い合わせ (制作中)</TD> 52<TD WIDTH=150 ALIGN="center" onClick="window.location.href='http://localhost/clane/online/owner.html'" onmouseover="this.style.backgroundColor='#80FFFF';" onmouseout="this.style.backgroundColor=''" STYLE="cursor:hand;">作者プロフィール</TD> 53<TD WIDTH=150 ALIGN="center" onClick="window.location.href='http://localhost/clane/online/takoyaki/takoyaki.html'" onmouseover="this.style.backgroundColor='#80FFFF';" onmouseout="this.style.backgroundColor=''" STYLE="cursor:hand;">たこ焼き設定</TD> 54<TD WIDTH=150 ALIGN="center" onClick="window.location.href='http://localhost/clane/online/hasiwatasi/hasiwatasi.html'" onmouseover="this.style.backgroundColor='#80FFFF';" onmouseout="this.style.backgroundColor=''" STYLE="cursor:hand;">橋渡し設定</TD> 55<TD WIDTH=150 ALIGN="center" onClick="window.location.href='http://localhost/clane/online/sanbonzume/sanbonzume.html'" onmouseover="this.style.backgroundColor='#80FFFF';" onmouseout="this.style.backgroundColor=''" STYLE="cursor:hand;">三本爪設定</TD> 56</TR> 57</TABLE> 58 59</form> 60</div> 61<p></p> 62<p></P> 63<p></P> 64<p></p> 65<p></P> 66<p></P> 67<p></p> 68<p></P> 69<p></P> 70 71<img src="image/image1.jpg" alt="1" width="200" height="200"> 72<img src="image/image1.jpg" alt="1" width="200" height="200"> 73<img src="image/image1.jpg" alt="1" width="200" height="200"> 74<img src="image/image1.jpg" alt="1" width="200" height="200"> 75<img src="image/image1.jpg" alt="1" width="200" height="200"> 76<pre>       あ     い     う    え    お 77 <p></P> 78 <p></P> 79 <p></P> 80 <img src="image/image1.jpg" alt="1" width="200" height="200"> <img src="image/image1.jpg" alt="1" width="200" height="200"> <img src="image/image1.jpg" alt="1" width="200" height="200"> <img src="image/image1.jpg" alt="1" width="200" height="200"> <img src="image/image1.jpg" alt="1" width="200" height="200"> 81<pre>       あ い    う    え                  お 82 <p></P>  83 <p></P> 84 <p></P> 85<img src="image/image1.jpg" alt=""> <img src="image/image1.jpg" alt=""> <img src="image/image1.jpg" alt=""> <img src="image/image1.jpg" alt=""> <img src="image/image1.jpg" alt=""> 86<pre>       あ い    う    え                  お 87 <p></P> 88 <p></P> 89 <p></P> 90<a href="home.html"><img src="image/image1.jpg" alt="aaaa"></a> <a href="home.html"><img src="image/image1.jpg" alt="aaaa"></a> 91<title>CLANE STAR ONLINE</title> 92 93 94 95 96 97 </style> 98</head> 99<body> 100 101 102 103 <div class="main"></div> 104 105 106 <div id="stop" class="scrollTop"> 107 <a href="#"><img src="image/top.png" alt="" width="150" height="150"></a> 108 </div> 109 110<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 111 112 <script type="text/javascript"> 113 $(document).ready(function() { 114 115 116 // declare variable 117 var scrollTop = $(".scrollTop"); 118 119 $(window).scroll(function() { 120 // declare variable 121 var topPos = $(this).scrollTop(); 122 123 // if user scrolls down - show scroll to top button 124 if (topPos > 100) { 125 $(scrollTop).css("opacity", "1"); 126 127 } else { 128 $(scrollTop).css("opacity", "0"); 129 } 130 131 }); // scroll END 132 133 //Click event to scroll to top 134 $(scrollTop).click(function() { 135 $('html, body').animate({ 136 scrollTop: 0 137 }, 800); 138 return false; 139 140 }); // click() scroll top EMD 141 142 }); // ready() END 143 144 </script> 145 146</body> 147</html> 148<head> 149<body bgcolor="#4169e1"> 150<font size="8" color="#ff0000"> 151<html lang="ja"> 152<head> 153<meta charset="utf-8"> 154<link rel="stylesheet" href="./style.css"> 155</head> 156<body> 157 158 159 <body> 160<EMBED src="http://localhost/clane/online/BGM.mp3" width="0" height="0"> 161<bgsound loop="infinite" src="http://localhost/clane/online/BGM.mp3"> 162</body> 163 164 165<font size="8" color="#000000"> 166 167<p> 168 169 170<html> 171<head> 172 173 174</body> 175</html> 176 177

現在状況

初めてアクセスした方はphpのerrorが吐かれます。
リロードすると初期設定のsuzukiでCookie[name]が保存されます。

補足情報(FW/ツールのバージョンなど)

localhost
XAMMP使用
完全なコードを求めている質問ですが、ご回答いただけると有難いです。

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

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

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

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

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

guest

回答2

0

アラートで

貴方の名前を教えてください。
と聞き、

confirmですね

SetCookieで名前を覚え、サイトリロードで名前が表示される仕組み

画面表示後にはphp側でcookieは調整できません

投稿2020/03/02 01:28

yambejp

総合スコア116724

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

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

yambejp

2020/03/02 01:29

適当なjsでクッキーをアップデートすればよいですが nameはクッキーではなくセッションから引っ張ったほうがよいと思います。 そうなるとセッションがからのときに入力画面に飛ばすようなUIが妥当です
guest

0

初回は入っていないので、出力する前にissetとかで入っているかどうかを確認すればよいのでは。

【PHP: setcookie - Manual】
https://www.php.net/manual/ja/function.setcookie.php

一度クッキーが送信されると、次のページのロードからは $_COOKIE 配列によってクッキーにアクセスできます。

【PHP: isset - Manual】
https://www.php.net/manual/ja/function.isset.php

投稿2020/03/01 07:29

kei344

総合スコア69606

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

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

退会済みユーザー

退会済みユーザー

2020/03/01 08:00

申し訳ないのですが、初心者なので意味が分からないです。 こちらのサイトを見たのですが、アラートについては在りませんでした。 他に方法はありますか?
kei344

2020/03/01 08:26

PHPのエラーについて書いています。「アラート」を出したければそれはJavaScriptで出すことになります。
退会済みユーザー

退会済みユーザー

2020/03/01 08:34

出来れば僕が書いたhome.phpにコードを書いて頂く事は出来ますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問