2016-07-28 5 views
0

助けてください 私は、このユーザーの入力を検証した後、データベースにユーザーを作成して挿入するこのPHPコード(下記)を持っています。私はユーザーの入力を配列に格納しています。問題は です。ユーザーを作成してデータベースに挿入しますが、リダイレクトはしません。 はここヘッダー機能がリダイレクトされませんか?

$validation = new Validate(); 

if($validation->passed()) { 
//if success, insert(create) user 
try { 
    $user = new User(); 
    $salt = Crypt::salt(32); 
    $user->insert(array(
    'username' => Accept::get('username'), 
    'password' => Crypt::make(Accept::get('password'), $salt), 
    'salt' => $salt, 
    'name' => Accept::get('name') 
    )); 
    //After creation, redirect user 
header('Location : index.php'); 
exit(); 

} catch(Exception $e) { //otherwise display errors 

    die("ERROR : CAN NOT REGISTER USER ".$e->getMessage()); 
} 

このコードは、データベース内のユーザーを作成するコードですが、それはリダイレクトされません。なぜ私は本当に理解していない。

+0

エラーが発生していますか(error_reportingがオンになっていますか)、それとも単にリダイレクトしていないだけですか? – Epodax

+0

エラー報告を有効にしました。私はメッセージを一切受け取っていない。それはデータベースにも挿入されます。リダイレクトしないだけです。 – Vick

答えて

0

1)あなたはheader() functionもない空白

2前echo/output何もしないことを確認してください))エラー

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

3を参照するページの上部にこれらを記述してみてくださいob_start();またはob_flush();

ob_start();// at top of page 
    $validation = new Validate(); 

    if($validation->passed()) { 
    //if success, insert(create) user 
    try { 
     $user = new User(); 
     $salt = Crypt::salt(32); 
     $user->insert(array(
     'username' => Accept::get('username'), 
     'password' => Crypt::make(Accept::get('password'), $salt), 
     'salt' => $salt, 
     'name' => Accept::get('name') 
     )); 
     //After creation, redirect user 
    header('Location : index.php'); 
    exit(); 
    ob_flush(); 

    } catch(Exception $e) { //otherwise display errors 

     die("ERROR : CAN NOT REGISTER USER ".$e->getMessage()); 
    } 
関連する問題