Controleert niet op grootte

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marijn

Marijn

06/09/2006 22:22:00
Quote Anchor link
Hey,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.";
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Marijn
 
PHP hulp

PHP hulp

22/11/2024 01:47:21
 
Marijn

Marijn

08/09/2006 12:07:00
Quote Anchor link
Kan iemand me misschien nog even helpen?
 
- wes  -

- wes -

08/09/2006 12:10:00
Quote Anchor link
echt je $breedte en $hoogte eens, wat krijg je terug?
 
- SanThe -

- SanThe -

08/09/2006 12:13:00
Quote Anchor link
Zo te zien upload je niks maar wil je de imagesize van een stukje tekst hebben.

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.
 
Marijn

Marijn

08/09/2006 12:35:00
Quote Anchor link
@wes: daar ligt denk ik het probleem... want als ik $breedte en $hoogte echo krijg ik niks terug. In de elseif-lus is $breedte/$hoogte dus nooit groter als 60, daarom zegt hij, denk ik, altijd dat het profiel succesvol gewijzigd is

@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
 
Robert Deiman

Robert Deiman

08/09/2006 12:49:00
Quote Anchor link
@Marijn
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)
 
Marijn

Marijn

08/09/2006 12:52:00
Quote Anchor link
@Robert: ja dat zou natuurlijk kunnen, maar ik vind het gewoon raar dat het niet werkt :S
 
- SanThe -

- SanThe -

08/09/2006 12:53:00
Quote Anchor link
getimagesize() geeft een array() terug of een FALSE indien het bestand niet correct/gevonden werd. Check dus ook op die FALSE.
 
Klaasjan Boven

Klaasjan Boven

08/09/2006 13:00:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
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.
        ";


waarom maak je het jezelf zo moeilijk. Gebruik of enkele ' '

OF sluit de php tags wat vaker. Ik nog overzichtelijker ook
 
Marijn

Marijn

08/09/2006 13:01:00
Quote Anchor link
@santhe: hoe kan ik dat checken?

@klaasjan: bedankt voor je advies, maar daar gaat het nou ff niet om ;)
Gewijzigd op 01/01/1970 01:00:00 door Marijn
 
- SanThe -

- SanThe -

08/09/2006 13:09:00
Quote Anchor link
Maak hier eerst eens getallen van:
elseif ($breedte > '60' OR $hoogte > '60')

Dus
elseif ($breedte > 60 OR $hoogte > 60)
 
- SanThe -

- SanThe -

08/09/2006 13:12:00
Quote Anchor link
Verder doe je
$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);
 
Marijn

Marijn

08/09/2006 13:24:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.";
        }

?>


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
 
- SanThe -

- SanThe -

08/09/2006 14:50:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
    $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.
 
Marijn

Marijn

08/09/2006 15:09:00
Quote Anchor link
de output is nu (bij een groot en een klein plaatje):
"Geen avatar gevonden.
Je profiel is succesvol gewijzigd."
 
- SanThe -

- SanThe -

08/09/2006 15:13:00
Quote Anchor link
Dan zal ie het plaatje niet gevonden hebben.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.