Автор Тема: Отг: CodeIgniter login форма - част 1  (Прочетена 16548 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

prichy

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 2
Отг:CodeIgniter login форма - част 1
« Отговор #15 -: 30 Юли 2010, 15:02:08 »
Малко помощ.Проблема ми е следният.Трябва ми мулти-езичен сайт да направя.От страницата а Codeigniter Wiki взех примера за URI Language Identifier.
Значи съсздадох си съответният  " MY_language "  file за библиотеката,  " MY_uri_helper "  file съответно за helpers.Като сменям езиците горе url-то всичко си е ОК.
www.example.com/en/home & www.example.com/nl/home
зарежда си ми страницата без бъгове.Само че сега искам спрямо подаденият език да си зареждам от базата и съответните колони.НЕ знам как да взема езика от uri-to.
Behind every successful Person lies a pack of Haters

metost

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 41
  • Публикации: 764
Отг:CodeIgniter login форма - част 1
« Отговор #16 -: 24 Август 2010, 09:34:38 »
Здравей, незнам дали си се оправил вече тай като поста ти е от няколко седмици, но начина да вземеш нещо от url-то е следният:
$lang = $this->uri->segment(n)


ако имаш следното url
http://example.com/index.php/news/en/local/metro/crime_is_up

сегментите са както следва
   1. news
   2. en
   3. local
   4. metro
   5. crime_is_up

като за целта трябва да имаш зареден класът URI в контролера.

Успех...
(рɐǝɥ ɹпoʎ uɹпʇ ʇ,uoр)

SylaR

  • Full Member
  • ***
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 160
Отг:CodeIgniter login форма - част 1
« Отговор #17 -: 29 Септември 2010, 13:41:32 »
Когато сетна формата в урл-а получавам това

http://localhost/ci/localhost/ci/login/validate
Код: PHP
  1. <?php echo form_open( ' login/validate ' );?>
  2.             <?php echo form_input( ' username ' ,  ' Username ' ); ?>
  3.             <?php echo form_password( ' password ' ,  ' Password ' );?>
  4.             <?php echo form_submit( ' submit ' ,  ' Submit ' );?>
  5.             <?php echo form_close();?>
Код: PHP
  1.  function validate()
  2.     {
  3.         $this->load->library( ' form_validation ' );
  4.  
  5.         $val = $this->form_validation;
  6.         $val->set_rules( ' username ' ,  ' Ime ' ,  ' trim|required|min_length[5] '  );
  7.         $val->set_rules( ' password ' ,  ' Parola ' ,  ' trim|required|min_length[4] '  );
  8.  
  9.  
  10.         if($val->run())
  11.         {
  12.             //query
  13.         }
  14.         else{
  15.             $this->index();
  16.         }
  17.  
  18.     }
« Последна редакция: 15 Април 2015, 21:01:26 от Avalanche »

antony

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 60
Re:Отг:CodeIgniter login форма - част 1
« Отговор #18 -: 04 Февруари 2011, 15:33:32 »
Когато сетна формата в урл-а получавам това

http://localhost/ci/localhost/ci/login/validate
Код: PHP
  1. <?php echo form_open( ' login/validate ' );?>
  2.             <?php echo form_input( ' username ' ,  ' Username ' ); ?>
  3.             <?php echo form_password( ' password ' ,  ' Password ' );?>
  4.             <?php echo form_submit( ' submit ' ,  ' Submit ' );?>
  5.             <?php echo form_close();?>
Код: PHP
  1.  function validate()
  2.     {
  3.         $this->load->library( ' form_validation ' );
  4.  
  5.         $val = $this->form_validation;
  6.         $val->set_rules( ' username ' ,  ' Ime ' ,  ' trim|required|min_length[5] '  );
  7.         $val->set_rules( ' password ' ,  ' Parola ' ,  ' trim|required|min_length[4] '  );
  8.  
  9.  
  10.         if($val->run())
  11.         {
  12.             //query
  13.         }
  14.         else{
  15.             $this->index();
  16.         }
  17.  
  18.     }

И на мен ми се случи!

Влез в config/config.php :
-Гледай пътят да ти е целият
-на този ред внимавай да е по този начин:

Код: PHP
  1. /*
  2. |--------------------------------------------------------------------------
  3. | Base Site URL
  4. |--------------------------------------------------------------------------
  5. |
  6. | URL to your CodeIgniter root. Typically this will be your base URL,
  7. | WITH a trailing slash:
  8. |
  9. |       http://example.com/
  10. |
  11. */
  12. $config['base_url']     = [color=red][u]"http://localhost/ci/"[/u][/color];

Поздрави!
« Последна редакция: 15 Април 2015, 21:01:46 от Avalanche »

antony

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 60
Re:Отг: CodeIgniter login форма - част 1
« Отговор #19 -: 04 Февруари 2011, 15:57:52 »
Привет,

Аз имам следният проблем:
-Като изпратя логин формата с бутона субмит отивам на следния адрес http://localhost/ci/index.php/login/validate ,
но не ми зарежда:
-
function index() {
        $data['main_view'] = 'login_form';
        $this->load->view('login/include/template', $data);
    }
, а директно отива на:
-
function validate() {
        $this->load->library('form_validation');
        $val = $this->form_validation;

        $val->set_rules('username', 'Псевдоним', 'trim|requierd|min_lenght[3]');
        $val->set_rules('password', 'Парола', 'trim|requierd|min_lenght[4]');
        if ($val->run()) {
            //db
        } else {
            $this->index();
        }
    }

-Ако напиша в browuser целият път ръчно  http://localhost/ci/index.php/login/validate , тогава минава през index() - метода.

Ето го и целият код:
-
<?php

class Login extends Controller {

    function 
index() {
        
$data['main_view'] = 'login_form';
        
$this->load->view('login/include/template'$data);
    }

    function 
validate() {
        
$this->load->library('form_validation');
        
$val $this->form_validation;

        
$val->set_rules('username''Псевдоним''trim|requierd|min_lenght[3]');
        
$val->set_rules('password''Парола''trim|requierd|min_lenght[4]');
        if (
$val->run()) {
            
//db
        
} else {
            
$this->index();
        }
    }

}
Поздрави!
« Последна редакция: 06 Февруари 2011, 14:39:21 от echeveria »

metost

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 41
  • Публикации: 764
Re:Отг: CodeIgniter login форма - част 1
« Отговор #20 -: 06 Февруари 2011, 11:49:45 »
Здравей, на пръв поглед забелязвам, че имаш правописни грешки:
- не се пише requierd, а required
- не се пише min_lenght[3], а min_length[3]

Поправи ги тези и прегледай за други да не си допуснал.
Пробвай и пиши какво е станало.
(рɐǝɥ ɹпoʎ uɹпʇ ʇ,uoр)

antony

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 60
Re:Отг: CodeIgniter login форма - част 1
« Отговор #21 -: 06 Февруари 2011, 12:57:20 »
Привет,

Упс!!!  Оказа се точно в това проблема.

Благодаря много и извинявай за тъпите грешки!

Поздрави!
« Последна редакция: 06 Февруари 2011, 17:12:55 от antony »

spont4e

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 1
Re:Отг: CodeIgniter login форма - част 1
« Отговор #22 -: 06 Март 2011, 12:06:14 »
Някой може ли да ми предостави архива за autocomplete ?
Става въпрос за архива ci_autocomplete.zip.
Искам го, защото сайта rhsan.com вече го няма... :(

metost

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 41
  • Публикации: 764
Re:Отг: CodeIgniter login форма - част 1
« Отговор #23 -: 06 Март 2011, 14:30:03 »
Прикачил съм файла ci_autocomplete.zip  поради това, че сайта, който съм показал във видеото от известно време е офлайн. Имайте предвид, че той ще работи на CodeIgniter 1.7x, за 2.xx трябва да се направят малко корекции, за да работи коректно.
(рɐǝɥ ɹпoʎ uɹпʇ ʇ,uoр)

valkb7b

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 20
Re:Отг: CodeIgniter login форма - част 1
« Отговор #24 -: 05 Юни 2011, 16:34:39 »
Страхотен урок,евала ! Искам да попитам две неща:

1. От какво може да е тази грешка: Fatal error: Class 'Users_model' not found in C:\xampp\htdocs\ci\system\core\Loader.php on line 188 ?
2. Ще продължиш ли уроците ? :)

Поздрави!

metost

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 41
  • Публикации: 764
Re:Отг: CodeIgniter login форма - част 1
« Отговор #25 -: 05 Юни 2011, 23:27:37 »
Провери дали точно така се казва файла - Users_model.php и дали се намира в директорията application/models

Ще има още уроци, но не зная точно кога.
(рɐǝɥ ɹпoʎ uɹпʇ ʇ,uoр)

valkb7b

  • Newbie
  • *
  • Благодарности
  • -Казани: 1
  • -Получени: 0
  • Публикации: 20
Re:Отг: CodeIgniter login форма - част 1
« Отговор #26 -: 06 Юни 2011, 14:39:49 »
Провери дали точно така се казва файла - Users_model.php и дали се намира в директорията application/models

Ще има още уроци, но не зная точно кога.

Класа ми беше user_model :D Мерси много,и очаквам с нетърпение новите уроци :)

