Jump to content
php.lv forumi
vbz

CI atgriež not found page 404

Recommended Posts

funkcija, kas nestrādā:

function pasword_recovery_member() {
     
		$member = $this->membership_model->get_data();
        $this->load->library('form_validation');
		
		// field name, error message, validation rules
		$this->form_validation->set_rules('email_address', '"E-pasts"', 'trim|required|valid_email');
		if($this->form_validation->run() == FALSE)
		{
			$this->password_recovery();
           
		}
        else { 
		  if (!$this->membership_model->get_email_address()) { 
            $this->password_recovery('<p class="error">Tādas e-pasta adreses nav!</p>');
                            
            }
          else {
            $new_password = $this->_createRandomPassword();
            $this->membership_model->set_new_password($this->input->post('email_address'), 
            $new_password);

            require_once(APPPATH. 'config/email.php');
            $this->load->library('email', $config);
		
            $this->email->from(EMAIL_FROM, EMAIL_FROM_DESCRIPTION);
            $this->email->to($this->input->post('email_address'));		
            $this->email->subject('Jauna parole');
            $message_body = $this->load->view('emails/password-recovery', array('password' => $new_password), true);		
            $this->email->message($message_body);
                
           	if($this->email->send()) {
                redirect('./?login=2'); 
				//redirect(current_url() . '/?login=2', 'refresh'); 
            }
            else {
                show_error($this->email->print_debugger());
            }
           } 
         }        
            
    }

funkcija, kas, ir root funkcija:

	function index()
	{
        $this->data['message'] = '';
        if($this->input->get('login') === '0'){
            $this->data['message'] = 
                '<p class="error">Nepareizs telefona numurs un/vai parole!</p>';
        }
        
         if($this->input->get('login') === '1'){
            $this->data['message'] = 
                '<p class="message">Administrātors izskatīs Jūsu pieprasījumu 4h laikā!</p>';                
        }

        if($this->input->get('login') === '2'){
            $this->data['message'] = 
                '<p class="message">Parole tika nosūtīta uz Jūsu e-pastu!</p>';
        }
        
        $this->data['footer'] = $this->load->view('includes/footer', array(), true);       
		$this->load->view('includes/login-template', $this->data);
	}

Jautājums uz visiem redirect atgriež 404 error page

respektīvi - redirect('./?login=2'); in function pasword_recovery_member() atgriež 404, ja nav argumentu uri, teiksim ?mainigais=xxx, tad kods strādā, ja ir pielikts ?mainīgais=xxx, atgriež=404

 

pag, respektīvi uz "./?variable=value" uri return 404, bet pārējās lapas strādā

 

tieši 

  1. redirect('./?login=2');
  2. //redirect(current_url() . '/?login=2', 'refresh');
  3. // izmet error 404
  4.  
Edited by vbz

Share this post


Link to post
Share on other sites

lieta tāda, ka neņem nevienu uri, kas redirectējas uz "?variable=value"

 

prmajā postā redirect: "redirect('./?login=2');" met error 404, taspats uz cita koda gabalu

Edited by vbz

Share this post


Link to post
Share on other sites

redirect('./?login=2');

 

Tas nozīmē index() palaist, "./" esošajā dirā, esošajā dirā būs kontroliera defaultā funkcija, lieta tāda, ka tas kādus 4 gadus atpakaļ taisīts un staigāja, kkādi upgradi - apache, php? Kas varēja mainīties? ieliec kodu echo 'lalala'; exit(); viņš visu izdara, bet nedirektējas atpakaļ.

 

bāc nesaprot uri ar argumentiem, ja ir tīrs uri lallla/lallla/01/06 - nostrādā

 

labi iemetīs testu ar skriptu, kur get padod kkādu argumentu ar nestrādās?

 

nē, neņem vispār pretim tādu sintaksi - llll.php?ggg=0

Edited by vbz

Share this post


Link to post
Share on other sites

QSA bija.

Problēma atrisināta, pārkopēju CI pēdējās versijas system failus un strādā kā iepriekš. Izrādās tur php no 2.x.x ir ticis ugreidots uz 5.3 un konfliktēja. Proti, \system\core\URI.php  function _filter_uri($str) bija pie vainas. Paldies!

Share this post


Link to post
Share on other sites

QSA bija.

Problēma atrisināta, pārkopēju CI pēdējās versijas system failus un strādā kā iepriekš. Izrādās tur php no 2.x.x ir ticis ugreidots uz 5.3 un konfliktēja. Proti, \system\core\URI.php  function _filter_uri($str) bija pie vainas. Paldies!

Ja godīgi es uz CI netaisītu kodu vairāk, tas bija vismaz 4 gadi atpakaļ, tagad taisītu uz laravel, laiks iet uz priekšu un mainās Tava uztvere un domāšana

Share this post


Link to post
Share on other sites

Četri gadi un viss kas mainās ir jauns freimvorks? Kur paliek iemācīties _valodu_ (nerunāsim par freimvorkiem un librarijiem) reizi gadā un “tādas muļķības“?

Share this post


Link to post
Share on other sites

Četri gadi un viss kas mainās ir jauns freimvorks? Kur paliek iemācīties _valodu_ (nerunāsim par freimvorkiem un librarijiem) reizi gadā un “tādas muļķības“?

Solidaritātes pēc griezās pie manis iepriekšējās firmas vadītājs un paprasīja, ka sistēma nestrādā, ko es toreiz esmu taisījis. Ko Tu darītu, kā  projekta vadītājs, paprasītu, kas toreiz to taisīja. Paši netika galā ... Nevajag visu sarežģīt! Tas ir vienkāršākais veids - griezties pie pirmavota autora. Es PHP lasu jauno relīzu changes un oficiālo wiki, nu grūti ir pat tad, ja izskritis no php kaut vai 3 gadus

Edited by vbz

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...