2013-06-17 5 views
1

PHP-ошибка была обнаруженаМассив для преобразования строки ошибки PHP form_helper

Серьезность: Обратите внимание

Сообщение: Массив для преобразования строки

Имя файла: хелперов/form_helper.php

Порядковый номер: 522

----------------------------- Код

 <?php 
     // open the form using CI form helper 
     echo form_open('loginController', array('id' => 'login')); 
     // first input field 
     echo "<div>"; 
     echo form_label('Username', array('for' => 'login_username')); 
     echo form_input(array(
      'type' => 'text', 
      'name' => 'username', 
      'id' => 'login_username', 
      'value' => set_value('username') 
     )); 
     echo "</div>"; 
     // second input field 
     echo "<div>"; 
     echo form_label('Password', array('for' => 'login_password')); 
     echo form_password(array('type' => 'password', 'name' => 'password', 'id' => 'login_password')); 
     echo "</div>"; 
     // submit button 
     echo "<div class='submit'>"; 
     echo form_button(array('type' => 'submit', 'content' => 'Log in')); 
     echo "</div>"; 

     echo "<div class='errors'>"; 
     // display if incorrect username/password 
     if ($this->session->flashdata('login_error')) 
      echo 'Incorrect username/password'; 
     // display if incorrect input data 
     echo validation_errors(); 
     echo "</div>"; 
     // close the form 
     echo form_close(); 
     ?> 

----------------------------- form_helper.php (строка 513 до 537)

if (! function_exists('form_label')) 
{ 
function form_label($label_text = '', $id = '', $attributes = array()) 
{ 

    $label = '<label'; 

    if ($id != '') 
    { 
     $label .= " for=\"$id\""; 
    } 

    if (is_array($attributes) AND count($attributes) > 0) 
    { 
     foreach ($attributes as $key => $val) 
     { 
      $label .= ' '.$key.'="'.$val.'"'; 
     } 
    } 

    $label .= ">$label_text</label>"; 

    return $label; 
} 
} 
+0

Что такое линия 522? – DevZer0

+0

$ label. = "For = \" $ id \ ""; –

+0

можете ли вы показать код, который вы делаете для вызова form_label()? – DevZer0

ответ

0

Вы вызывают функцию неправильно. Третий параметр - это массив, но вы передаете второй параметр как массив.

Используйте ниже функцию вызова функции для всех form_label.

echo form_label('Username', 'Username',array('for' => 'login_username')); 
          ^^^^^^^^^^^^ 

Определение функции

function form_label($label_text = '', $id = '', $attributes = array()) 
0

Здесь

echo form_label('Username', array('for' => 'login_username')); 

и здесь

echo form_label('Password', array('for' => 'login_password')); 

Вы передаете массив для параметра идентификатор функции, которая должна быть строка попробуйте

echo form_label('Username', "lblUsername", array('for' => 'login_username')); 

и

echo form_label('Username', "lblPassword", array('for' => 'login_username')); 

Или просто передать NULL в качестве значения идентификатора.

+0

Большое вам спасибо, что сработало :) –

Смежные вопросы