上传后重定向到页面并使用会话显示消息?

Can someone please help i have this image upload script i am using which works fine, but i am trying to add this section of code to the bottom:

$_SESSION['dashboard_intro']="<div class=\"user_settings_box_home\"><strong>Welcome to your new profile</strong> - This is your Dashborad.</div><div class=\"infobox-close4\"></div>"; 
header('Location: dashboard.php');

the idea is that after a user uploads an image and the upload script has run, the user is then redirected to another page and a message appears using sessions.

however nothing is happening after the image is uploaded, the page is not redirected and no message is diplayed, please can someone show me where im going wrong.

<?php
    session_start()
    ?>
    <?


    // LOG
    $log = '=== ' . @date('Y-m-d H:i:s') . ' ===============================' . "
"
            . 'FILES:' . print_r($_FILES, 1) . "
"
            . 'POST:' . print_r($_POST, 1) . "
";
    $fp = fopen('upload-log.txt', 'a');
    fwrite($fp, $log);
    fclose($fp);


    // Result object
    $r = new stdClass();
    // Result content type
    header('content-type: application/json');


    // Maximum file size
    $maxsize = 10; //Mb
    // File size control
    if ($_FILES['xfile']['size'] > ($maxsize * 1048576)) {
        $r->error = "Max file size: $maxsize Kb";
    }


    // Uploading folder
    $folder = '../'. '../'. 'data/'. 'photos/'. $_SESSION['user_id'] . '/';
    if (!is_dir($folder))
        mkdir($folder);

    // If specifics folder 
    $folder .= $_POST['folder'] ? $_POST['folder'] . '/' : '';
    if (!is_dir($folder))
        mkdir($folder);

    // PASS USER_ID HERE
    $folder2 = '../'. '../'. 'data/'. 'photos/'. $_SESSION['user_id'] . '/';
    if (!is_dir($folder2))
        mkdir($folder2);

    // New directory with 'files/USER_SESSION_ID/'
    $folder = $newDir . $folder2;


    // If the file is an image
    if (preg_match('/image/i', $_FILES['xfile']['type'])) {

        $filename = $_POST['value'] ? $_POST['value'] :
                $folder . '_default.jpg';
    } else {

        $tld = split(',', $_FILES['xfile']['name']);
        $tld = $tld[count($tld) - 1];
        $filename = $_POST['value'] ? $_POST['value'] :
                $folder . sha1(@microtime() . '-' . $_FILES['xfile']['name']) . $tld;
    }


    // Supporting image file types
    $types = Array('image/png', 'image/gif', 'image/jpeg');
    // File type control
    if (in_array($_FILES['xfile']['type'], $types)) {
        // Create an unique file name    
        // Uploaded file source
        $source = file_get_contents($_FILES["xfile"]["tmp_name"]);
        // Image resize
        imageresize($source, $filename, $_POST['width'], $_POST['height'], $_POST['crop'], $_POST['quality']);
    } else
    // If the file is not an image
    if (in_array($_FILES['xfile']['type'], $types)) 
        move_uploaded_file($_FILES["xfile"]["tmp_name"], $filename);



    // File path
    $path = str_replace('welcome_upload.php', '', $_SERVER['SCRIPT_NAME']);

    // Result data
    $r->filename = $filename;
    $r->path = $path;
    $r->img = '<img src="' . $path . $filename . '" alt="image" />';

    // Return to JSON
    echo json_encode($r);

    // Image resize function with php + gd2 lib
    function imageresize($source, $destination, $width = 0, $height = 0, $crop = false, $quality = 80) {
        $quality = $quality ? $quality : 80;
        $image = imagecreatefromstring($source);
        if ($image) {
            // Get dimensions
            $w = imagesx($image);
            $h = imagesy($image);
            if (($width && $w > $width) || ($height && $h > $height)) {
                $ratio = $w / $h;
                if (($ratio >= 1 || $height == 0) && $width && !$crop) {
                    $new_height = $width / $ratio;
                    $new_width = $width;
                } elseif ($crop && $ratio <= ($width / $height)) {
                    $new_height = $width / $ratio;
                    $new_width = $width;
                } else {
                    $new_width = $height * $ratio;
                    $new_height = $height;
                }
            } else {
                $new_width = $w;
                $new_height = $h;
            }
            $x_mid = $new_width * .5;  //horizontal middle
            $y_mid = $new_height * .5; //vertical middle
            // Resample
            error_log('height: ' . $new_height . ' - width: ' . $new_width);
            $new = imagecreatetruecolor(round($new_width), round($new_height));
            imagecopyresampled($new, $image, 0, 0, 0, 0, $new_width, $new_height, $w, $h);
            // Crop
            if ($crop) {
                $crop = imagecreatetruecolor($width ? $width : $new_width, $height ? $height : $new_height);
                imagecopyresampled($crop, $new, 0, 0, ($x_mid - ($width * .5)), 0, $width, $height, $width, $height);
                //($y_mid - ($height * .5))
            }
            // Output
            // Enable interlancing [for progressive JPEG]
            imageinterlace($crop ? $crop : $new, true);

            $dext = strtolower(pathinfo($destination, PATHINFO_EXTENSION));
            if ($dext == '') {
                $dext = $ext;
                $destination .= '.' . $ext;
            }
            switch ($dext) {
                case 'jpeg':
                case 'jpg':
                    imagejpeg($crop ? $crop : $new, $destination, $quality);
                    break;
                case 'png':
                    $pngQuality = ($quality - 100) / 11.111111;
                    $pngQuality = round(abs($pngQuality));
                    imagepng($crop ? $crop : $new, $destination, $pngQuality);
                    break;
                case 'gif':
                    imagegif($crop ? $crop : $new, $destination);
                    break;
            }
            @imagedestroy($image);
            @imagedestroy($new);
            @imagedestroy($crop);

            $_SESSION['dashboard_intro']="<div class=\"user_settings_box_home\"><strong>Welcome to your new profile</strong> - This is your Dashborad.</div><div class=\"infobox-close4\"></div>"; 
    header('Location: dashboard.php');
        }
    }


    ?>

before header you must not Echo anything like space, newline and so on . it stop header work like this on your code

?>
<?
<script type="text/javascript">
  var url = "<?php echo $link; ?>";
  window.location.href = url;
</script>
<noscript>
    JavaScript is turn off. Try redirect <a href="<?php echo $link; ?>">manyaly</a>.
</noscript>

You need to put exit(); after your header redirection, otherwise you have just loaded two pages of content into 1 page.

Also make sure you have session_start(); at the top of all your scripts.

if it solve then ok else also try this or u may need with combination of both but with little effort.

Create a div in dashboard.php which will use to show messages like

session_start();
<?php if(isset($_SESSION['dashboard_intro'])){?>
    <div class="user_settings_box_home"><strong><?php echo $_SESSION['dashboard_intro']?></strong> -  - This is your Dashborad.</div><div class="infobox-close4"></div>
<?php } ?>

and set $_SESSION['dashboard_intro'] = "Welcome to your new profile";

right after successful file upload and the redirect to dashboard.php

header('Location: dashboard.php');exit();