Форму веб-регистрации


Это страница, которая позволяет пользователю зарегистрироваться:

<?php echo form_open('user/valid_register_page', 'autocomplete="off"');?>

    <?php $this->table->set_template(array('table_open'=>'<table class="table_form_register">')); 
    $this->table->add_row(form_label($label_email.
                                    form_label(form_error('email'),'',array('class' => 'error_label')), 
                                    'label_email',
                                     array('class' => 'form_label')), 

                           array('class' => 'align_right_td', 
                                 'data' => form_input('email', 
                                           set_value('email'),
                                           'class = "align_right_input require"')));  

    $this->table->add_row(form_label($label_invitation_key.
                                    form_label(form_error('invitation_key'),'',array('class' => 'error_label')),
                                    'label_invitation_key',
                                     array('class' => 'form_label')),

                          array('class' => 'align_right_td',  
                                 'data' => form_password('invitation_key',
                                           set_value('invitation_key'),
                                           'class = "align_right_input require"')));

    $this->table->add_row('',array('class' => 'button_td',
                  'data' => form_submit('register',  $button_register, 'class = "form_td_button"')));

    echo $this->table->generate();    

    ?>          
<?php echo form_close();?>  

Этот код есть только 2 метки и 2 поля: одно-написать, другое ключи приглашению. Это код, который рендеринга для генерации формы, таблицы и кнопки с этими 2 метки и поля. Но как вы можете видеть, это очень сумбурно, если надо поддерживать, то она станет головная боль. Любые предложения о том, как сделать это проще?



545
3
задан 27 августа 2011 в 04:08 Источник Поделиться
Комментарии
3 ответа

Можно начать с удаления динамической генерации HTML, где нет никакой выгоды в этом. Вы бы гораздо лучше писать что-то вроде этого :

<?php
$form = $this->form;
?>
<form action="<?php echo $form->get_destination(); ?>" method="post">
<ul>
<li>
<?php echo $form->render_field( 'email' ); ?>
</li>
<li>
<?php echo $form->render_field( 'invitation_key' ); ?>
</li>
<li><?php echo $form->render_field( 'submit' ); ?></li>
</ul>
</form>

Да, никто его за это в CodeIgniter , но опять же у меня огромная нелюбовь к рамкам с херов ООП.

2
ответ дан 27 августа 2011 в 10:08 Источник Поделиться

Это мне кажется один кусочек из PHP, так что вы должны поставить все выше код в один

<?php
//Put your php code here.

Правильно использовать отступы и последовательно.

Общий консенсус для использования конечных PHP в скобках ?> заключается в том, что вы не включить его в конец файла. В PHP делает это автоматически, и это позволяет избежать некоторых трудно найти ошибки.

1
ответ дан 28 августа 2011 в 08:08 Источник Поделиться

Нет необходимости открывать и закрывать PHP код снова и снова. просто откройте их в самом начале, потом закрывать их в конце.

Также, вы нанизывая массива после проживания там. создать переменные для хранения массивов и создать их, прежде чем они необходимы. Затем, вы можете использовать их в add_row звонки. Это позволит очистить большую часть кода.

1
ответ дан 29 августа 2011 в 03:08 Источник Поделиться