Ik weet het echt niet meer. Zit er met een beetje pech gewoon al 2 uur over de zelfde domme spelfout te staren ofzo, maar ik zie hem niet.
Ik ben een pagina van scrap af opnieuw aan het opbouwen.
Hierin worden plaatjes gebruikt, die de gebruiker kan uploaden.
ALLE form method='post' scripts (met of zonder files) werken perfect! op vrijwel de zelfde manier zoals ik het nu weer doe.
Maar nu, spontaan, ineens, krijg ik 0 data binnen.
Het plaatje wordt wel naar de server geladen (merk je aan de laadtijd, hij is duidelijk KBs over de server aan het stampen)
Maar toch krijg ik geen post data!?
Dit is het 'foute' script.
En als een beetje bonus bewijs:
Deze werkt perfectos!
ps. aub niet mieren over dat ik exit gebruik ipv die terwijl die netter is. Het gaat nu even naar mijn mening niet om net heid, maar om functionaliteit.
Het niet werkende script is ook nog lang niet klaar. Veel checks en extra functies ontbreken nog, maar ook dat doet er nu nog niet toe lijkt me.
Ik ben een pagina van scrap af opnieuw aan het opbouwen.
Hierin worden plaatjes gebruikt, die de gebruiker kan uploaden.
ALLE form method='post' scripts (met of zonder files) werken perfect! op vrijwel de zelfde manier zoals ik het nu weer doe.
Maar nu, spontaan, ineens, krijg ik 0 data binnen.
Het plaatje wordt wel naar de server geladen (merk je aan de laadtijd, hij is duidelijk KBs over de server aan het stampen)
Maar toch krijg ik geen post data!?
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
| if (!$Klant_ID) { die("Geen Klant ID"); } if ($EDITIMAGE) { $inputImg = ImageCreateFromJPEG($Image); $srcX = imagesx($inputImg); $srcY = imagesy($inputImg); $dstY = $Img_Width; // Deze wordt door het formulier doorgegeven! $MaxX = $Img_Height; // Deze wordt door het formulier doorgegeven! $Ratio = ($srcY / $dstY); $dstX = ($srcX / Ratio); $outputImg = ImageCreateTrueColor($dstX, $dstY); $Rand_Pic_ID = rand(100000000000000,999999999999999); imagefill($outputImg, 0, 0, ImageColorAllocate($outputImg, 255, 255, 255)); imagecopyresampled($outputImg, $inputImg, 0,0,0,0, $dstX, $dstY, $srcX, $srcY); imagejpeg($outputImg, "images/" . $Rand_Pic_ID . ".jpg"); $tekst = str_replace("'", "'", $tekst); $tekst = str_replace('"', '"', $tekst); $tekst = str_replace('=', '=', $tekst); $sql = "UPDATE indeling SET Image='$Rand_Pic_ID', Tekst='$tekst' WHERE (Klant_ID='$Klant_ID' AND Locatie_X='$Locatie_X' AND Locatie_Y='$Locatie_Y')"; if (mysql_query($sql)) {} // echo "<SCRIPT>"; // echo "document.write('<meta http-equiv=\"Refresh\" Content=\"0; url=index.php?Klant_ID=$Klant_ID\">');"; // echo "</SCRIPT>"; exit(); } elseif ($IMAGES) { echo "\n<FORM NAME='ImgForm' METHOD='post' ACTION='layout.php' ENCTYPE='multipart/form-data'>"; echo "\n<INPUT TYPE='HIDDEN' NAME='Klant_ID' VALUE='$Klant_ID'>"; for ($y = 1; $y <= 6; ++$y) { for ($x = 1; $x <= 5; ++$x) { if ($NewGrootte[$x][$y]) { $tmp_X = $x; $tmp_Y = $y; } } } echo "\n<INPUT TYPE='HIDDEN' NAME='Locatie_X' VALUE='$tmp_X'>"; echo "\n<INPUT TYPE='HIDDEN' NAME='EDITIMAGE' VALUE='$tmp_X'>"; echo "\n<INPUT TYPE='HIDDEN' NAME='Locatie_Y' VALUE='$tmp_Y'>"; $sql = "SELECT * FROM indeling WHERE Klant_ID='$Klant_ID' AND Locatie_X='$tmp_X' AND Locatie_Y='$tmp_Y'"; $result = mysql_query($sql); $data = mysql_fetch_row($result); if (!$data[0]) { die ('kon de gegevens niet benaderen'); } $Text_Width = $data[4] * 370; $Text_Height = 70; $Image_Width = $data[4] * 200; $Image_Height = $data[5] * 200; echo "\n<INPUT TYPE='HIDDEN' NAME='Img_Width' VALUE='$Image_Width'>"; echo "\n<INPUT TYPE='HIDDEN' NAME='Img_Height' VALUE='$Image_Height'>"; echo "\n<INPUT TYPE='file' NAME='Image'><br />"; echo "\n<TEXTAREA NAME='text' STYLE='overflow: hidden; font-face: arial; "; echo " font-size: 10pt; width: " . $Text_Width . "px; height: " . $Text_Height . "px;'></TEXTAREA><br />"; echo "\nLet op dat de tekst BINNEN het invul veld blijft! De tekens die U niet ziet, komen ook niet in de advertentie te staan!<br />"; echo "\n<INPUT TYPE='SUBMIT' NAME='EDITIMAGE' VALUE='Bewerk gegevens!'>"; echo "\n</FORM>"; exit(); } |
Dit is het 'foute' script.
En als een beetje bonus bewijs:
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
| if (!$SUBMIT) { echo "\n<script language=\"JavaScript\">"; echo "\nfunction TrackCount(fieldObj,countFieldName,maxChars)"; echo "\n{"; echo "\n var countField = eval(\"fieldObj.form.\"+countFieldName);"; echo "\n var diff = maxChars - fieldObj.value.length;"; echo "\n"; echo "\n // Need to check & enforce limit here also in case user pastes data"; echo "\n if (diff < 0)"; echo "\n {"; echo "\n fieldObj.value = fieldObj.value.substring(0,maxChars);"; echo "\n diff = maxChars - fieldObj.value.length;"; echo "\n }"; echo "\n countField.value = diff;"; echo "\n}"; echo "\n"; echo "\nfunction LimitText(fieldObj,maxChars)"; echo "\n{"; echo "\n var result = true;"; echo "\n if (fieldObj.value.length >= maxChars)"; echo "\n result = false;"; echo "\n"; echo "\n if (window.event)"; echo "\n window.event.returnValue = result;"; echo "\n return result;"; echo "\n}"; echo "\n</script>"; echo "<FORM METHOD='POST' ACTION='changepic.php' ENCTYPE='multipart/form-data'>"; if ($update) { echo "<INPUT TYPE='HIDDEN' NAME='update' VALUE='Y'>"; } echo "<INPUT TYPE='HIDDEN' NAME='User' VALUE='$SESSION[uid]'>"; echo "<INPUT TYPE='HIDDEN' NAME='Locatie' VALUE='$Locatie'>"; echo "Foto toevoegen:<BR>"; echo "<INPUT TYPE='FILE' NAME='file'><BR>"; echo "Omschrijving: <FONT SIZE='-1' COLOR='RED'>Let op: tekst mag niet groter zijn dan het invul veld</FONT><BR>"; echo "<TEXTAREA NAME='tekst' ROWS=3 " . "STYLE='width: 200px; overflow: hidden; font-family: arial; font-size: 11px;' " . "onkeyup=\"TrackCount(this,'textcount',80)\" onkeypress=\"LimitText(this,80)\"></TEXTAREA><BR>"; echo "Aantal karakters te gaan: <INPUT TYPE='TEXT' NAME='textcount' SIZE='3' VALUE='80'><BR>"; echo "Klaar:<BR>"; echo "<INPUT TYPE='SUBMIT' NAME='SUBMIT' VALUE='SUBMIT'>"; } else { $inputImg = ImageCreateFromJPEG($file); $srcX = imagesx($inputImg); $srcY = imagesy($inputImg); $dstY = 300; // fixed Y for the image. always the same $maxX = 400; // max X for image, if image is smaller it will be centered $ratio = ($srcY / $dstY); $dstX = ($srcX / $ratio); $outputImg = ImageCreateTrueColor($dstX, $dstY); $RAND_PIC_ID = rand(1000000,9999999); imagefill($outputImg, 0, 0, ImageColorAllocate($outputImg, 255, 255, 255)); imagecopyresampled($outputImg, $inputImg, 0,0,0,0, $dstX, $dstY, $srcX, $srcY); imagejpeg($outputImg, "picsdata/" . $RAND_PIC_ID . ".jpg"); // $SQL = "SELECT * FROM Pics WHERE User='$SESSION[uid]' AND Locatie='$Locatie'"; // $result = mysql_query($SQL); // $data = mysql_fetch_row($result); // // Rare karakters wissen // $tekst = str_replace("'", "'", $tekst); $tekst = str_replace('"', '"', $tekst); $tekst = str_replace('=', '=', $tekst); if ($update) { $SQL = "UPDATE Pics SET ID='$RAND_PIC_ID', User='$SESSION[uid]', Tekst='$tekst', Locatie='$Locatie' WHERE User='$SESSION[uid]' AND Locatie='$Locatie'"; } else { $SQL = "INSERT INTO Pics SET ID='$RAND_PIC_ID', User='$SESSION[uid]', Tekst='$tekst', Locatie='$Locatie'"; } if (mysql_query($SQL)) { echo "Done!"; echo "<SCRIPT>"; echo "document.write('<meta http-equiv=\"Refresh\" Content=\"0; url=index2.php\">');"; echo "</script>"; } else { echo "Toevoegen is mislukt!<BR>"; echo "Foutmelding:<BR>"; echo mysql_error() . "<BR>" . $SQL . "<P>"; exit(); } } |
Deze werkt perfectos!
ps. aub niet mieren over dat ik exit gebruik ipv die terwijl die netter is. Het gaat nu even naar mijn mening niet om net heid, maar om functionaliteit.
Het niet werkende script is ook nog lang niet klaar. Veel checks en extra functies ontbreken nog, maar ook dat doet er nu nog niet toe lijkt me.