Ich weiß, das ist eine Frage, die bereits Antworten hat, aber keiner von ihnen hat für mich gearbeitet. Aus irgendeinem Grund kann ich nicht verwenden:PHP Slim - Redirect funktioniert nicht
$app->redirect($app->urlFor('home'));
ODER
$app->response->redirect($app->urlFor('home'));
Der Weg ‚nach Hause‘ definiert ist, aber aus irgendeinem Grund Slim nur eine leere 200-Antwort zurück. Gibt es etwas, was ich falsch mache?
EDIT: Voll Code:
$app->get('/gensession', function() use ($app){
// set up session; this works
// if I echo anything here, it'll output on the page
$app->redirect('/'); // This doesn't work, neither does urlFor(<name>)
return;
});
Dies lässt mich nur auf eine leere Seite an/gensession. Slim gibt 200 (OK) und sonst nichts zurück. Keine Fehler. Keine Leistung.
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
EDIT 2: Die Ausgabe der Antwort $ app-> ist:
object(Slim\Http\Response)#113 (5) { ["status":protected]=> int(302) ["headers"]=> object(Slim\Http\Headers)#115 (1) { ["data":protected]=> array(2) { ["Content-Type"]=> string(9) "text/html" ["Location"]=> string(1) "/" } } ["cookies"]=> object(Slim\Http\Cookies)#116 (2) { ["defaults":protected]=> array(6) { ["value"]=> string(0) "" ["domain"]=> NULL ["path"]=> NULL ["expires"]=> NULL ["secure"]=> bool(false) ["httponly"]=> bool(false) } ["data":protected]=> array(0) { } } ["body":protected]=> string(0) "" ["length":protected]=> int(0) }
Hinweis: ["status":protected]=> int(302)
und ["Location"]=> string(1) "/"
Also, wenn das Antwortobjekt enthält eindeutig Warum werden diese Eigenschaften nicht an den Client zurückgegeben?
Funktioniert es, wenn Sie tun $ app-> umleiten ('/ home'); oder $ app-> response-> redirect ('/ home'); ? –
Nein, es funktioniert nicht. Etwas, das ich in der Frage nicht erwähnt habe, ist jedoch, dass ich vorher umleiten konnte. Ich muss etwas getan haben, um die Slim-Weiterleitung zu stoppen. Was könnte das sein? –
Haben Sie einen Fehler? Benutzt du ($ app)? –