2017-05-31 1 views
0

ich "<a href='".base_url() ."auth/confirmNewUser/".$username."' class='btn btn-sm'>Create&nbsp;Account</a>"; bin mit einem URL zu erzeugen, die dann Karten zuZünder-Code 404 für einen bestimmten Parameter Rückkehr

function confirmNewUser() { 

    $newuser =$this->uri->segment(3); 

Das Problem, das ich jetzt habe, ist dies für alles andere als einen spezifischen Textparameter arbeitet (nicoe) was immer 404 Fehler zurückgibt. Also kommt es im Grunde überhaupt nicht zur Methode. Ich bin am Ende. Jeder Debugging-Rat wäre wirklich hilfreich. Dank

Antwort

2

Ich glaube, Sie brauchen eine Route

$route['auth/confirmNewUser/(:any)'] = 'auth/confirmNewUser/$1'; 

https://www.codeigniter.com/user_guide/general/routing.html

https://www.codeigniter.com/user_guide/general/routing.html#examples

Ein weiterer Grund zu schaffen, warum es funktionieren kann nicht, weil Sie kein .htaccess geeignet in Ihrem bekommen haben Hauptverzeichnis

So entfernen Sie index.php

https://github.com/wolfgang1983/htaccess_for_codeigniter

Machen Sie den Dateinamen des Controllers und Klassennamen sicher nur Anfangsbuchstaben in Großbuchstaben Rest Klein hat.

Dateiname Controller/Auth.php

<?php 

class Auth extends CI_Controller { 

    public function __construct() { 
     parent::__construct(); 
    } 

    public function confirmNewUser($username) { 
     echo $username; // Testing 

     $data['username'] = $username; 

     $this->load->view('some_view', $data); 
    } 

} 

Auch stellen Sie sicher, Basis-URL ist

gesetzt
$config['base_url'] = 'http://localhost/yourproject/'; 

Oder wenn auf Live-domian Beispiel

$config['base_url'] = 'http://www.example.com/'; 
+0

gleiche Problem. Das Problem, das ich habe, ist nicht, dass es nicht Routing ist. Es leitet alle anderen Anfragen weiter, gibt aber 404 für diesen einen spezifischen Parameter zurück. Das ist sehr eigenartig. – bidhan

+0

@bidhan hast du versucht mit index.php in url es könnte etwas mit htaccess zu tun 'http: // localhost/yourproject/index.php/auth/confirmNewUser/someusername' – user4419336

+0

das funktioniert. Was könnte der Problemgedanke sein? Beachten Sie, dass es für einen bestimmten Parameter war – bidhan

Verwandte Themen