我尝试使用Slim Framework的重定向,但它根本不起作用。这是一个例子:
// Viewing a note
$app->get('/n/:id(/:password)', function ($id, $password = null) use ($app, $tl, $settings){
// User has requested a note
$note = $tl->load($id);
// Check if note is valid
if ($note) {
// No problems, note is valid
$app->render('note.php', ['note' => $note, 'settings' => $settings, 'password' => $password]);
} else {
// Note has been deleted or doesn't exist, render error
$app->flash('error', '<p>The requested note doesn\'t exist. It may have expired or been deleted.</p>');
$app->redirect('/');
}
});
// Get posted password
$app->post('/n/:id', function ($id) use ($app) {
// Hash password, redirect user back to note
$app->redirect('/n/' . $id . '/' . SHA1($app->request->post('password')));
});
当我在上一页提交表单时,它会发布到/ n /:id,但随后只显示一个空白页面。 ifelse语句中的主页重定向也是如此。如果我打开Chrome开发者工具,我可以看到请求的状态是200,方法是POST。将error_log添加到请求处理程序会向我显示请求已发出,但重定向不执行任何操作。我已启用所有错误报告,但未显示任何内容。
几小时前它正在工作,所以我不知道它有什么问题。有什么想法吗?
答案 0 :(得分:0)
我意识到它是什么,现在又讨厌自己。我在重定向之前包含了一个带有require的库,并且该库在<?php
之前有一个空格,因此发送了一个空行。这意味着标题已经设置,因此重定向不起作用。