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?


<?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.";
}
?> 
Kan iemand me misschien nog even helpen?
echt je $breedte en $hoogte eens, wat krijg je terug?
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.
@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
@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)
@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.

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
@santhe: hoe kan ik dat checken?

@klaasjan: bedankt voor je advies, maar daar gaat het nou ff niet om ;)
Maak hier eerst eens getallen van:
elseif ($breedte > '60' OR $hoogte > '60')

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

Reageren