Onverklaarbaar formulier
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
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
<form method="post" action="index.php?page=add_album" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<p>
<label for="naam" class="align_text">Album titel:</label>
<input name="title" type="text" value="">
</p>
<?php
$i = 1;
while($i <= 30) {
echo '<p>';
echo '<label for="image' .$i. '" class="align_text">Afbeelding ' .$i. ':</label>';
echo '<input name="image' .$i. '" type="file" value="' .$_POST['image'.$i]. '">';
echo '</p>';
echo '<p>';
echo '<label for="remark' .$i. '" class="align_text">Opmerking:</label>';
echo '<textarea cols="100" rows="10" name="remark' .$i. '">' .$_POST['remark'.$i] . '</textarea>';
echo '</p>';
$i++;
}
?>
<p>
<label for="head_image" class="align_text">Hoofdafbeelding:</label>
<select name="head_image">
<?php
$i = 1;
while($i <= 30) {
echo '<option value="' .$i. '">Afbeelding ' .$i. '</option>';
$i++;
}
?>
</select>
</p>
<p>
<label for="submit" class="align_text"> </label>
<input type="submit" name="reply" value="Plaatsen">
</p>
</form>
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<p>
<label for="naam" class="align_text">Album titel:</label>
<input name="title" type="text" value="">
</p>
<?php
$i = 1;
while($i <= 30) {
echo '<p>';
echo '<label for="image' .$i. '" class="align_text">Afbeelding ' .$i. ':</label>';
echo '<input name="image' .$i. '" type="file" value="' .$_POST['image'.$i]. '">';
echo '</p>';
echo '<p>';
echo '<label for="remark' .$i. '" class="align_text">Opmerking:</label>';
echo '<textarea cols="100" rows="10" name="remark' .$i. '">' .$_POST['remark'.$i] . '</textarea>';
echo '</p>';
$i++;
}
?>
<p>
<label for="head_image" class="align_text">Hoofdafbeelding:</label>
<select name="head_image">
<?php
$i = 1;
while($i <= 30) {
echo '<option value="' .$i. '">Afbeelding ' .$i. '</option>';
$i++;
}
?>
</select>
</p>
<p>
<label for="submit" class="align_text"> </label>
<input type="submit" name="reply" value="Plaatsen">
</p>
</form>
En ik controleer met php later of er een titel is ingevuld dmv !empty().
Als ik twee afbeeldingen upload gaat dit allemaal perfect.
Als ik er 10 upload zegt hij dat er geen titel is ingevuld, terwijl ik 100% zeker weet dat er een titel is ingevuld.
Ook mijn foutafhandeling is perfect en daar ligt het niet aan.
Is er een maximum aantal bestanden dat je per formulier kunt uploaden ofzo?
Bvd, RT.
Men kan ook zelf een formulier maken en deze naar index.php?page=add_album sturen en dan bijv. als MAX_FILE_SIZE 1.000.000 ingeven. Dan zal de afbeelding groter mogen zijn. Ik zou dus gewoon een variabele vooraf definiëren met de MAX_FILE_SIZE. Heb je daar ook geen problemen mee ;-).
Óf je controleert nogmaals in je formulier verwerking of de MAX_FILE_SIZE 100.000 is, maar dat is een beetje dubbelop dan.
Maargoed, hier mijn formulier verwerking:
show_form() geeft dus gewoon het formulier weer.
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
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
<?php
if($_SERVER['REQUEST_METHOD'] != "POST") {
show_form();
} else {
if(isset($_POST['title']) AND !empty($_POST['title'])) {
$query = "SELECT * FROM albums WHERE title = '" .mysql_real_escape_string($_POST['title']). "'";
$res = mysql_query($query);
if($res) {
if(mysql_num_rows($res) == 0) {
$query = "INSERT INTO albums
(title,datetime,image)
VALUES ('" .$_POST['title']. "',NOW(),'foto" .$_POST['head_image']. "_small.jpg')";
if(mysql_query($query)) {
$album_id = mysql_insert_id();
if(mkdir("../fotoboek/afbeeldingen/" . $_POST['title'], 0700)) {
$i = 1;
while($i <= 30) {
if(is_uploaded_file($_FILES['image'.$i]['tmp_name'])) {
$dest = "../fotoboek/afbeeldingen/" . $_POST['title'] . "/";
if(move_uploaded_file($_FILES['image'.$i]['tmp_name'],$dest . "foto" .$i. ".jpg")) {
$imagequery = "INSERT INTO images
(album_id,filename,number,comment,datetime)
VALUES('" .$album_id. "','foto" .$i. ".jpg','" .$i. "','" .$_POST['remark' .$i]. "',NOW())";
if(mysql_query($imagequery)) {
if(copy($dest . "foto" .$i. ".jpg",$dest . "foto" .$i. "_small.jpg")) {
list($width, $height) = getimagesize($dest . "foto" .$i. "_small.jpg");
if($width > 150) {
$new_width = 150;
$new_height = round(150 / $width * $height,1);
} else {
$new_width = $width;
$new_height = $height;
}
$image = imagecreatefromjpeg($dest . "foto" .$i. "_small.jpg");
if(unlink($dest . "foto" .$i. "_small.jpg")) {
$destination = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($destination, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($destination,$dest . "foto" .$i. "_small.jpg");
imagedestroy($image);
} else {
echo '<p><span class="error">Er is iets misgegaan bij het verwijderen van de originele thumbnail (' .$i. ').</span></p>';
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het kopieëeren van de foto (' .$i. ').</span></p>';
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het de imagequery (' .$i. ').</span></p>';
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het kopieëeren van de tijdelijke foto (' .$i. ').</span></p>';
}
}
$i++;
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het aanmaken van de albumdir.</span></p>';
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het invoegen van het album in de database.</span></p>';
}
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het vergelijken van de albums in de database.</span></p>';
}
} else {
echo '<p><span class="error">Er is geen titel ingevuld, vul deze alsnog in.</span></p>';
show_form();
}
}
?>
if($_SERVER['REQUEST_METHOD'] != "POST") {
show_form();
} else {
if(isset($_POST['title']) AND !empty($_POST['title'])) {
$query = "SELECT * FROM albums WHERE title = '" .mysql_real_escape_string($_POST['title']). "'";
$res = mysql_query($query);
if($res) {
if(mysql_num_rows($res) == 0) {
$query = "INSERT INTO albums
(title,datetime,image)
VALUES ('" .$_POST['title']. "',NOW(),'foto" .$_POST['head_image']. "_small.jpg')";
if(mysql_query($query)) {
$album_id = mysql_insert_id();
if(mkdir("../fotoboek/afbeeldingen/" . $_POST['title'], 0700)) {
$i = 1;
while($i <= 30) {
if(is_uploaded_file($_FILES['image'.$i]['tmp_name'])) {
$dest = "../fotoboek/afbeeldingen/" . $_POST['title'] . "/";
if(move_uploaded_file($_FILES['image'.$i]['tmp_name'],$dest . "foto" .$i. ".jpg")) {
$imagequery = "INSERT INTO images
(album_id,filename,number,comment,datetime)
VALUES('" .$album_id. "','foto" .$i. ".jpg','" .$i. "','" .$_POST['remark' .$i]. "',NOW())";
if(mysql_query($imagequery)) {
if(copy($dest . "foto" .$i. ".jpg",$dest . "foto" .$i. "_small.jpg")) {
list($width, $height) = getimagesize($dest . "foto" .$i. "_small.jpg");
if($width > 150) {
$new_width = 150;
$new_height = round(150 / $width * $height,1);
} else {
$new_width = $width;
$new_height = $height;
}
$image = imagecreatefromjpeg($dest . "foto" .$i. "_small.jpg");
if(unlink($dest . "foto" .$i. "_small.jpg")) {
$destination = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($destination, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($destination,$dest . "foto" .$i. "_small.jpg");
imagedestroy($image);
} else {
echo '<p><span class="error">Er is iets misgegaan bij het verwijderen van de originele thumbnail (' .$i. ').</span></p>';
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het kopieëeren van de foto (' .$i. ').</span></p>';
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het de imagequery (' .$i. ').</span></p>';
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het kopieëeren van de tijdelijke foto (' .$i. ').</span></p>';
}
}
$i++;
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het aanmaken van de albumdir.</span></p>';
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het invoegen van het album in de database.</span></p>';
}
}
} else {
echo '<p><span class="error">Er is iets misgegaan bij het vergelijken van de albums in de database.</span></p>';
}
} else {
echo '<p><span class="error">Er is geen titel ingevuld, vul deze alsnog in.</span></p>';
show_form();
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door RT
Er rust een vloek op dat formulier oid :|.