リダイレクトで値$エラーを表示するにはどうすればよいですか?
私に例を挙げてください。あなたの現在の仕様に基づいて
リダイレクトの値の変数を表示しますか?
if (! $files)
{
$error = array('error' => $this->upload->display_errors());
redirect('hello/hi/insert_foreign');
}
リダイレクトで値$エラーを表示するにはどうすればよいですか?
私に例を挙げてください。あなたの現在の仕様に基づいて
リダイレクトの値の変数を表示しますか?
if (! $files)
{
$error = array('error' => $this->upload->display_errors());
redirect('hello/hi/insert_foreign');
}
は少し感覚が不足しています。
ヘッダーリダイレクトは、サーバーへのhttp要求です。この場合、別のURLにリダイレクトされます。通常は、ページが見つからない場合は404などの特定の意味を持つステータスコードを持ちます(See a list of error codes))。アクションの後の応答のように、ユーザーをターゲットとし、UIに属する仲裁情報やカスタム情報を渡すために、 。あなたがこれをしたい場合は、たとえば
、あなたはより良いPHPを使用して遅れ、タイムアウトのいずれかを使用したい:
if (! $files)
{
$data['error'] = $this->upload->display_errors();
$this->load->view('show_error',$data);
sleep(5);
redirect('hello/hi/insert_foreign', 'refresh');
}
またはCIのflashdataを使用して、ユーザーに一時的なメッセージを表示するのに便利である(マニュアルを参照してくださいより良い説明のためにhere):
$this->session->flashdata('error');
またはJavaScriptを使用することができます
$data['error'] = $this->upload->display_errors();
$this->load->view('show_error', $data);
そして、あなたのビューshow_error.php中:
<?php echo $error; ?>
<script type="text/javascript">
$(document).ready(function(){
var href = "<?php echo site_url('hello/hi/insert_foreing');?>";
setTimeout(function() { window.location.href = href; }, 3000);
});
</script>
、私はこの思い付いた:
<?php
echo implode('<br>', $error);
?>
EDIT
は、次のページにエラーを表示します。私は$ _SESSIONでそれを行います。 GETメソッドを使って何かを追加する必要はありません。実際には、セッションが
<?php
if (!$files) {
$_SESSION['upload_errors'] = $this->upload->display_errors());
redirect('hello/hi/insert_foreign');
}
?>
ページどこを...もちろん良く見て、あなたは、単に配列からソースエラーを取得するGETのmethod..insteadから何かを変換する必要はありませんが、はるかに安全でなければなりませんリダイレクトされます:あなたは、あなたがやっている行動で考えるならば、あなたが求めている何
<?php
echo implode('<br>', $_SESSION['upload_errors']);
?>
$エラーはどのようにリダイレクト( 'hello/hi/insert_foreign')に送信されますか? –
あなたはあなたの質問にそれを指定していません。とにかく、これは基本的なアイデアです。そして、現在の問題では、これが最も良い解決策です。 –
if (! $files)
{
$error = array('error' => $this->upload->display_errors());
$_SESSION['error'] = $error;
redirect('hello/hi/insert_foreign');
}
//on other page
if(isset($_SESSION['error'])) {
$error = $_SESSION['error'];
//output error
unset($_SESSION['error']);
}
は、文字列を照会し、スーパーグローバルでのGETを使用して、それを追加し、あなたのコントローラで
それを取得します。 –
セッションで一時変数を作成します。場合によっては、ストアする変数をクエリ文字列に入れることはできません。 –
私に例を挙げてください。 –