2016-07-09 5 views
-2

Ich hatte ein Newsletter-Formular in PHP, das die E-Mail entweder bereits in der Datenbanktabelle oder nicht vorhanden einfügt, aber ich möchte, wenn E-Mail bereits existiert Es wird kein doppelter Eintrag in der Datenbanktabelle und der Eingabeaufforderung ("Already exist") hinzugefügt. fix freundlicherweise meinen Code unten:Wenn E-Mail bereits vorhanden ist, gebe keine Daten in die Tabelle ein und gebe eine Eingabe (Bereits vorhanden!)

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Newsletter extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('stories_model'); 
    } 
    public function index() 
    { 
     $this->load->view('header'); 
     $this->load->view('navigation'); 
     $this->load->view('pages/newsletter'); 
     $this->load->view('footer'); 
    } 
    public function register() 
    { 
     $email = $this->input->post('email'); 

     $arr['result'] = 'confirm'; 
     $arr['message'] = '<ul>'; 


     if (strlen($email) == 0) { 
      $arr['result'] = 'error'; 
      $arr['message'] .= '<li>Please fill the email.</li>'; 
     } 

     if ($arr['result'] != 'error') 
     { 
      $insertcomment=$this->db->insert('newsletter_subscribers',array('email'=>$email)); 

      $arr['result'] = 'confirm'; 
      $arr['message'] = 'Successfull Added.'; 
     } 
     echo json_encode($arr); 
    } 
    public function cronjob() 
    { 
     $data['stories'] = $this->newsletter_model->get_stories($email); 
     $data['emails'] = $this->newsletter_model->get_emails_subscribers(); 
    } 

} 
+0

ein einfach, wenn sonst contition muss man es machen können. Hast du diesen Code geschrieben? –

Antwort

0

Sie get_where

 if ($arr['result'] != 'error') 
     { 
      if(!$this->db->get_where('newsletter_subscribers', array('email' => $email), 0, 0)) { 
      $insertcomment=$this->db->insert('newsletter_subscribers',array('email'=>$email)); 

      $arr['result'] = 'confirm'; 
      $arr['message'] = 'Successful Added.'; 

      } else { 

      $arr['result'] = 'error'; 
      $arr['message'] = 'Already Added.'; 

      } 

     } 
0
<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Newsletter extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('stories_model'); 
    } 
    public function index() 
    { 
     $this->load->view('header'); 
     $this->load->view('navigation'); 
     $this->load->view('pages/newsletter'); 
     $this->load->view('footer'); 
    } 
    public function register() 
    { 
     $email = $this->input->post('email'); 

     $arr['result'] = 'confirm'; 
     $arr['message'] = '<ul>'; 


     if (strlen($email) == 0) { 
      $arr['result'] = 'error'; 
      $arr['message'] .= '<li>Please fill the email.</li>'; 
     } 

     if ($arr['result'] != 'error') 
     { 
      $getEmails = $this->db->get_where('newsletter_subscribers', array('email' => $email) 
      $countEmails = $getEmails->num_rows(); 
      if($countEmails < 1) 
      { 
       $insertcomment=$this->db->insert('newsletter_subscribers',array('email'=>$email)); 
       $arr['result'] = 'confirm'; 
       $arr['message'] = 'Successfull Added.'; 
      } 
      else 
      { 
       $arr['result'] = 'error'; 
       $arr['message'] = 'Email Already Exist.'; 
      } 

     } 
     echo json_encode($arr); 
    } 
    public function cronjob() 
    { 
     $data['stories'] = $this->newsletter_model->get_stories($email); 
     $data['emails'] = $this->newsletter_model->get_emails_subscribers(); 
    } 

} 
+0

Bitte erläutern Sie, was Sie getan haben und wie es funktioniert, so dass sowohl OP als auch andere, die diese Frage in der Zukunft finden, etwas lernen und nicht nur blind Code kopieren/einfügen. –

+0

hey Bruder Ich habe Zeilen der angegebenen Abfrage gezählt, die es für neue Benutzer zu verstehen –

+0

IS ist immer noch nicht funktioniert –

Verwandte Themen