edit: Едно предложение(ако приемаш): направи серия от уроци за цял сайт.Примерно може за форум(както на Иван).Не говоря за няква голяма форумна система,а просто основните :)
« Последна редакция: 06 Юни 2011, 18:14:04 от valkb7b »

dns

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 193
Re:Отг:CodeIgniter login форма - част 1
« Отговор #27 -: 01 Юли 2011, 10:08:17 »
незанм защо когато си направя .htaccess файла не ми премахва index.php изписва ми следния error:

Internal Server Error


Ми включи си mod_rewrite модула на Apache сървъра. Отваряш httpd.conf и откоментираш реда LoadModule mod_rewrite.so Ако самият файл ти липсва, трябва да го свалиш от интернет.
......................................................................

Здравейте е аз имам подобен ПРОБЛЕМ
 ... значи когато направя .htaccess файл в главната директория , на CodeIgniter  (  при мен се намира в var/www/html/1.1.Chasti_za_Motocary/ )

и после променя

$config['index_page'] = 'index.pnp'; 
на

$config['index_page'] = '';
...нищо не става  :-\    когато въведа адреса

Цитат
http://localhost/1.1.Chasti_za_Motocary/home_page/
 

ми изкарва надписа:

Цитат

Not Found

The requested URL /1.1.Chasti_za_Motocary/home_page/ was not found on this server.

