Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

file upload return to upload html page

I'm looking to return to the previous page after a file upload and have "file uploaded successfully" on the upload page.

In upload.php at the top I have placed

sesssion_start();

And at the end of the file upload script I have placed

$_SESSION['upload_success'] = TRUE;
header("Location: stream.php");

Now I know i need to put some code into the html document but unsure what needs to go in. Below is my html form script

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="90000000" />
 Select video to upload:
Please choose a file: <input name="uploadedfile" type="file" /><br /> 
<input type="submit" value="Upload File" /> 

I know it is going to be something similar to this but unsure how or where I would place it.

 session_start();
 if (isset($_SESSION['upload_success']) && $_SESSION['upload_success']) {
 echo "File uploaded successfully";
 }

If someone could walk me through adding the HTML code into the correct place I will be very greatful

After the comments i amend my php code to look like this.

<?php error_reporting(E_ALL); ini_set('display_errors', 1);
sesssion_start();
$target_path = "upload/";
$target = $target_path . basename($_FILES['uploadedfile']['name'] );
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'] , $target))
{ 
echo "The file ". basename( $_FILES['uploadedfile']['name'] ). " has been      uploaded"; 
  } 
 else {
   echo "Sorry, there was a problem uploading your file."; 
    }
   $_SESSION['upload_success'] = TRUE;
   header("Location: stream.php");
   exit();  

And the syntax inside the stream.php to:

    <?phpsession_start();
    if (isset($_SESSION['upload_success']) && $_SESSION['upload_success']) {
    echo "File uploaded successfully";
    }
    ?>

Thanks,

Mark

like image 593
Markjose Avatar asked Feb 19 '26 20:02

Markjose


1 Answers

Nota: You also cannot use echo and header together because that would considered as outputting before header, so we'll just use a session array as the message and the header to redirect to "upload_form.php", then show the respective message on that page afterwards.

Use session_destroy() also to destroy any previous sessions.

Sidenote: Use two seperate files.

HTML form: call this "upload_form.php"

<?php 
session_start();
session_destroy();
?>

<form action="stream.php" method="post" enctype="multipart/form-data">

<input type="hidden" name="MAX_FILE_SIZE" value="90000000" />
Select video to upload:
Please choose a file: <input name="uploadedfile" type="file" /><br />

 <input type="submit" value="Upload File">
 </form>

<?php 
if(isset($_SESSION['upload_success'])){
    echo $_SESSION['upload_success'];
}

else{
    echo "Please select a file.";
}

?>

PHP (file 2): call this "stream.php"

<?php 
session_start();

$target_path = "upload/";
$target = $target_path . basename($_FILES['uploadedfile']['name'] );

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'] , $target))
{
$_SESSION['upload_success'] = "File successfully uploaded.";
header("Location: upload_form.php");
exit;
  } 

 else {
$_SESSION['upload_success'] = "Sorry, there was a problem uploading your file.";

header("Location: upload_form.php");
exit;
    }

Edit:

Modify and add the following after if(move_uploaded_file...

if(isset($_FILES['uploadedfile']) && !empty($_FILES['uploadedfile'])){
   $target_path = "upload/";
   $target = $target_path . basename($_FILES['uploadedfile']['name']);
}
like image 119
Funk Forty Niner Avatar answered Feb 21 '26 11:02

Funk Forty Niner



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!