Error wegschrijven in database
Ik ben bezig om de url van een afbeelding op te slaan in een database. Ik heb een script van internet gehaald om de afbeelding te uploaden naar een map. Dit werkt prima. Ik krijg ook geen melding dat er een fout in de INSERT INTO zit.
Onderstaan is mijn script:
Code (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
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
<?php
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name']) ;
$ok=1;
//This is our size condition
if ($uploaded_size > 350000)
{
echo "<p style='color:red'>Het opgegeven bestand is te groot.</p><br>";
$ok=0;
}
//This is our limit file type condition
if ($uploaded_type =="text/php")
{
echo "<p style='color:red'><strong>.php</strong> bestanden zijn niet toegestaan.</p><br>";
$ok=0;
}
//Here we check that $ok was not set to 0 by an error
if ($ok==0)
{
echo "<p style='color:red'>Sorry, maar het bestand is niet geüpload.</p>";
}
//If everything is ok we try to upload it
else
{
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "<p style='color:green'>Het bestand ". basename( $_FILES['uploadedfile']['name']). " is succesvol geüpload naar de server</p>";
$insertsql = sprintf("INSERT INTO machine (foto) VALUES ('$_POST[uploaded]')");
}
else
{
echo "<p style='color:red'Sorry, maar er was een probleem met het uploaden van het bestand.</p>";
}
}
?>
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name']) ;
$ok=1;
//This is our size condition
if ($uploaded_size > 350000)
{
echo "<p style='color:red'>Het opgegeven bestand is te groot.</p><br>";
$ok=0;
}
//This is our limit file type condition
if ($uploaded_type =="text/php")
{
echo "<p style='color:red'><strong>.php</strong> bestanden zijn niet toegestaan.</p><br>";
$ok=0;
}
//Here we check that $ok was not set to 0 by an error
if ($ok==0)
{
echo "<p style='color:red'>Sorry, maar het bestand is niet geüpload.</p>";
}
//If everything is ok we try to upload it
else
{
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "<p style='color:green'>Het bestand ". basename( $_FILES['uploadedfile']['name']). " is succesvol geüpload naar de server</p>";
$insertsql = sprintf("INSERT INTO machine (foto) VALUES ('$_POST[uploaded]')");
}
else
{
echo "<p style='color:red'Sorry, maar er was een probleem met het uploaden van het bestand.</p>";
}
}
?>
En iets verder staat het formulier:
Code (php)
1
2
3
4
5
2
3
4
5
<form enctype="multipart/form-data" action="upload.php" method="POST">
<label for="uploaded">Kies een afbeelding</label><br />
<input name="uploaded" type="file" /><br /><br />
<input type="submit" value="Upload" />
</form>
<label for="uploaded">Kies een afbeelding</label><br />
<input name="uploaded" type="file" /><br /><br />
<input type="submit" value="Upload" />
</form>
Wanneer ik de pagina laad, krijg ik echter wel 4 meldingen meldingen:
Wanner ik het script dus uitvoer, staat er in de kolom genaamd 'foto' een 0 (nul). Dit zou de naam van de afbeelding moeten zijn.
Je hebt de verwerking van het formulier bovenaan in het script staan. Op zich goed, maar dan moet wel gekeken worden of het formulier verzonden is. Als het formulier verzonden is, dan verwerken en anders formulier tonen.
Dus wanneer dat er gecontroleerd wordt of het formulier verzonden is, zou ik ook de link in de database moeten zien? in dit geval dus bv. 'hoi.png' ?
Toevoeging op 30/03/2012 22:21:13:
Iemand die het weet?
Is dit een andere vraag of vergelijkbaar met http://www.phphulp.nl/php/forum/topic/kolom-geeft-0-aan/83729/
Dit omdat het topic was verdwenen uit het lijstje met laatste forum berichten en omdat ik er eigenlijk tog wel graag een antwoord op heb.
Na (minimaal) 24 uur kun je bumpen om je topic weer in het lijstje te krijgen.
En als ik naar je vragen kijk: lees eens een basistut door en/of topics op bv dit forum.