2017-11-10 5 views
0

Ich habe versucht, eine Login-Funktion für Administratoren so Administratoren können sich mit einem Login-Formular anmelden, aber es funktioniert nicht. Wenn ich auf dem Login-Button klicken nichts passiert ... beide, wenn ich die richtige Server-Betreiber E-Mail und das Passwort und eine falsche Eingabe verwenden ..Admin-Login-Funktion in CodeIgniter PHP funktioniert nicht

Dies ist meine Funktion in meinem adminlogin Auth-Controller:

public function adminlogin() 
    { 
     $this->form_validation->set_rules('admin_email', 'Admin_email', 'required'); 
      $this->form_validation->set_rules('wachtwoord', 'Wachtwoord', 'required|min_length[5]'); 
      if ($this->form_validation->run() == TRUE) { 

     $admin_email = $_POST['admin_email']; 
     $admin_wachtwoord = ($_POST['admin_wachtwoord']); 

     //check admin in database 
     $this->db->select('*'); 
     $this->db->from('admin'); 
     $this->db->where(array('admin_email'=>$admin_email, 'admin_wachtwoord' => $admin_wachtwoord)); 
     $query = $this->db->get(); 
     $admin = $query->row(); 


     if($admin->admin_email) { 

      $this->session->set_flashdata("success","U bent nu ingelogd als admin"); 

     //admin sessios 
     $_SESSION['admin_logged'] = TRUE; 
     $_SESSION['admin_id'] = $admin->admin_id; 
     $_SESSION['admin_email'] = $admin->admin_email; 
     $_SESSION['admin_wachtwoord'] = $admin->admin_wachtwoord; 

     //link to admin dashboard 
     redirect("IndexController", "refresh"); 
     } else { 

      $this->session->set_flashdata('error','Invalid email or password'); 
      //if admin doesn't exists reload the admin login form 
      redirect("https://kadokado-ferran10.c9users.io/auth/adminlogin" , "refresh"); 
     } 

     } 
      //laad alle adminlogin views 
    $this->load->view('templates/header'); 
    $this->load->view('adminviews/adminlogin'); 
    $this->load->view('templates/footer'); 
} 

Mein adminlogin.php Ansicht Seite in meinem adminviews Ordner:

<div class="all-content"> 

<div class="row"> 
     <div class="col-lg-12 bg-warning" style="font-size:25px"> 
      <center>Admin login</center> 
     </div> 
     </div> 

<br> 

    <section> 
    <div> 
    <div class="row"> 
     <div class="col-sm-12"> 
     <div class="row"> 
      <div class="col-sm-4 col-sm-offset-4"> 

      <form action="" method="POST"> 

       <div class="form-group"> 

        <label for="name" class="control-label">Email</label> 


        <input class="form-control" name="admin_email" id="admin_email" type="email" placeholder="E-mail"> 

      </div> 

       <div class="form-group"> 

        <label for="message" class="control-label">Wachtwoord</label> 

        <input class="form-control" name="admin_wachtwoord" id="admin_wachtwoord" type="password" placeholder="Wachtwoord"> 

      </div> 
       <div class="form-group"> 

        <input name="adminlogin" type="submit" class="btn btn-primary" value="Inloggen" /> 

      </div> 

       </div> 

      </form> 

      </div> 

     </div> 

     </div> 

    </div> 

    </div> 

</section> 


</div> 
<div class="clearfix"></div> 

DATABASE Info:

table: admin 
1. admin_id = primary key 
2. admin_email 
3. admin_wachtwoord 
+0

Pass controller/adminlogin in form action –

+0

ok mit Basis-URL vor Controller und Funktion Namen? – Learningprogrammingphp44

+0

Ja, wenn Sie nicht Basis in Sicht eingestellt sind. –

Antwort

1

Unter der Annahme, Ihr Controller Auth genannt, sollten Sie ersetzen:

<form action="" method="POST"> 

mit:

<form action="<?php echo base_url('auth/adminlogin');?>" method="POST"> 

Sie auch Form Helper CodeIgniter die verwenden könnte zu schreiben, können Sie es in Ihrem Controller vorausgesetzt geladen haben:

<?php echo form_open('auth/adminlogin'); ?> 

, die die gleiche vorherige HTML-Zeile erzeugen würde.

+0

danke Mann, es hat mir geholfen – Learningprogrammingphp44

1

Ersetzen Sie Ihre Formular-Tag mit den folgenden:

<?=form_open('auth/adminlogin');?> 

Und Sie das Formular Helfer stellen Sie sicher, laden:

$this->load->helper('form'); 
+0

Und stellen Sie sicher, dass PHP short Tag auf Ihrem Server aktiviert ist. –

Verwandte Themen