2011-10-07 1 views
0

J'ai sidebar.php dans mon dossier views. Il contient ce code:La vue Codeigniter se charge dans une vue mais pas une autre

<div class="title_box"> 
    Login 
</div> 
<div class="border_box"> 
    <div style="height:150px"> 
     <br/> 
     <?php echo form_open('login'); ?> 
     <strong>Username:</strong> <input type="text" name="username" size="13"/><br/> 
     <strong>Password:</strong> <input type="password" name="password" size="13"/><br/> 
     <div class="login_button"> 
      <p><input type="image" src="/igniter/assets/images/login.gif" name="login"></p> 
     </div> 
     </form> 
     <div class="forgot_name"> 
      <br/> 
      <a href="">Forgot username or password?</a> 
     </div> 
    </div> 
</div> 

J'ai deux autres vues. index.php et registration.php.

En registration.php, dans le point approprié, je fais:

$this->load->view('sidebar') 

Il charge ma barre latérale exactement comme prévu dans ma page d'inscription.

Mais le même code, dans la vue index.php, me donne une erreur et refuse d'afficher la barre latérale.

Ceci est l'erreur que je reçois:

codeigniter error

Répondre

2

Vous devez charger l'aide du formulaire ou la bibliothèque form_validation (qui inclut automatiquement l'assistant de forme et URL) dans le contrôleur appelant ces vues (ou l'un d'entre eux, car les vues sont mises en mémoire tampon afin que vous puissiez en appeler une à l'intérieur et avoir les mêmes vars disponibles). L'erreur signifie que la fonction form_open(), qui est à l'intérieur de l'assistant de formulaire, n'est pas en cours de chargement.

Thnaks à @Robin Castlin pour l'exemple de code. Dans votre contrôleur, charge

$this->load->helper('form'); 

ou juste

$this->load->library('form_validation'); 

Le vous pouvez charger vos vues.

+2

Ajouter dans le contrôleur: '$ this-> load-> helper ('form');' avant d'utiliser la vue() –

+0

Ahhhh !!! Le contrôleur de l'inscription s'est vu charger cette aide parce qu'elle avait sa propre forme. Hou la la! – xbonez

+0

Oui, oui! Ça marche. Merci beaucoup. 7min jusqu'à ce que je peux accepter la réponse. – xbonez

Questions connexes