[PHP] plaatjes in de database, veld lijkt leeg?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het probleem is alsvolgt, wanneer ik op uploaden klik en de volgende pagina geopend wordt, zegt hij "You must enter both a description and file"
Terwijl ik dat toch echt gedaan heb.

Dit is de pagina waarin ik de naam en het bestand ingeef;
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<html>
<head>
<title> Upload a File </title>
</head>
<body bgcolor="#FFFFFF">
<form enctype="multipart/form-data" name="frmUploadFile" action="grabfile.php" method="post">
</a>
<table border="0" cellpadding="0" cellspacing="0" bordercolor="#111111" width="100%">
<tr>
<td width="100%" bgcolor="#FF9900" height="22" colspan="2">
<p style="margin-left: 10"><b><font face="Verdana" size="2" color="#FFFFFF">
Upload a File</font></b></td>
</tr>
<tr>
<td width="100%" bgcolor="#FFE3BB" colspan="2">
<p style="margin-left: 10; margin-right: 10"><font face="Verdana" size="2">
<br>Please select a file from your local computer to upload to our web server
for saving in our database. This file can be of any type you like. Once you
have chosen a file, please click on the &quot;Upload this file&quot; button below.&nbsp;
&nbsp;<br>&nbsp;</font></td>
</tr>
<tr>
<td width="15%" bgcolor="#FFE3BB">
<p style="margin-left: 10"><font face="Verdana" size="2">
File Description:</font></td>
<td width="85%" bgcolor="#FFE3BB">
<input type="text" name="strDesc" size="20" maxlength="50"></td>
</tr>
<tr>
<td width="15%" bgcolor="#FFE3BB">
<p style="margin-left: 10"><font face="Verdana" size="2">File Location:</font></td>
<td width="85%" bgcolor="#FFE3BB">
<font face="Verdana" size="2">
<input type="file" name="fileUpload" size="20"></font></td>
</tr>
<tr>
<td width="33%" bgcolor="#FFE3BB">
<p style="margin-left: 10"><font face="Verdana" size="2">
<br>
<br>
&nbsp;</font></td>
<td width="67%" bgcolor="#FFE3BB">
<font face="Verdana" size="2">
<input type="submit" value="Upload this file" name="cmdSubmit"></font></td>
</tr>
</table>
</form>
</body>
</html>


En dit is de pagina die dat zou moeten bevestigen, alleen krijg ik dus mijn error terug;

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
// GrabFile.php: Takes the details
// of the new file posted as part
// of the form and adds it to the
// myBlobs table of our myFiles DB.

global $strDesc;
global $fileUpload;
global $fileUpload_name;
global $fileUpload_size;
global $fileUpload_type;

// Make sure both a description and
// file have been entered

if(empty($strDesc) || $fileUpload == "none")
die("You must enter both a description and file");

$fileHandle = fopen($fileUpload, "r");
$fileContent = fread($fileHandle, $fileUpload_size);
$fileContent = addslashes($fileContent);

//The connection

$db=mysql_connect("localhost", "***", "***") or die (mysql_error());
mysql_select_db('project', $db) or die (mysql_error());

$dbQuery = "INSERT INTO images VALUES ";
$dbQuery .= "(0, '$strDesc', '$fileContent', '$fileUpload_type')";

mysql_query($dbQuery) or die("Couldn't add file to database");

echo "<h1>File Uploaded</h1>";
echo "The details of the uploaded file are shown below:<br><br>";
echo "<b>File name:</b> $fileUpload_name <br>";
echo "<b>File type:</b> $fileUpload_type <br>";
echo "<b>File size:</b> $fileUpload_size <br>";
echo "<b>Uploaded to:</b> $fileUpload <br><br>";
echo "<a href='uploadfile.php'>Add Another File</a>";
?>


En ja, ik weet dat je database traag wordt door er images in te zetten. ;)

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Wiebbe
  • Registratie: Februari 2001
  • Laatst online: 05-09 21:41

Wiebbe

<none />

ik ben dan misschien wel geen PHP wizard ofzo,
maar over het algemeen is het gebruik van globals geen goed idee?

ik gebruik in mijn eigen script gewoon de $_FILES variabele, die standaard al aanwezig is.
op deze manier:

