ik zie niks in mijn database verschijnen
ik ben bezig om een image gallery te schrijven waarin foto's kunnen worden opgeslagen
op de een of andere manier krijg ik de urls niet in de database iemand een suggestie?
krijg geen errors.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?
# We zetten dit volledig bovenaan
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpeg") && ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"image/" . $_FILES["file"]["name"]);
echo "Stored in: " . "image/" . $_FILES["file"]["name"];
# de query | bij input: let op sql-injectie -> mysql_real_escape_string()
$sql_insert_img = "INSERT INTO Foto (paard_ID, foto_Url)
VALUES ('".mysql_real_escape_string($_POST['paard_ID'])."','".mysql_real_escape_string($_FILES["file"]["name"])."')";
# Check of query is gelukt
if (($result_insert_img = mysql_query($sql_insert_img)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql_insert_img,mysql_error(),'Fout bij het invoegen van de gebruiker.');
}
else
{
echo'gelukt';
}
}
}
}
}
else
{
echo '
<form action="" method="POST" enctype="multipart/form-data">
<table>
<tr>
<td>Paard ID:</td>
<td><input type="text" name="paard_ID"></td>
</tr>
<tr>
<td>Bestandsnaam:</td>
<td><input type="file" name="file" id="file" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Submit" /></td>
</tr>
</table>
';
}
?>
# We zetten dit volledig bovenaan
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpeg") && ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"image/" . $_FILES["file"]["name"]);
echo "Stored in: " . "image/" . $_FILES["file"]["name"];
# de query | bij input: let op sql-injectie -> mysql_real_escape_string()
$sql_insert_img = "INSERT INTO Foto (paard_ID, foto_Url)
VALUES ('".mysql_real_escape_string($_POST['paard_ID'])."','".mysql_real_escape_string($_FILES["file"]["name"])."')";
# Check of query is gelukt
if (($result_insert_img = mysql_query($sql_insert_img)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql_insert_img,mysql_error(),'Fout bij het invoegen van de gebruiker.');
}
else
{
echo'gelukt';
}
}
}
}
}
else
{
echo '
<form action="" method="POST" enctype="multipart/form-data">
<table>
<tr>
<td>Paard ID:</td>
<td><input type="text" name="paard_ID"></td>
</tr>
<tr>
<td>Bestandsnaam:</td>
<td><input type="file" name="file" id="file" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Submit" /></td>
</tr>
</table>
';
}
?>
Mvg ralph
Gewijzigd op 28/02/2012 15:54:40 door Ralph van der Tang
Misschien moet je de juiste variabele (query) meegeven aan mysql_query ;) ($sql_insert_img ipv $sql_insert_user)
Gewijzigd op 28/02/2012 14:54:33 door Jurgen B
moet zijn:
Want de content van een file input komt niet in de $_POST array, maar in de $_FILES array. En dan eigenlijk nog iets anders, want $_FILES['file']['name'] geeft alleen de filenaam, de hele url weet alleen jij, want jij slaat het ergens op een server op.
aangepast zal de code hierboven ook weer aanpassen.
werkt nog steeds niet naar behoren XD
Gewijzigd op 28/02/2012 15:14:21 door ralph van der Tang
Toevoeging op 28/02/2012 15:37:24:
Wat zie je wel op je beeld? Slaagt de query wel of niet, ga je if-jes bij langs en echo iets randoms.
ik zal is ff random echo's plaatsen
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$sql_insert_img = "INSERT INTO Foto (id, paard_ID, foto_Url)
VALUES (
'';
'".mysql_real_escape_string($_POST['paard_ID'])."',
'".mysql_real_escape_string($_FILES["file"]["name"])."',
)
";?>
$sql_insert_img = "INSERT INTO Foto (id, paard_ID, foto_Url)
VALUES (
'';
'".mysql_real_escape_string($_POST['paard_ID'])."',
'".mysql_real_escape_string($_FILES["file"]["name"])."',
)
";?>
krijg je voor die ''; geen error?
Gewijzigd op 28/02/2012 15:44:09 door gerhard l
Toevoeging op 28/02/2012 15:43:28:
Gerhard l op 28/02/2012 15:42:11:
Ik vraag me wel af wat je hier in de query doet:
krijg je voor die ''; geen error?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$sql_insert_img = "INSERT INTO Foto (id, paard_ID, foto_Url)
VALUES (
'';
'".mysql_real_escape_string($_POST['paard_ID'])."',
'".mysql_real_escape_string($_FILES["file"]["name"])."',
)
";?>
$sql_insert_img = "INSERT INTO Foto (id, paard_ID, foto_Url)
VALUES (
'';
'".mysql_real_escape_string($_POST['paard_ID'])."',
'".mysql_real_escape_string($_FILES["file"]["name"])."',
)
";?>
krijg je voor die ''; geen error?
de query zou de url van de geuploade image moeten opslaan samen met het ingevoerde id
POST met hoofdletters lijkt mij, in je form ook. maar wat is je id in je database dan? als die automatisch gaat hoef je die ook niet mee te geven.
de sql error is:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 5
INSERT INTO Foto (paard_ID, foto_Url)VALUES ('1','trisje.jpg',)
warning gaat over move_uploaded_file
Gewijzigd op 28/02/2012 15:49:46 door ralph van der Tang
move_upload_file weet ik niet, sql error is duidelijk er staat nog een komma achter je laatste value die moet weg.
nu nog dat de images in de juiste map terecht komen
Ralph van der Tang op 28/02/2012 15:49:11:
warning gaat over move_uploaded_file
En hoe luidt die warning dan?
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpALxeCR' to 'image/trisje.jpg' in /home/ralphtang/domains/ralphtang.webs5.ict-idcollege.nl/public_html/TWSH/page7.php on line 48
Dan heeft je bestand niet genoeg rechten om hem te kunnen verplaatsen.
en hoe los ik dat op?
De maprechten aanpassen op de webserver.
dank voor alle hulp