/    Sign up×
Community /Pin to ProfileBookmark

[RESOLVED] error because of a session

hi everyone,

im getting a strange error and i know that its because of the session,

the error says “[B]headers are already sent[/B]” i’ll paste the code below,

[code=php]<?php

require_once(“./include/functions2.php”);

check_valid_user();

// filename: upload.processor.php

// first let’s set some variables

// make a note of the current working directory, relative to root.

$directory_self = str_replace(basename($_SERVER[‘PHP_SELF’]), ”, $_SERVER[‘PHP_SELF’]);

// make a note of the directory that will recieve the uploaded files

$uploadsDirectory = $_SERVER[‘DOCUMENT_ROOT’] . $directory_self . ‘uploaded_files/’;

// make a note of the location of the upload form in case we need it

$uploadForm = ‘http://’ . $_SERVER[‘HTTP_HOST’] . $directory_self . ‘upload.form.php’;

// make a note of the location of the success page

$uploadSuccess = ‘http://’ . $_SERVER[‘HTTP_HOST’] . $directory_self . ‘cp.php?action=edit_photos’;

// name of the fieldname used for the file in the HTML form

$fieldname = ‘file’;

// Now let’s deal with the upload

// possible PHP upload errors

$errors = array(1 => ‘php.ini max file size exceeded’,

2 => ‘html form max file size exceeded’,

3 => ‘file upload was only partial’,

4 => ‘no file was attached’);

// check the upload form was actually submitted else print form

isset($_POST[‘submit’])

or error(‘the upload form is neaded’, $uploadForm);

// check for standard uploading errors

($_FILES[$fieldname][‘error’] == 0)

or error($errors[$_FILES[$fieldname][‘error’]], $uploadForm);

// check that the file we are working on really was an HTTP upload

@is_uploaded_file($_FILES[$fieldname][‘tmp_name’])

or error(‘not an HTTP upload’, $uploadForm);

// validation… since this is an image upload script we

// should run a check to make sure the upload is an image

@getimagesize($_FILES[$fieldname][‘tmp_name’])

or error(‘only image uploads are allowed’, $uploadForm);

// make a unique filename for the uploaded file and check it is

// not taken… if it is keep trying until we find a vacant one

$now = time();

while(file_exists($uploadFilename = $uploadsDirectory.$now.’-‘.$_FILES[$fieldname][‘name’]))

{

$now++;

}

// now let’s move the file to its final and allocate it with the new filename

@move_uploaded_file($_FILES[$fieldname][‘tmp_name’], $uploadFilename)

or error(‘receiving directory insuffiecient permission’, $uploadForm);

// changing the permissions of the picture to be able to view it

chmod($uploadFilename,0777);

// after successfully uploading the pictures without any errors its time now to update the database

$username = $_SESSION[“logged”]; // im creating a session on logging in and
// that with the URL

// If you got this far, everything has worked and the file has been successfully saved.

// We are now going to redirect the client to the success page.

header(‘Location: ‘ . $uploadSuccess);

// make an error handler which will be used if the upload fails

function error($error, $location, $seconds = 5)

{

header(“Refresh: $seconds; URL=”cp.php?action=edit_photos””);

echo ‘<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”‘.”n”.

‘”http://www.w3.org/TR/html4/strict.dtd”>’.”nn”.

‘<html lang=”en”>’.”n”.

‘ <head>’.”n”.

‘ <meta http-equiv=”content-type” content=”text/html; charset=iso-8859-1″>’.”nn”.

‘ <link rel=”stylesheet” type=”text/css” href=”stylesheet.css”>’.”nn”.

‘ <title>Upload error</title>’.”nn”.

‘ </head>’.”nn”.

‘ <body>’.”nn”.

‘ <div id=”Upload”>’.”nn”.

‘ <h1>Upload failure</h1>’.”nn”.

‘ <p>An error has occured: ‘.”nn”.

‘ <span class=”red”>’ . $error . ‘…</span>’.”nn”.

‘ The upload form is reloading</p>’.”nn”.

‘ </div>’.”nn”.

‘</html>’;

exit;

} // end error handler

?>
[/code]

if i remove the $_SESSION[“logged”] i dont get that error,

thank u guys for any help,

to post a comment
PHP

2 Comments(s)

Copy linkTweet thisAlerts:
@NogDogOct 09.2006 — My first guess would be that something in the included functions2.php is sending output, thus generating the error when you get to the header() command later in the main script. Make sure the include file has no spaces or newlines before the opening <?php or after the closing ?> (or just leave out the closing ?> so that you don't have to worry about it).

Also, I don't see a session_start() anywhere in your script -- is it done in the include file?
Copy linkTweet thisAlerts:
@nooor83authorOct 10.2006 — thank u,

it works..
×

Success!

Help @nooor83 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.17,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...