PHPでサイトの作成での勉強で、ログインのモーダルウインドウを表示するようにしたんですが、全ページにつけるとなると結構たいへんで、後にデザイン変更する時も大変になるのでと思い。管理する関数を作りヒアドキュメント
で管理するようにしました。
ですが、echo <<< EOT EOT;
内でセッションを使っている箇所があり、エラーが出てしまいます。
このような場合は、もっと他の方法があったりしますか?
###追記
体調を崩してしまい追記が遅れましたすいません。
php
1 <!-- ログインしていなかったら --> 2 <?php if(!$app->login){ ?> 3 <section> 4 <div id="open2" class="btn" style="margin-top: 20px;">ログイン <br> or <br> 新規登録</div> 5 </section> 6 7 <section id="modalwindow"> 8 <div id="mask" class="hidden"></div> 9 10 <div id="window" class="hidden"> 11 <div id="close" class="hidden">☓ 閉じる</div> 12 <br> 13 <div id="box"> 14 <form action="" method="post" id="login2"> 15 <p> 16 <input type="text" name="email" placeholder="メールアドレス" value="<?= isset($app->getValues()->email2) ? h($app->getValues()->email2) : ''; ?>"> 17 </p> 18 <p> 19 <input type="password" name="password" placeholder="パスワード"> 20 </p> 21 <p class="err"><?= h($app->getErrors('login')); ?></p> 22 <div class="btn" onclick="document.getElementById('login2').submit();">ログイン</div> 23 <input type="hidden" name="token" value="<?= h($_SESSION['token']); ?>"> 24 <input type="hidden" name="posttype" value="login"> 25 <hr> 26 <p class="btn"><a href="./signup.php">新規登録はこちら</a></p> 27 </form> 28 </div> 29 <!-- <script src="./javascript/tabmenu.js"></script>--> 30 </div> 31 </section> 32 33 <!-- ログインしていたら --> 34 <?php }else{ ?> 35 省略 36 <?php } ?> 37
ログインしていなかったら、モーダルウインドウを表示するようにしたいのですが、これを全ページに付けたく、
php
1public function modalwindow(){ 2 echo <<< EOT 3<section id="modalwindow"> 4 <div id="mask" class="hidden"></div> 5 6 <div id="window" class="hidden"> 7 <div id="close" class="hidden">☓ 閉じる</div> 8 <br> 9 <div id="box"> 10 <form action="" method="post" id="login2"> 11 <p> 12 <input type="text" name="email" placeholder="メールアドレス" value="<?= isset($app->getValues()->email2) ? h($app->getValues()->email2) : ''; ?>"> 13 </p> 14 <p> 15 <input type="password" name="password" placeholder="パスワード"> 16 </p> 17 <p class="err"><?= h($app->getErrors('login')); ?></p> 18 <div class="btn" onclick="document.getElementById('login2').submit();">ログイン</div> 19 <input type="hidden" name="token" value="<?= h($_SESSION['token']); ?>"> 20 <input type="hidden" name="posttype" value="login"> 21 <hr> 22 <p class="btn"><a href="./signup.php">新規登録はこちら</a></p> 23 </form> 24 </div> 25 <!-- <script src="./javascript/tabmenu.js"></script>--> 26 </div> 27 </section> 28EOT; 29
このようにしました。そして、表示したい場所でこの関数を呼び出せばいいと思ったのですが、
エラーが出てしまうんですよ。
なので、違う方法はないかという質問です。
回答5件
あなたの回答
tips
プレビュー