ログインIDを掲示板項目のお名前テキストボックスの初期値に設定する
ひとこと掲示板にログイン機能をつけています。
発生している問題・エラーメッセージ
ログインフォーム(auth/index) ID : hoge pass : ****** ログインが成功した場合、掲示板ページ(board/index)に移動します。 移動した際に掲示板ページの入力フォーム お名前:(type text)←ここ コメント:(type text) 登録 お名前のテキストボックスにログインフォームのid(上記だとhoge)を初期値として入力する処理をしたいのですがうまくいきません。
PHP
1//view/auth/index 2!DOCTYPE html> 3<html lang="ja"> 4<head> 5<meta charset="UTF-8"> 6<title>ログインフォーム</title> 7</head> 8<body> 9 <div> 10 <div></div> 11 <form action="/auth/check" method="post"> 12 <div>ID:<input type="text" name="id" value=""></div> 13 <div>PASS:<input type="password" name="pass"></div> 14 <div><input type="submit" value="ログイン"></div> 15 </form> 16 </div> 17</body> 18</html> 19
php
1<?php 2// Auth Controller 3 4class Controller_Auth extends Controller 5{ 6 public function action_index() 7 { 8 Auth::logout(); 9 10 $view = View::forge('auth/index'); 11 $view->message = ''; 12 $view->id = ''; 13 14 return $view; 15 } 16 17 18 public function action_check() 19 { 20 $view = View::forge('auth/index'); 21 22 $view->message = ''; 23 $view->id = ''; 24 25 if (Input::post()) { 26 $id = Input::post('id'); 27 $pass = Input::post('pass'); 28 if (Auth::login($id, $pass)) { 29 Response::redirect('board/index'); 30 } else { 31 $view->id = $id; 32 $view->message = 'ログインに失敗しました'; 33 } 34 } 35 return $view; 36 } 37 38 39 public function action_logout() 40 { 41 Auth::logout(); 42 Response::redirect('auth/index'); 43 } 44} 45
php
1//board index 2<!DOCTYPE html> 3<html lang="ja"> 4<head> 5<meta charset="UTF-8"> 6<title>入力フォーム・一覧表示画面</title> 7</head> 8<body> 9 <div style="text-align:right;"><a href="/auth/logout">ログアウト</a></div> 10 <?php if(isset($message)):?> 11 <div><?php echo $message;?></div> 12 <?php endif;?> 13 <!-- 入力フォーム箇所 --> 14 <div> 15 <form action="/board/entry" method="post"> 16 <div>お名前:<input type="text" name="onamae" value='$id'></div> 17 <div>コメント:<input type="text" name="comment" value=""></div> 18 <div><input type="submit" value="登録"></div> 19 </form> 20 </div> 21 22 <!-- 一覧表示箇所 --> 23 <hr> 24 <div> 25 <table> 26 <tr> 27 <th>ID</th> 28 <th>名前</th> 29 <th>コメント</th> 30 <th>登録日</th> 31 </tr> 32 <?php foreach($comment_data as $data):?> 33 <tr> 34 <td><?php echo $data['id'];?></td> 35 <td><?php echo $data['name'];?></td> 36 <td><?php echo $data['comment'];?></td> 37 <td><?php echo $data['registed'];?></td> 38 </tr> 39 <?php endforeach;?> 40 </table> 41 </div> 42</body> 43</html> 44
php
1//board controller 2<?php 3use \Model\Tcomment; 4 5class Controller_Board extends Controller 6{ 7 8 public function action_index() 9 { 10 if(!Auth::check()) { 11 Response::redirect('auth/index'); 12 } 13 14 $view = View::forge('board/index'); 15 16 17 $comment_data = Tcomment::get_datas(); 18 19 $view->comment_data = $comment_data; 20 return $view; 21 } 22 23 public function action_post() 24 { 25 $view = View::forge('auth/index'); 26 27 if (Input::method() == 'POST') { 28 29 $id = Input::post('id'); 30 31 $view = View::forge('board/index'); 32 33 $view->id = $id; 34 } 35 } 36 public function action_entry() 37 { 38 if (!Auth::check()) { 39 Response::redirect('auth/index'); 40 } 41 42 $view = View::forge('board/index'); 43 44 if (Input::post()) { 45 $onamae = Input::post('onamae'); 46 $comment = Input::post('comment'); 47 if(!empty($onamae) && !empty($comment)) { 48 $comment_data = Tcomment::insert_data($onamae,$comment); 49 $view->onamae = ''; 50 $view->comment = ''; 51 $view->message = '登録しました'; 52 } else { 53 $view->onamae = $onamae; 54 $view->comment = $comment; 55 $view->message = '入力情報を確認してください'; 56 } 57 } 58 59 $comment_data = Tcomment::get_datas(); 60 $view->comment_data = $comment_data; 61 62 return $view; 63 } 64 65 } 66?>
試したこと
public function action_post()
{
$view = View::forge('auth/index');
if (Input::method() == 'POST') { $id = Input::post('id'); $view = View::forge('board/index'); $view->id = $id; }
postを使いログインフォームから受け取ったIDをviewに渡し、
<div>お名前:<input type="text" name="onamae" value='$id'></div> ↓ <div>コメント:<input type="text" name="comment" value='<?php echo $id; ?>'></div>で初期値に設定
結果
Fuel\Core\PhpErrorException [ Notice ]:
Undefined variable: id
になりました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。