Controleert niet op grootte
Ik heb hier een stukje code, waarbij die eigenlijk de grootte van de ingevoerde avatar moet controleren. Maar ook als ik een te groot plaatje invoer, dan nog zegt hij dat het profiel succesvol is gewijzigd...
Ziet iemand de fout?
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 (loggedin())
{
$list = mysql_fetch_Assoc(mysql_query("select * from leden where id = '".$_SESSION['userid']."'"));
if (isset($_POST['submit']))
{
$mail = (isset($_POST['mail'])) ? $_POST['mail'] : '';
$msn = (isset($_POST['msn'])) ? $_POST['msn'] : '';
$icq = (isset($_POST['icq'])) ? $_POST['icq'] : '';
$wplaats = (isset($_POST['woonplaats'])) ? $_POST['woonplaats'] : '';
$gday = (isset($_POST['geboortedag'])) ? $_POST['geboortedag'] : '';
$gmonth = (isset($_POST['geboortemaand'])) ? $_POST['geboortemaand'] : '';
$gyear = (isset($_POST['geboortejaar'])) ? $_POST['geboortejaar'] : '';
$avatar = (isset($_POST['avatar'])) ? $_POST['avatar'] : '';
$gebdate = $gday."-".$gmonth."-".$gyear;
$locatie = $_POST['avatar'];
$grootte = getimagesize($locatie);
$breedte = $grootte[0]; /*Breedte van het plaatje*/
$hoogte = $grootte[1]; /*Hoogte van het plaatje*/
if (empty($mail))
{
echo "<BR>Je hebt niet alle verplichte velden ingevuld.";
}
elseif ($breedte > '60' OR $hoogte > '60')
{
echo "<BR>De afmetingen van je avatar zijn te groot, maximale afmetingen zijn: <b>60</b> bij <b>60</b>";
}
else
{
mysql_query("update leden set mail = '".$mail."', msn = '".$msn."', icq = '".$icq."', woonplaats = '".$wplaats."', geboortedatum = '".$gebdate."', avatar = '".$avatar."' where id = '".$_SESSION['userid']."'") or die (mysql_error());
echo "<BR>Je profiel is succesvol gewijzigd.";
}
}
else
{
list($dag, $maand, $jaar) = explode('-', $list['geboortedatum']);
echo "<BR>
<table cellspacing=0 cellpadding=0>
<form method=\"post\" action=\"\">
<tr>
<td width=\"193\">E-mail adres *:</td>
<td><input type=\"text\" name=\"mail\" value=\"".$list['mail']."\" class=\"fill\"></td></tr>
<tr>
<td>MSN:</td>
<td><input type=\"text\" name=\"msn\" value=\"".$list['msn']."\" class=\"fill\"></td></tr>
<tr>
<td>ICQ:</td>
<td><input type=\"text\" name=\"icq\" value=\"".$list['icq']."\" class=\"fill\"></td></tr>
<tr>
<td>Woonplaats:</td>
<td><input type=\"text\" name=\"woonplaats\" value=\"".$list['woonplaats']."\" class=\"fill\"></td></tr>
<tr>
<td>Geboortedatum <i>dd-mm-yyyy</i>:</td>
<td><input type=\"text\" name=\"geboortedag\" style=\"width: 20px\" value=\"".$dag."\" class=\"fill\"> - <input type=\"text\" name=\"geboortemaand\" style=\"width: 20px\" value=\"".$maand."\" class=\"fill\"> - <input type=\"text\" name=\"geboortejaar\" style=\"width: 35px\" value=\"".$jaar."\" class=\"fill\"></td></tr>
<tr>
<td>Avatar-link (60 x 60):</td>
<td><input type=\"text\" name=\"avatar\" value=\"".$list['avatar']."\" class=\"fill\"></td></tr>
<tr>
<tr><td></td><td><BR><input type=\"submit\" name=\"submit\" value=\"Wijzigen\" class=\"button\"></td></tr>
</form>
</table><BR>
Velden met een <b>*</b> zijn verplicht om in te vullen.
";
}
}
else
{
echo "<BR>Je bent niet ingelogd en hebt dus geen toegang tot deze pagina.";
}
?>
if (loggedin())
{
$list = mysql_fetch_Assoc(mysql_query("select * from leden where id = '".$_SESSION['userid']."'"));
if (isset($_POST['submit']))
{
$mail = (isset($_POST['mail'])) ? $_POST['mail'] : '';
$msn = (isset($_POST['msn'])) ? $_POST['msn'] : '';
$icq = (isset($_POST['icq'])) ? $_POST['icq'] : '';
$wplaats = (isset($_POST['woonplaats'])) ? $_POST['woonplaats'] : '';
$gday = (isset($_POST['geboortedag'])) ? $_POST['geboortedag'] : '';
$gmonth = (isset($_POST['geboortemaand'])) ? $_POST['geboortemaand'] : '';
$gyear = (isset($_POST['geboortejaar'])) ? $_POST['geboortejaar'] : '';
$avatar = (isset($_POST['avatar'])) ? $_POST['avatar'] : '';
$gebdate = $gday."-".$gmonth."-".$gyear;
$locatie = $_POST['avatar'];
$grootte = getimagesize($locatie);
$breedte = $grootte[0]; /*Breedte van het plaatje*/
$hoogte = $grootte[1]; /*Hoogte van het plaatje*/
if (empty($mail))
{
echo "<BR>Je hebt niet alle verplichte velden ingevuld.";
}
elseif ($breedte > '60' OR $hoogte > '60')
{
echo "<BR>De afmetingen van je avatar zijn te groot, maximale afmetingen zijn: <b>60</b> bij <b>60</b>";
}
else
{
mysql_query("update leden set mail = '".$mail."', msn = '".$msn."', icq = '".$icq."', woonplaats = '".$wplaats."', geboortedatum = '".$gebdate."', avatar = '".$avatar."' where id = '".$_SESSION['userid']."'") or die (mysql_error());
echo "<BR>Je profiel is succesvol gewijzigd.";
}
}
else
{
list($dag, $maand, $jaar) = explode('-', $list['geboortedatum']);
echo "<BR>
<table cellspacing=0 cellpadding=0>
<form method=\"post\" action=\"\">
<tr>
<td width=\"193\">E-mail adres *:</td>
<td><input type=\"text\" name=\"mail\" value=\"".$list['mail']."\" class=\"fill\"></td></tr>
<tr>
<td>MSN:</td>
<td><input type=\"text\" name=\"msn\" value=\"".$list['msn']."\" class=\"fill\"></td></tr>
<tr>
<td>ICQ:</td>
<td><input type=\"text\" name=\"icq\" value=\"".$list['icq']."\" class=\"fill\"></td></tr>
<tr>
<td>Woonplaats:</td>
<td><input type=\"text\" name=\"woonplaats\" value=\"".$list['woonplaats']."\" class=\"fill\"></td></tr>
<tr>
<td>Geboortedatum <i>dd-mm-yyyy</i>:</td>
<td><input type=\"text\" name=\"geboortedag\" style=\"width: 20px\" value=\"".$dag."\" class=\"fill\"> - <input type=\"text\" name=\"geboortemaand\" style=\"width: 20px\" value=\"".$maand."\" class=\"fill\"> - <input type=\"text\" name=\"geboortejaar\" style=\"width: 35px\" value=\"".$jaar."\" class=\"fill\"></td></tr>
<tr>
<td>Avatar-link (60 x 60):</td>
<td><input type=\"text\" name=\"avatar\" value=\"".$list['avatar']."\" class=\"fill\"></td></tr>
<tr>
<tr><td></td><td><BR><input type=\"submit\" name=\"submit\" value=\"Wijzigen\" class=\"button\"></td></tr>
</form>
</table><BR>
Velden met een <b>*</b> zijn verplicht om in te vullen.
";
}
}
else
{
echo "<BR>Je bent niet ingelogd en hebt dus geen toegang tot deze pagina.";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Marijn
Kan iemand me misschien nog even helpen?
echt je $breedte en $hoogte eens, wat krijg je terug?
Als je iets wilt uploaden moet je type="file" gebruiken en de <form> tag aanpassen. De info van de file is dan terug te vinden in de $_FILES var.
@santhe: het is ook niet de bedoeling dat de leden iets up kunnen loaden... ze kunnen alleen een avatar instellen door een link in te voeren
Waarom laat je het dan niet zo, maar doe je op het profiel gewoon:
<img src="de_opgegeven_image" height="60px" width="60px"/>
Laat ze dan maar een grote afbeelding opgeven, het laden duurt dan langer (gaat overigens niet van jouw bandbreedte af)
@Robert: ja dat zou natuurlijk kunnen, maar ik vind het gewoon raar dat het niet werkt :S
getimagesize() geeft een array() terug of een FALSE indien het bestand niet correct/gevonden werd. Check dus ook op die FALSE.
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
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
echo "<BR>
<table cellspacing=0 cellpadding=0>
<form method=\"post\" action=\"\">
<tr>
<td width=\"193\">E-mail adres *:</td>
<td><input type=\"text\" name=\"mail\" value=\"".$list['mail']."\" class=\"fill\"></td></tr>
<tr>
<td>MSN:</td>
<td><input type=\"text\" name=\"msn\" value=\"".$list['msn']."\" class=\"fill\"></td></tr>
<tr>
<td>ICQ:</td>
<td><input type=\"text\" name=\"icq\" value=\"".$list['icq']."\" class=\"fill\"></td></tr>
<tr>
<td>Woonplaats:</td>
<td><input type=\"text\" name=\"woonplaats\" value=\"".$list['woonplaats']."\" class=\"fill\"></td></tr>
<tr>
<td>Geboortedatum <i>dd-mm-yyyy</i>:</td>
<td><input type=\"text\" name=\"geboortedag\" style=\"width: 20px\" value=\"".$dag."\" class=\"fill\"> - <input type=\"text\" name=\"geboortemaand\" style=\"width: 20px\" value=\"".$maand."\" class=\"fill\"> - <input type=\"text\" name=\"geboortejaar\" style=\"width: 35px\" value=\"".$jaar."\" class=\"fill\"></td></tr>
<tr>
<td>Avatar-link (60 x 60):</td>
<td><input type=\"text\" name=\"avatar\" value=\"".$list['avatar']."\" class=\"fill\"></td></tr>
<tr>
<tr><td></td><td><BR><input type=\"submit\" name=\"submit\" value=\"Wijzigen\" class=\"button\"></td></tr>
</form>
</table><BR>
Velden met een <b>*</b> zijn verplicht om in te vullen.
";
<table cellspacing=0 cellpadding=0>
<form method=\"post\" action=\"\">
<tr>
<td width=\"193\">E-mail adres *:</td>
<td><input type=\"text\" name=\"mail\" value=\"".$list['mail']."\" class=\"fill\"></td></tr>
<tr>
<td>MSN:</td>
<td><input type=\"text\" name=\"msn\" value=\"".$list['msn']."\" class=\"fill\"></td></tr>
<tr>
<td>ICQ:</td>
<td><input type=\"text\" name=\"icq\" value=\"".$list['icq']."\" class=\"fill\"></td></tr>
<tr>
<td>Woonplaats:</td>
<td><input type=\"text\" name=\"woonplaats\" value=\"".$list['woonplaats']."\" class=\"fill\"></td></tr>
<tr>
<td>Geboortedatum <i>dd-mm-yyyy</i>:</td>
<td><input type=\"text\" name=\"geboortedag\" style=\"width: 20px\" value=\"".$dag."\" class=\"fill\"> - <input type=\"text\" name=\"geboortemaand\" style=\"width: 20px\" value=\"".$maand."\" class=\"fill\"> - <input type=\"text\" name=\"geboortejaar\" style=\"width: 35px\" value=\"".$jaar."\" class=\"fill\"></td></tr>
<tr>
<td>Avatar-link (60 x 60):</td>
<td><input type=\"text\" name=\"avatar\" value=\"".$list['avatar']."\" class=\"fill\"></td></tr>
<tr>
<tr><td></td><td><BR><input type=\"submit\" name=\"submit\" value=\"Wijzigen\" class=\"button\"></td></tr>
</form>
</table><BR>
Velden met een <b>*</b> zijn verplicht om in te vullen.
";
waarom maak je het jezelf zo moeilijk. Gebruik of enkele ' '
OF sluit de php tags wat vaker. Ik nog overzichtelijker ook
@klaasjan: bedankt voor je advies, maar daar gaat het nou ff niet om ;)
Gewijzigd op 01/01/1970 01:00:00 door Marijn
elseif ($breedte > '60' OR $hoogte > '60')
Dus
elseif ($breedte > 60 OR $hoogte > 60)
$avatar = (isset($_POST['avatar'])) ? $_POST['avatar'] : '';
en ga je toch weer verder met
$locatie = $_POST['avatar'];
$grootte = getimagesize($locatie);
Dat moet zijn (Waarom trouwens een nieuwe $var?)
$locatie = $avatar;
$grootte = getimagesize($locatie);
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$locatie = $avatar;
$grootte = getimagesize($locatie);
$breedte = $grootte[0]; /*Breedte van het plaatje*/
$hoogte = $grootte[1]; /*Hoogte van het plaatje*/
if (($breedte > 60) OR ($hoogte > 60))
{
echo "De afmetingen van je avatar zijn te groot, maximale afmetingen zijn: <b>60</b> bij <b>60</b>";
}
elseif (empty($mail))
{
echo "<BR>Je hebt niet alle verplichte velden ingevuld.";
}
else
{
mysql_query("update leden set mail = '".$mail."', msn = '".$msn."', icq = '".$icq."', woonplaats = '".$wplaats."', geboortedatum = '".$gebdate."', avatar = '".$avatar."' where id = '".$_SESSION['userid']."'") or die (mysql_error());
echo "<BR>Je profiel is succesvol gewijzigd.";
}
?>
$locatie = $avatar;
$grootte = getimagesize($locatie);
$breedte = $grootte[0]; /*Breedte van het plaatje*/
$hoogte = $grootte[1]; /*Hoogte van het plaatje*/
if (($breedte > 60) OR ($hoogte > 60))
{
echo "De afmetingen van je avatar zijn te groot, maximale afmetingen zijn: <b>60</b> bij <b>60</b>";
}
elseif (empty($mail))
{
echo "<BR>Je hebt niet alle verplichte velden ingevuld.";
}
else
{
mysql_query("update leden set mail = '".$mail."', msn = '".$msn."', icq = '".$icq."', woonplaats = '".$wplaats."', geboortedatum = '".$gebdate."', avatar = '".$avatar."' where id = '".$_SESSION['userid']."'") or die (mysql_error());
echo "<BR>Je profiel is succesvol gewijzigd.";
}
?>
Nog steeds zegt ie bij een te groot plaatje dat het profiel succesvol is gewijzigd.. :(
Gewijzigd op 01/01/1970 01:00:00 door Marijn
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
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
<?
$locatie = $avatar;
$grootte = getimagesize($locatie);
if($grootte)
{
$breedte = $grootte[0]; /*Breedte van het plaatje*/
$hoogte = $grootte[1]; /*Hoogte van het plaatje*/
if (($breedte > 60) OR ($hoogte > 60))
{
echo "De afmetingen van je avatar zijn te groot, maximale afmetingen zijn: <b>60</b> bij <b>60</b>";
}
}
else
{
echo 'Geen avatar gevonden.';
}
if(empty($mail))
{
echo "<BR>Je hebt niet alle verplichte velden ingevuld.";
}
else
{
mysql_query("update leden set mail = '".$mail."', msn = '".$msn."', icq = '".$icq."', woonplaats = '".$wplaats."', geboortedatum = '".$gebdate."', avatar = '".$avatar."' where id = '".$_SESSION['userid']."'") or die (mysql_error());
echo "<BR>Je profiel is succesvol gewijzigd.";
}
?>
$locatie = $avatar;
$grootte = getimagesize($locatie);
if($grootte)
{
$breedte = $grootte[0]; /*Breedte van het plaatje*/
$hoogte = $grootte[1]; /*Hoogte van het plaatje*/
if (($breedte > 60) OR ($hoogte > 60))
{
echo "De afmetingen van je avatar zijn te groot, maximale afmetingen zijn: <b>60</b> bij <b>60</b>";
}
}
else
{
echo 'Geen avatar gevonden.';
}
if(empty($mail))
{
echo "<BR>Je hebt niet alle verplichte velden ingevuld.";
}
else
{
mysql_query("update leden set mail = '".$mail."', msn = '".$msn."', icq = '".$icq."', woonplaats = '".$wplaats."', geboortedatum = '".$gebdate."', avatar = '".$avatar."' where id = '".$_SESSION['userid']."'") or die (mysql_error());
echo "<BR>Je profiel is succesvol gewijzigd.";
}
?>
Maar al met al heeft het niet veel zin om de grootte van de avatar te checken voordat ie in de database wordt gezet. Stel dat men de avatar later vervangt door een superavatar? Je moet de grootte checken op het moment dat je de avatar wilt gebruiken.
"Geen avatar gevonden.
Je profiel is succesvol gewijzigd."
Dan zal ie het plaatje niet gevonden hebben.