Apache/2.2.17 (Fedora) Server at localhost Port 80



Значи пробвах с това:

Цитат
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /1.1.Chasti_za_Motocary/index.php/$1 [L]

и с това

Цитат
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /html/1.1.Chasti_za_Motocary/index.php/$1 [L]
но пак нищо не стана

После намерих въпросният файл httpd.conf и  реда:

LoadModule rewrite_module modules/mod_rewrite.so

щях да го откоментирам ,но той не беше поставен в коментар !

................................................................................................
- Предполагам че при Fedora нещата се правят по друг начин , понеже , роот директорият от която тръгват и работят php файловете се намира в var/www/html/

- Предполагам че при новата вресия 2.02 на codeigniter нещата се правят по друг начин

Някой има ли идея от къде може да идва проблема  ::)

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: Отг: CodeIgniter login форма - част 1
« Отговор #28 -: 24 Септември 2011, 17:20:45 »
Принципно мога да ти дам готово решение, което работи при мен. Малко отдавна си писал, но все пак ако не си се оправил още кажи.

TheHavoc

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 5
Re: Отг: CodeIgniter login форма - част 1
« Отговор #29 -: 04 Декември 2011, 17:29:48 »
Здравейте, поздравления за добрите уроци. Но имам малък проблем и се чудя откъде идва.

Имам едно view:

Код: PHP
  1. <div class="login">
  2.     <fieldset><legend>Login</legend>
  3.         <?=form_open('login/validate'); ?>
  4.         <?=form_input('username'); ?>
  5.         <?=form_password('password'); ?>
  6.         <?=form_submit('submit', 'Login'); ?>
  7.         <?=form_close(); ?>
  8.        
  9.         <?= validation_errors(); ?>
  10.        
  11.     </fieldset>
  12. </div>

И контролера 
Код: PHP
  1. class Login extends CI_Controller {
  2.  
  3.     function index() {
  4.        
  5.         $data['main_view'] = 'login_form';
  6.         $this->load->view('includes/template', $data);
  7.        
  8.     }
  9.  
  10.     function validate() {
  11.  
  12.         $this->load->library('form_validation');
  13.  
  14.         $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[3]');
  15.         $this->form_validation->set_rules('password', 'Password', 'trim|required|min_length[3]');
  16.  
  17.         if ($this->form_validation->run()) {
  18.             //db
  19.         } else {
  20.  
  21.             $this->index();
  22.         }
  23.     }
  24.  
  25. }

Проблема идва, когато дам submit на формата, не изкарва грешките.  Даже давам var_dump(validation_errors()); но изкарва празен низ.

В конфига съм сетнал:

$autoload['libraries'] = array('database', 'session');

$autoload['helper'] = array('url', 'form');
« Последна редакция: 05 Декември 2011, 01:55:17 от metost »