• 24-02-2014, 04:06:58
    #1
    ajax_controller
    class Ajax extends CI_Controller {
    	
    	function index(){
    		 $this->load->helper('form');
    		 $this->load->model('function_model');
    	}
    
            public function login(){
    		if($this->input->post('loginHidden')){
    			$loginMail 		= $this->input->post('loginMail');
    			$loginPass 		= $this->input->post('loginPass');
    			if($loginMail == '' || $loginPass == ''){
    				echo '0';
    			}else if(strlen($loginPass) < 8){
    				echo '1';
    			}else if(!$this->checkmail($loginMail)){
    				echo '2';
    			}else{
    				$pass 	= md5(md5(htmlentities($this->input->post('loginPass'))));
    				$sql 	= $this->db->query("SELECT * FROM users WHERE mail='{$loginMail}' and parola='{$pass}'");
    				if($sql->num_rows() > 0)
    				{
    					echo '3';
    				}else{
    					echo '4';
    				}
    			}
    		}
    	  }
    }
    form_view
    <form id="loginForm" onsubmit="return false">	
    <input type="hidden" name="next" value="/">	
    <fieldset>				
    <div class="control-group">		
    <label class="control-label">E-Mail Adresi :</label>	
    <div class="controls">		
    <input type="text" name="loginMail" placeholder="E-Mail Adresi" id="email">
    </div>
    </div>
    
    <div class="control-group">
    <label class="control-label">Parola :</label>
    <div class="controls">
    <input type="password" name="loginPass" placeholder="Parola" id="password">
    </div>	
    </div>	
    <div class="control-group">
    <input type="hidden" name="loginHidden" />
    <input type="submit" onclick="loginPost()" value="Giriş Yap">
    <hr>	
    <div id="loginSuccess" style="display:none;"></div>
    <div id="loginAlert" style="display:none;">	</div>
    <div id="loginInfo" style="display:none;"></div>	
    </div>		
    </fieldset>
    </form>
    mj.js
    function loginPost(){
    	  $.ajax({
    		type: "POST",
    		url: URL + "ajax/login",
    		data: $('form#loginForm').serialize(),
    		success: function(x){
    			if(x==0){
    				$('#loginAlert').fadeIn('slow').append("Lütfen Giriş Formunu Boş Bırakmayınız!<br>");
    			}else if(x==1){
    				$('#loginInfo').fadeIn('slow').append("Parolanız En Az 8 Karakter Olmalıdır!<br>");
    			}else if(x==2){
    				$('#loginInfo').fadeIn('slow').append("Lütfen Geçerli E-mail Adresi Giriniz!<br>");
    			}else if(x==3){
    				$('#loginSuccess').fadeIn('slow').append("Başarıyla Giriş Yaptınız! Yönlendiriliyorsunuz.<br>");
    				setTimeout(function() { window.location=URL}, 2000);
    			}else if(x==4){
    				$('#loginAlert').fadeIn('slow').append("Kullanıcı Adı veya Parola Hatalı!<br>");
    			}
    		},
    		error: function(x) {
    				$('#loginAlert').fadeIn('slow').append("Giriş Formu / Sistemde Hata Oluştu.<br>");
    		}
    	  });
    }
    nerede hatam var ?

    formu post ediyor fakat ajax controller den cevap gelmiyor.
  • 24-02-2014, 05:12:27
    #2
    Üyeliği durduruldu
    PHP akışında sorun var gibi gözüküyor.

    AJAX işlemini aradan kaldırıp "login" kısmına direkt POST etmeyi dene.
    Ya da direkt Firebug vb. kullanıp trafiği takip et.
  • 24-02-2014, 18:01:14
    #3
    echo ile gönderdiğin değerleri direk int olarak göndersene tırnaksız olarak bide öyle dene.
    çünkü kodlamada bir sıkıntı göremedim veya gözüme takılan bişey olmadı.
  • 27-02-2014, 19:02:08
    #4
    @Risus; @Ritmik;
    Hocam bir konu daha açmak istemedim bir sorum daha olacak.
    routes üzerinden bir url oluşturdum.
    $route['order-history/'] = "order-history";

    controllerde class adını order-history yaptığımda;
    - "kısa tire hatası" alıyorum. ne şekilde yapabilirim.
  • 02-08-2014, 17:08:22
    #5
    Üyeliği durduruldu
    samsunikinciel adlı üyeden alıntı: mesajı görüntüle
    @Risus; @Ritmik;
    Hocam bir konu daha açmak istemedim bir sorum daha olacak.
    routes üzerinden bir url oluşturdum.
    $route['order-history/'] = "order-history";

    controllerde class adını order-history yaptığımda;
    - "kısa tire hatası" alıyorum. ne şekilde yapabilirim.
    Class isimlerinde - yerine _ kullanman gerekli.