PHP:
1
2
3
4
5
if ($action == 'uploaded') {
    if (!is_uploaded_file($_FILES['file']['tmp_name'])) {
        echo "Er is geen bestand geupload!"; 
        // assign error message, remove uploaded file, redisplay form.
    } else {

Oh noes.. No more TreinTijden :(


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, dus nu moet ik register_globals op on zetten?
Of moet ik die vervangen door $GET?

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op donderdag 09 december 2004 @ 15:56:
Ok, dus nu moet ik register_globals op on zetten?
Of moet ik die vervangen door $GET?
Heb je die FAQ gelezen en het al uitgeprobeerd? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gorgi_19 schreef op donderdag 09 december 2004 @ 15:58:
[...]

Heb je die FAQ gelezen en het al uitgeprobeerd? :)
Gelezen uiteraard, maar uitgeprobeerd nog niet, omdat ik niet precies weet wat ik nou moet veranderen.
PHP:
1
echo 'Welkom ' . $user . ' op mijn coole pagina

Dit werkt dus niet meer.
PHP:
1
echo 'Welkom ' . $_GET [ 'user' ] . ' op mijn coole pagina!'

Maar deze wel, dus zou dat bij mij niet
PHP:
1
global $strDesc;

worden maar eerder
PHP:
1
' $_GET[ 'strDesc'] . '
?

[ Voor 9% gewijzigd door Verwijderd op 09-12-2004 16:05 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op donderdag 09 december 2004 @ 15:56:
Ok, dus nu moet ik register_globals op on zetten?
Asjeblieft niet. :|
Of moet ik die vervangen door $GET?
Gedeeltelijk. :) Bestanden haal je op met $_FILES, variabelen uit de querystring in de URL met $_GET, informatie uit formulieren met $_POST en sessie- en cookievariabelen respectievelijk uit $_SESSION en $_COOKIE. Eventueel kun je $_REQUEST gebruiken, waarin allevijf deze arrays samengevoegd zijn, maar dat is smerig en onveilig. Gebruik dus gewoon de eerste vijf arrays die ik noemde. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
-NMe- schreef op donderdag 09 december 2004 @ 16:06:
[...]

Asjeblieft niet. :|

[...]

Gedeeltelijk. :) Bestanden haal je op met $_FILES, variabelen uit de querystring in de URL met $_GET, informatie uit formulieren met $_POST en sessie- en cookievariabelen respectievelijk uit $_SESSION en $_COOKIE. Eventueel kun je $_REQUEST gebruiken, waarin allevijf deze arrays samengevoegd zijn, maar dat is smerig en onveilig. Gebruik dus gewoon de eerste vijf arrays die ik noemde. :)
Ok ok, dan blijf ik er gewoon af. ;)

Dank je voor de info. Ik ga eens kijken wat ik daar mee kan.

Programmeren voor beginners, puzzels leggen zonder dat je weet hoe de stukjes er uit zien. ;)

EDIT;

Ik heb er nu deze van gemaakt:

$strDesc = $_POST['strDesc']
$fileUpload = $_FILE['fileUpload']
$fileUpload_name = $_POST['fileUpload_name']
$fileUpload_size = $_POST['fileUpload_size']
fileUpload_type = $_POST['fileUpload_type']

Alleen krijg ik weer een error. De eeuwige unexpected T_VARIABLE error.
Dus, dat betekent(geloof ik) dat de variabele fout is. Maar wat is er dan fout aan...

[ Voor 26% gewijzigd door Verwijderd op 09-12-2004 16:34 ]


Acties:
  • 0 Henk 'm!

  • Wiebbe
  • Registratie: Februari 2001
  • Laatst online: 05-09 21:41

Wiebbe

<none />

Verwijderd schreef op donderdag 09 december 2004 @ 16:15:
[...]

Ok ok, dan blijf ik er gewoon af. ;)

Dank je voor de info. Ik ga eens kijken wat ik daar mee kan.

Programmeren voor beginners, puzzels leggen zonder dat je weet hoe de stukjes er uit zien. ;)

EDIT;

Ik heb er nu deze van gemaakt:

$strDesc = $_POST['strDesc']
$fileUpload = $_FILE['fileUpload']
$fileUpload_name = $_POST['fileUpload_name']
$fileUpload_size = $_POST['fileUpload_size']
fileUpload_type = $_POST['fileUpload_type']

Alleen krijg ik weer een error. De eeuwige unexpected T_VARIABLE error.
Dus, dat betekent(geloof ik) dat de variabele fout is. Maar wat is er dan fout aan...
je hebt hier voor de filesize, filetype en filename post gebruikt.

Maar dat mag daar helemaal niet, de post heeft alleen de tekst waardes van de formulieren die je daar hebt gebruikt. Dus bijv die beschrijving is wel goed.

als je had gekeken naar mijn geposte stukje code dan had je gezien dat de $_FILES variabele op een andere manier werkt.

eerst geeft je aan welke groep je wilt benaderen:
das dus $_FILES
daarna de naam van de file form in je formulier, bij jou dus: fileUpload

daarna krijg je een array van waardes die de fileUpload bevat.
zoals bijv :

tmp_name, de variabele die de naam van het tijdelijk bestand heeft op de site zelf.

voor meer info:
php.net over post file uploaden

Oh noes.. No more TreinTijden :(


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank je wel voor de info.
Morgen eens kijken wat ik er allemaal mee kan. :)
Pagina: 1