Scipt slaats niets op in de database, rest werkt wel.
gothmaster , bezig met het maken van een foto upload script.
Het script slaat de foto, en de thumb goed op, en ook het hernoemen van het bestand werkt goed.
Maar zodra de gegevens in de database moeten worden gezet, doet het script dit niet.
Ik zal wel weer een fout hebben gemaakt, maar ik zie deze helaas niet.
Ik ben voor op mijn site Het script slaat de foto, en de thumb goed op, en ook het hernoemen van het bestand werkt goed.
Maar zodra de gegevens in de database moeten worden gezet, doet het script dit niet.
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?php
include ('config.php');
//------------------------------------------------------------------start invoer controllen
function inzender($inzender) {
if(empty($inzender)) {
error('Je heb geen naam ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function email($email) {
if(empty($email)) {
error('Je heb geen email ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
if(!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $_POST['email'])) {
error('Je heb geen geldig email ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function plaats_foto($plaats_foto) {
if(empty($plaats_foto)) {
error('Je heb geen plaats van de foto ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function naam_object($naam_object) {
if(empty($naam_object)) {
error('Je heb geen naam van de afbeelding ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function text_foto($text_foto) {
if(empty($text_foto)) {
error('Je heb geen tekst ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function error($error, $exit = true) {
echo $error;
if($exit) {
exit;
}
}
//------------------------------------------------------------------einde invoer controllen
if(isset($_POST['Submit']))
{
inzender($_POST['inzender']);
email($_POST['email']);
plaats_foto($_POST['plaats_foto']);
naam_object($_POST['naam_object']);
text_foto($_POST['text_foto']);
$size = 150; // de thumbnail hoogte
$filedir = 'album/'; // de root voor de foto
$thumbdir = 'album/thumb/'; // de root voor de thumb foto
$prefix = 'k_'; // het voorvoegsel dat moet worden toegevoegd voor de thumb
$maxfile = '2000000';
$mode = '0666';
$userfile_name = $_FILES['image']['name'];
$userfile_tmp = $_FILES['image']['tmp_name'];
$userfile_size = $_FILES['image']['size'];
$userfile_type = $_FILES['image']['type'];
if (isset($_FILES['image']['name']))
{
//Start naam hernoemen
$date = date('H-i-s-d-m-Y');
$i = $date;
$ext = '.jpg';
while(true) {
if(!file_exists($i . $ext)) {
$userfile_name = $i . $ext;
break;
}
$i++;
}
//Eind naam hernoemen
$prod_img = $filedir.$userfile_name;
$prod_img_thumb = $thumbdir.$prefix.$userfile_name;
$img_thumb = $prefix.$userfile_name;
move_uploaded_file($userfile_tmp, $prod_img);
chmod ($prod_img, octdec($mode));
$sizes = getimagesize($prod_img);
$aspect_ratio = $sizes[1]/$sizes[0];
if ($sizes[1] <= $size)
{
$new_width = $sizes[0];
$new_height = $sizes[1];
}else{
$new_height = $size;
$new_width = abs($new_height/$aspect_ratio);
}
$destimg=ImageCreateTrueColor($new_width,$new_height)
or die('Probleem bij het creëren van beeld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
$srcimg=ImageCreateFromJPEG($prod_img)
or die('Probleem Bij de opening Bron afbeelding.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
if(function_exists('imagecopyresampled'))
{
imagecopyresampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))
or die('Probleem In resizing.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}else{
Imagecopyresized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))
or die('Probleem In resizing.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
ImageJPEG($destimg,$prod_img_thumb,90)
or die('Probleem bij het opslaan.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
imagedestroy($destimg);
}
$query = mysql_query("INSERT INTO fotoalbum (inzender, email, plaats_foto, naam_object, text_foto, naam_foto, thumbnail, datum) VALUES ('".$inzender."','".$email."','".$plaats_foto."','".$naam_object."','".$text_foto."','".$userfile_name."','".$img_thumb."', NOW())");
echo 'Het bestand is goed geupload,<br />';
echo 'De gegevens zijn goed verwerkt.<br /><br />Klik <a href="javascript:history.go(-2);">hier</a> om terug te gaan.<br />';
}else{
echo '
<form method="POST" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">
<input type="file" name="image"><br />
<input type="text" name="inzender"> - Naam<br />
<input type="text" name="email"> - Email<br />
<input type="text" name="plaats_foto"> - Plaat van opname<br />
<input type="text" name="naam_object"> - Naam van het object<br />
<textarea name="text_foto" rows="15"></textarea> - verhaal bij Je foto<br />
<input type="reset" value="Leegmaken" /><input type="Submit" name="Submit" value="Submit">
</form>';
}
?>
include ('config.php');
//------------------------------------------------------------------start invoer controllen
function inzender($inzender) {
if(empty($inzender)) {
error('Je heb geen naam ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function email($email) {
if(empty($email)) {
error('Je heb geen email ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
if(!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $_POST['email'])) {
error('Je heb geen geldig email ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function plaats_foto($plaats_foto) {
if(empty($plaats_foto)) {
error('Je heb geen plaats van de foto ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function naam_object($naam_object) {
if(empty($naam_object)) {
error('Je heb geen naam van de afbeelding ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function text_foto($text_foto) {
if(empty($text_foto)) {
error('Je heb geen tekst ingevuld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
}
function error($error, $exit = true) {
echo $error;
if($exit) {
exit;
}
}
//------------------------------------------------------------------einde invoer controllen
if(isset($_POST['Submit']))
{
inzender($_POST['inzender']);
email($_POST['email']);
plaats_foto($_POST['plaats_foto']);
naam_object($_POST['naam_object']);
text_foto($_POST['text_foto']);
$size = 150; // de thumbnail hoogte
$filedir = 'album/'; // de root voor de foto
$thumbdir = 'album/thumb/'; // de root voor de thumb foto
$prefix = 'k_'; // het voorvoegsel dat moet worden toegevoegd voor de thumb
$maxfile = '2000000';
$mode = '0666';
$userfile_name = $_FILES['image']['name'];
$userfile_tmp = $_FILES['image']['tmp_name'];
$userfile_size = $_FILES['image']['size'];
$userfile_type = $_FILES['image']['type'];
if (isset($_FILES['image']['name']))
{
//Start naam hernoemen
$date = date('H-i-s-d-m-Y');
$i = $date;
$ext = '.jpg';
while(true) {
if(!file_exists($i . $ext)) {
$userfile_name = $i . $ext;
break;
}
$i++;
}
//Eind naam hernoemen
$prod_img = $filedir.$userfile_name;
$prod_img_thumb = $thumbdir.$prefix.$userfile_name;
$img_thumb = $prefix.$userfile_name;
move_uploaded_file($userfile_tmp, $prod_img);
chmod ($prod_img, octdec($mode));
$sizes = getimagesize($prod_img);
$aspect_ratio = $sizes[1]/$sizes[0];
if ($sizes[1] <= $size)
{
$new_width = $sizes[0];
$new_height = $sizes[1];
}else{
$new_height = $size;
$new_width = abs($new_height/$aspect_ratio);
}
$destimg=ImageCreateTrueColor($new_width,$new_height)
or die('Probleem bij het creëren van beeld.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
$srcimg=ImageCreateFromJPEG($prod_img)
or die('Probleem Bij de opening Bron afbeelding.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
if(function_exists('imagecopyresampled'))
{
imagecopyresampled($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))
or die('Probleem In resizing.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}else{
Imagecopyresized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg))
or die('Probleem In resizing.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
}
ImageJPEG($destimg,$prod_img_thumb,90)
or die('Probleem bij het opslaan.<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te gaan.<br />');
imagedestroy($destimg);
}
$query = mysql_query("INSERT INTO fotoalbum (inzender, email, plaats_foto, naam_object, text_foto, naam_foto, thumbnail, datum) VALUES ('".$inzender."','".$email."','".$plaats_foto."','".$naam_object."','".$text_foto."','".$userfile_name."','".$img_thumb."', NOW())");
echo 'Het bestand is goed geupload,<br />';
echo 'De gegevens zijn goed verwerkt.<br /><br />Klik <a href="javascript:history.go(-2);">hier</a> om terug te gaan.<br />';
}else{
echo '
<form method="POST" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">
<input type="file" name="image"><br />
<input type="text" name="inzender"> - Naam<br />
<input type="text" name="email"> - Email<br />
<input type="text" name="plaats_foto"> - Plaat van opname<br />
<input type="text" name="naam_object"> - Naam van het object<br />
<textarea name="text_foto" rows="15"></textarea> - verhaal bij Je foto<br />
<input type="reset" value="Leegmaken" /><input type="Submit" name="Submit" value="Submit">
</form>';
}
?>
Ik zal wel weer een fout hebben gemaakt, maar ik zie deze helaas niet.
Gewijzigd op 10/04/2013 15:17:54 door Arthur Heijmen
Bouw anders eens fout afhandeling in, dan kun je ook zien wat er fout gaat. Ik neem aan dat je geen foutmelding te zien krijgt?
Zet error-reporting aan.
$_SERVER['PHP_SELF'] zou onveilig zijn. Laat liever weg.
Wat doe je op regel 53 t/m 57? Vermoedelijk wil je variabelen kopiëren. Is niet nodig. Bovendien controleer je niet of ze wel bestaan. Doordat je geen beveiliging (en controles) toepast is je query onveilig.