Jump to content

Download não resulta


Slaxer13
 Share

Recommended Posts

Boas pessoal, sou novo em dreamweaver e PHP e isto ta a meter nervos já 😉

Alguém sabe como resolver este problema? Quando tento fazer download ele diz me que nenhum id foi passado...

<?php
// Make sure an ID was passed
if(isset($_GET['id'])) {
 // Get the ID$id
 $file_name= ($_GET['id']);
 // Make sure the ID is in fact a valid ID
if($file_name == NULL) {
 die('The name is invalid!');
}
else {
 // Connect to the database
 $dbLink = new mysqli('localhost', 'root', "mysql", 'dbtuts');
 if(mysqli_connect_errno()) {
	 die("MySQL connection failed: ".mysqli_connect_error());
 }
	 // Fetch the file information
 $query = "
	 SELECT `file`, `type`, `size`
	 FROM `tbl_uploads`
	 WHERE `file` = {$file}";
 $result = $dbLink->query($query);
 if($result) {
	 // Make sure the result is valid
	 if($result->num_rows == 1) {
	 // Get the row
		 $row = mysqli_fetch_assoc($result);
		 header("Content-Type: ".$row['type']);
		 header("Content-Length: ".$row['size']);
		 header("Content-Disposition: attachment");
		 // disopsition = attachment to force download request
		 // Print data
		 echo $row['file'];
	 }
	 else {
		 echo 'Error! No file exists with that ID.';
	 }
	 // Free the mysqli resources
	 @mysqli_free_result($result);
 }
 else {
	 // if there is an error excuting the query
	 echo "Error! Query failed: <pre>{$dbLink->error}</pre>";
 }
 // close database connection
 @mysqli_close($dbLink);
}
}
else {
// if no ID passed
echo 'Error! No ID was passed.';
}
?>

Qualquer outra info necessária basta dizerem.

Cumps,

Slaxer13

Edited by apocsantos
geshi
Link to comment
Share on other sites

Poderás ter vários erros, mas saltou-me logo um à vista na consulta:

WHERE `file` = {$file}

Tu não tens nenhuma varável $file definida anteriormente, tens é $file_name.

E verifica se no form em que envias o ID estás a utilizar POST ou GET.

Link to comment
Share on other sites

Retirei os @ e troquei o $file_name por $id. Espreitei na outra for e está como GET

Erro:

Error! Query failed:

Você tem um erro de sintaxe no seu SQL próximo a ''tbl_uploads'

WHERE 'id' = {$row[' na linha 2

<?php
// Make sure an ID was passed
if(isset($_GET['id'])) {
// Get the ID$id
$id = ($_GET['id']);
// Make sure the ID is in fact a valid ID
if($id == NULL) {
die('The name is invalid!');
}
else {
// Connect to the database
$dbLink = new mysqli('localhost', 'root', 'mysql', 'dbtuts');
if(mysqli_connect_errno()) {
 die("MySQL connection failed: ".mysqli_connect_error());
}
 // Fetch the file information
$query = "
 SELECT 'id', 'file', 'type', 'size'
 FROM 'tbl_uploads'
 WHERE 'id' = {$id}";
$result = $dbLink->query($query);

if($result) {
 // Make sure the result is valid
 if($result->num_rows == 1) {
 // Get the row
 $row = mysqli_fetch_assoc($result);

 header("Content-Type: ".$row['type']);
 header("Content-Length: ".$row['size']);
 header("Content-Disposition: attachment");
 // disopsition = attachment to force download request
 // Print data
 echo $row['file'];
 }
 else {
 echo 'Error! No file exists with that ID.';
 }
 // Free the mysqli resources
 mysqli_free_result($result);
}
else {
 // if there is an error excuting the query
 echo "Error! Query failed: <pre>{$dbLink->error}</pre>";
}
// close database connection
mysqli_close($dbLink);
}
}
else {
// if no ID passed
echo 'Error! No ID was passed.';
}
?>

Este código já está atualizado

Edited by apocsantos
geshi
Link to comment
Share on other sites

peço alguem no fórum que tenha uma maior capacidade de expressão para tornar a minha pergunta mais directa e claram, por favor.

porque por mais que tente, não estou a ver como posso a tornar mais directa e simples.

---------------

vor tentar só mais uma coisa:

depois do seguinte código (que não tem nada haver como o teu problema):

$variavel = 3;

o que se encontra guardado na variável $variavel ?

Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.