PHP avatar value

Gestart doorShahiem17 reacties35 weergaven

18 berichten · pagina 1 van 2

Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hey,

Weet iemand hoe je een value mee geeft in een file input als je al een avatar hebt? Want ik heb in een form dat je je avatar en signature kan invoeren. Maar nu wil ik dat als je je signature invoert maar al een avatar hebt dat hij gewoon je avatar blijft.

Hoe kan ik dit doen? smile
Bedankt!

Gegroet,
Shahiem
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
If gebruiken om te kijken of er een bestand is ingevuld?
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nielsie schreef:
If gebruiken om te kijken of er een bestand is ingevuld?
En wat nou als je ook met een standaard image werkt? yummie
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Een aanvink vakje maken met Verwijder avatar ?
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nee, dat is geen goede oplossing.
0
Tgrm

Lid

Berichten
2.133
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Hey,

Weet iemand hoe je een value mee geeft in een file input als je al een avatar hebt? Want ik heb in een form dat je je avatar en signature kan invoeren. Maar nu wil ik dat als je je signature invoert maar al een avatar hebt dat hij gewoon je avatar blijft.

Hoe kan ik dit doen? smile
Bedankt!

Gegroet,
Shahiem
Ok, je hebt dus de avatar in de db staan?

[COLOR= #0000BB]<?php
$query[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL] [COLOR= #007700]([/COLOR][COLOR= #DD0000]"... haal de avatar en signature op..."[/COLOR][COLOR= #007700])[/COLOR]
[COLOR= #0000BB]$rows[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$query[/COLOR][COLOR= #007700])[/COLOR]

[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]submit[/COLOR][COLOR= #007700]]))
{[/COLOR]
[COLOR= #0000BB]$submit[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]".. avatar + signature opslaan in database .."[/COLOR][COLOR= #007700])
}[/COLOR]
?>

<input type=text name=avatar value=[COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$rows[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]avatar[/COLOR][COLOR= #007700]];[/COLOR] ?>>
<input type=text name=signature value=[COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$rows[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]signature[/COLOR][COLOR= #007700]];[/COLOR] ?>>
<input type=submit name=submit value=Updaten>


Bedoel je zo?
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Het moet een file input zijn.
0
Tgrm

Lid

Berichten
2.133
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Het moet een file input zijn.
Heb je misschien stukje code voor me?
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
$map = img/avatars/;
                        $ext = array (image/jpeg, image/pjpeg, image/png, image/x-png, image/gif); //MIME types welke zijn toegestaan
                        $toext = array( .jpg, .jpeg, .gif, .png);
                        $maxgrote = 500000;// = 100 kb [in bytes]
    
                        if(trim($core->leden->naam($core->leden->info[mijn][id]) == ) OR trim($map) == )
                        {
                                            
                            $core->fouten->add(Er is wat mis gegaan tijdens het ophalen van de gebruiker.);
                                                exit();
                                                
                        }
                                    
                        if($_FILES[ava][size] == 0)
                        {
                                            
                            $core->mysql->query("UPDATE
                                                    leden
                                                SET
                                                    avatar = img/avatars/standaard.png
                                                WHERE
                                                    id = ".$core->leden->info[mijn][id]."");
                            echo <div class="goede-melding">Je hebt je avatar sucsesvol verwijderd, de standaard avatar is terug gezet.</div>;
                                            
                        }
                        else
                        {
                                    
                            $avatar = $_FILES[ava];
                                        
                            switch($avatar[error])
                            {
                                                
                                case UPLOAD_ERR_OK;
                                            
                                $pixels = getimagesize($_FILES[ava][tmp_name]);
                                            
                                if($avatar[size] > $maxgrote)
                                {
                                                            
                                    $core->fouten->add(Je avatar mag niet groter zijn dan  . $maxgrote .  bytes.);
                                                            
                                }
                                                            
                                if($pixels[0] > 100 OR $pixels[1] > 200)
                                {
                                                            
                                    
                                    $core->fouten->add(Je avatar mag maximaal 100 bij 200 pixels zijn.);
                                                            
                                }
                                
                                break;
                                                    
                                case UPLOAD_ERR_INI_SIZE:
                                                
                                $core->fouten->add(Het maximale upload limiet van de server is overschreden.);
                                                    
                                break;
                                                
                                case UPLOAD_ERR_PARTIAL:
                                                
                                $core->fouten->add(Er is een fout opgetreden tijdens het uploaden.);
                                                    
                                break;
                                                
                                default:
                                                
                                $core->fouten->add(Er is een onbekende fout opgetreden.);
                                                    
                                break;
                            }
                        }
                                        
                            if(!in_array($avatar[type], $ext) OR !in_array(strtolower(strrchr($avatar[name], .)),$toext))
                            {
                                            
                                $core->fouten->add(Je avatar heeft een verkeerde bestandsextentie.);
                                                
                            }
                        
                        if(strlen($_POST[signature]) > 300)
                        {
                                    
                            $core->fouten->add(Je signature is te groot; maximaal 300 karakters.);
                                
                        }
                        
                        if($core->fouten->aantal() == 0)
                        {
                            $extentie = strtolower(strrchr($avatar[name], .));
                            
                            if($handle = opendir($map)) 
                            {  
                                while(($file = readdir($handle)) !== false)
                                {  
                                    $ta = explode(., $file);
                                    
                                    if($ta[0] == $core->leden->naam($core->leden->info[mijn][id]))
                                    {
                                        if($extentie != $ta[1])
                                        {
                                            unlink($map . $core->leden->naam($core->leden->info[mijn][id]) . "." . $ta[1]); // VERWEIDER
                                            $uploaded = TRUE;
                                            move_uploaded_file($avatar[tmp_name], $map.$core->leden->naam($core->leden->info[mijn][id]).$extentie);
                                                                
                                        }
                                        else
                                        { 
                                            $uploaded = true;
                                            move_uploaded_file($avatar[tmp_name], $map.$core->leden->naam($core->leden->info[mijn][id]).$extentie);
                                                                
                                        }
                                    }
                                }    
                                closedir($handle);  
                            }
                                            
                                move_uploaded_file($avatar[tmp_name], $map.$core->leden->naam($core->leden->info[mijn][id]).$extentie);


Zo goed? emo
0
Tgrm

Lid

Berichten
2.133
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
$map = img/avatars/;
                        $ext = array (image/jpeg, image/pjpeg, image/png, image/x-png, image/gif); //MIME types welke zijn toegestaan
                        $toext = array( .jpg, .jpeg, .gif, .png);
                        $maxgrote = 500000;// = 100 kb [in bytes]
    
                        if(trim($core->leden->naam($core->leden->info[mijn][id]) == ) OR trim($map) == )
                        {
                                            
                            $core->fouten->add(Er is wat mis gegaan tijdens het ophalen van de gebruiker.);
                                                exit();
                                                
                        }
                                    
                        if($_FILES[ava][size] == 0)
                        {
                                            
                            $core->mysql->query("UPDATE
                                                    leden
                                                SET
                                                    avatar = img/avatars/standaard.png
                                                WHERE
                                                    id = ".$core->leden->info[mijn][id]."");
                            echo <div class="goede-melding">Je hebt je avatar sucsesvol verwijderd, de standaard avatar is terug gezet.</div>;
                                            
                        }
                        else
                        {
                                    
                            $avatar = $_FILES[ava];
                                        
                            switch($avatar[error])
                            {
                                                
                                case UPLOAD_ERR_OK;
                                            
                                $pixels = getimagesize($_FILES[ava][tmp_name]);
                                            
                                if($avatar[size] > $maxgrote)
                                {
                                                            
                                    $core->fouten->add(Je avatar mag niet groter zijn dan  . $maxgrote .  bytes.);
                                                            
                                }
                                                            
                                if($pixels[0] > 100 OR $pixels[1] > 200)
                                {
                                                            
                                    
                                    $core->fouten->add(Je avatar mag maximaal 100 bij 200 pixels zijn.);
                                                            
                                }
                                
                                break;
                                                    
                                case UPLOAD_ERR_INI_SIZE:
                                                
                                $core->fouten->add(Het maximale upload limiet van de server is overschreden.);
                                                    
                                break;
                                                
                                case UPLOAD_ERR_PARTIAL:
                                                
                                $core->fouten->add(Er is een fout opgetreden tijdens het uploaden.);
                                                    
                                break;
                                                
                                default:
                                                
                                $core->fouten->add(Er is een onbekende fout opgetreden.);
                                                    
                                break;
                            }
                        }
                                        
                            if(!in_array($avatar[type], $ext) OR !in_array(strtolower(strrchr($avatar[name], .)),$toext))
                            {
                                            
                                $core->fouten->add(Je avatar heeft een verkeerde bestandsextentie.);
                                                
                            }
                        
                        if(strlen($_POST[signature]) > 300)
                        {
                                    
                            $core->fouten->add(Je signature is te groot; maximaal 300 karakters.);
                                
                        }
                        
                        if($core->fouten->aantal() == 0)
                        {
                            $extentie = strtolower(strrchr($avatar[name], .));
                            
                            if($handle = opendir($map)) 
                            {  
                                while(($file = readdir($handle)) !== false)
                                {  
                                    $ta = explode(., $file);
                                    
                                    if($ta[0] == $core->leden->naam($core->leden->info[mijn][id]))
                                    {
                                        if($extentie != $ta[1])
                                        {
                                            unlink($map . $core->leden->naam($core->leden->info[mijn][id]) . "." . $ta[1]); // VERWEIDER
                                            $uploaded = TRUE;
                                            move_uploaded_file($avatar[tmp_name], $map.$core->leden->naam($core->leden->info[mijn][id]).$extentie);
                                                                
                                        }
                                        else
                                        { 
                                            $uploaded = true;
                                            move_uploaded_file($avatar[tmp_name], $map.$core->leden->naam($core->leden->info[mijn][id]).$extentie);
                                                                
                                        }
                                    }
                                }    
                                closedir($handle);  
                            }
                                            
                                move_uploaded_file($avatar[tmp_name], $map.$core->leden->naam($core->leden->info[mijn][id]).$extentie);
Zo goed? emo
Is het trouwens niet beter dat eerst de oude avatar verwijderd word en dat je daarna pas een nieuwe avatar kan invoegen?

Ik heb het zelf gewoon simpel gehouden dat ze een url invoegen en dat dat hun avatar is smile
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar dat vind ik niet veilig.
0
Tgrm

Lid

Berichten
2.133
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Maar dat vind ik niet veilig.
Het enige wat er kan gebeuren is dat iemand er vieze plaatjes op zet... maar dat kan bij uploaden ook.

Ik heb zoiets gebruikt:

if(isset($_POST[update]))
        {

            $allowed[0] = "jpg";
            $allowed[1] = "gif";
            $allowed[2] = "bmp";
            $allowed[3] = "jpeg";
            $allowed[4] = "JPEG";
            $allowed[5] = "JPG";
            $allowed[6] = "png";

            $userimage = substr($_POST[userimage], -3);

            for($i = 0; $i < count($allowed); $i++)
            {

                if ($userimage == $allowed[$i])
                {
                    $userimage = mysql_real_escape_string(htmlentities(trim($_POST[userimage])));

                    $query2 = "UPDATE blabla SET blabla_img = ".$userimage."WHERE user_id = ".$_SESSION[user_id].";";
                    $sql2 = mysql_query($query2)or die(mysql_error());
                    echo "Profiel is geupdate!";
                }
            }
        }
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar dan moet ze weer apart uploaden en dan kan je de groote van avatar niet bepalen.
0
Tgrm

Lid

Berichten
2.133
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Maar dan moet ze weer apart uploaden en dan kan je de groote van avatar niet bepalen.
de grootte van de avatar heb ik gewoon bij de img tag gezetsmile
0
Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Maar dan moet ze weer apart uploaden en dan kan je de groote van avatar niet bepalen.
Je kan de grootte wel bepalen hoor:

Afbeelding niet beschikbaarDe oorspronkelijke afbeelding of link ontbreekt.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren