1

私はCakePhpの学習者です。単一ページでログインおよびサインアップ機能を開発しています。「ユーザー」という名前の同じモデルを使用していますが、両方のフォームを検証すると、サインアップフォームを送信すると、サインアップフォームとログインフォームの両方に同じエラーメッセージが表示されます。ここにコードがあります

ユーザーコントローラー

class UsersController extends AppController {
  public $layout = 'test';
  public $components = array('Security');
  public function index(){      
    if($this->request->is('Post')){
        if($this->request->data['User']['email']){
            $this->User->set('creation_date',date('Y-m-d H:i:s'));
            $this->request->data['User']['password'] = Security::hash($this->request->data['User']['password'], 'md5', true);
            if($this->User->save($this->request->data)){
                //$this->Session->setFlash('Your data is Entered');
                $this->Session->write('username', $this->request->data['User']['user_name']);
                $this->flash('You are signed Up', 'dashboard');
                //$this->redirect(array('action'=>'dashboard'));
                }
            else{
               $this->Session->setFlash('Data is Not Save'); 
            }
        }
    else {
        $username = $this->request->data['User']['user_name'];
        $password = Security::hash($this->request->data['User']['password'], 'md5', true);
        $query = $this->User->find('all',array('conditions'=>array('User.user_name'=>$username,
                                                          'User.password'=>$password)));
        if (sizeof($query)!=0){
            $this->Session->write('username', $query[0]['User']['user_name']);
            $this->redirect('dashboard');
        }
        else {
            $this->Session->setFlash("User is Not Valid");
        }
    }

    }
}
}

インデックス ビュー

    <div id="loginForm">
<?php 
echo $this->form -> create('', array('url'=>array('controller'=>'Users','action'=>'index')));?>
<table cellpadding="10">
<?php
echo '<tr><td>'.$this->form -> input('user_name', array('placeholder'=>'UserName')).'</td>';
echo '<td>'.$this->form -> input('password', array('id'=>'password','placeholder'=>'Password')).'</td>';
echo '<td>'.$this->form -> end('Login').'</td></tr>';
?>
</table>
    </div>
    <center>
    <h1>Create Account</h1>
    <div id="signupForm">
    <table cellpadding="5">
<?php
echo $this->form -> create('', array('url'=>array('controller'=>'Users','action'=>'index'),'inputDefaults'=>array('label'=>FALSE)));?>
<tr>
    <td>User Name:-
    <?php echo $this->form -> input('user_name', array('placeholder'=>'UserName'));?></td>
    <td> Email:-
    <?php echo $this->form -> input('email', array('placeholder'=>'Email'));?></td>
 </tr>
 <tr>
     <td>Mobile No:-
     <?php echo $this->form -> input('mobile_no', array('placeholder'=>'Mobile')).'<br>';?></td>
    <td>Password:-
     <?php echo $this->form -> input('password', array('placeholder'=>'password')).'<br>';?></td>
 </tr>
 <tr><td colspan="2"><center><?php echo $this->form -> end('Sign Up');?></center></td></tr>
</table>

これがScren Shotここに画像の説明を入力 です。たくさん検索しましたが、役立つ解決策が見つかりません。どうすればよいか教えてください。

ありがとうございました。

4

1 に答える 1