2017-07-28 1 views
0

Je continue à obtenir l'erreurCodeIngiter Argument manquant malgré l'argument étant passé

Missing argument 1 for AdminPanel::viewUser() 

problème est que l'URL lui-même ressemble à peu près comme ceci:

domain.com/AdminPanel/viewUser/1 

Pourtant, pour une raison quelconque, une valeur n'est pas transmis au contrôleur, bien que dans le contrôleur, il est défini comme

public function viewUser($id) 

Si je définis une valeur par défaut pour le ID, il utilisera uniquement la valeur par défaut, pas les valeurs passées à travers l'URL

+0

Vous pouvez définir des itinéraires et vérifier la valeur du côté du contrôleur. –

+0

Quelle version de CI vous utilisez? – user4419336

+0

@ wolfgang1983 utilise 3.1.5 – Mandemon

Répondre

0

Si vous souhaitez accéder à la valeur de l'URL dans le contrôleur. Vous devez mentionner une ligne sur routes.php voir ci-dessous:

$route['Admin/viewUser/(:num)'] = 'Admin/viewUser/$1'; 

Il va automaitcally obtenir la valeur de passage dans votre méthode $ id params

+0

Ne fonctionne pas. J'ai changé la partie Admin en AdminPanel (le nom du contrôleur) et je reçois toujours la même erreur. – Mandemon

+0

s'il vous plaît ajouter votre méthode de contrôleur correctement .. – Madhur

+0

assurez-vous également que la classe de contrôleur et le nom de fichier doit être en majuscules. – Madhur

2

trouvé l'erreur. J'avais utilisé

function _remap($method_name = 'index') 
    { 
    if(!method_exists($this, $method_name)){ 
     $this->index(); 
    } 
    else{ 
     $this->{$method_name}(); 
    } 
    } 

Pour rediriger l'utilisateur à certaine page s'ils essayent d'appeler une méthode qui n'existe pas. Supprimé celui-ci et cela fonctionne maintenant.

-2

Vous n'avez pas besoin de le passer en paramètre, veuillez l'utiliser en tant que segment d'uri. Il déclarera et affecter comme suit: -

$this->uri->segment(3, '0'); 

Maintenant, enlevez $id de la fonction.

+0

Cela semble être une mauvaise idée, dans le cas où le code est réutilisé ou l'URI a changé dans le futur. – Mandemon

0

propre et simple, il attend cela, il a besoin variable fonction, pour une raison ou une autre si elle ne passait alors

toujours essayer de faire cela.

<?php 

public function viewUser($id="") 
{ 
} 
?>