Avatar billede NielsErikP Mester
12. november 2012 - 00:27 Der er 14 kommentarer og
1 løsning

Indsættelse af Gravatar images..

Hej...

Er der nogen der kan give en lille hånd med dette problem.
Kan ikke forstå at den ikke vil indsætte mit gravatar fra gravatar.com.. men godt vil indsætte mit default images
Har følgende funktion :


function PictReturn($pict, $status) {
    if($status == false){
        return "<img src='/billeder/default1.jpg' alt=''>";
    }
    elseif ($status == true){
        $default = "http://localhost/billeder/default1.jpg";
        $size= 50;
        $email= md5( strtolower( trim($pict) ) );
        $grav_picture = "http://www.gravatar.com/avatar/" .$email .".jpg?d=" .urlencode($default) ."&s=" .$size;
        $url = "<img src=".$grav_picture ."alt=''>";
        return $url;
        }else {
        return false;
    }
}



$pict er emailen og $status er en boolean .

Funktionen kaldes med følgende kode :



while($data = mysql_fetch_array($foresp)){
                    $pict = $data["email"];
                    $status = $data["picture"];
                ?>
                    <div id="indlaegs_ramme">
                       
                        <div id="data"> <div id="billed"> <?php echo PictReturn($pict, $status); ?>
</div>



picture's status true eller false sættes ved om en checkbox er sat med følgende kode:



/*  Tjekker om Html Checkboxes er sat til at hente billede fra "Gravatar.com    */ 
                    if (isset($_POST['gravatar_pict']) ) {
                        $picture = true;
                    } else {
                        $picture = false;
                    }




Håber der er en der forstår spørgsmålet og kan give lidt hjælp her.
Avatar billede olebole Juniormester
12. november 2012 - 14:36 #1
<ole>

Hvad skete der, da du prøvede at echo'e variablen [b$grav_picture[/b]?

/mvh
</bole>
Avatar billede NielsErikP Mester
12. november 2012 - 16:25 #2
Hej...

Hvis jeg udskriver $grav_picture :



while($data = mysql_fetch_array($foresp)){
                    $pict = $data["email"];
                    $status = $data["picture"];
                ?>
                    <div id="indlaegs_ramme">
                        <?php echo $grav_picture; ?>
                        <div id="data"> <div id="billed"> <?php echo PictReturn($pict, $status); ?> </div>



Giver denne mig følgende :

          Undefined Variable grav_picture in sti at line 208
Avatar billede NielsErikP Mester
12. november 2012 - 16:31 #3
Hej..

Selv efter kald af funktionen PictReturn(pict,status) :


while($data = mysql_fetch_array($foresp)){
                    $pict = $data["email"];
                    $status = $data["picture"];
                ?>
                    <div id="indlaegs_ramme">
                       
                        <div id="data"> <div id="billed"> <?php echo PictReturn($pict, $status); ?> </div>
                            <?php echo $grav_picture; ?>



Giver den mig følgende :

        Undefined Variable grav_picture in sti at line 210 

Men det vil vel sige at status ikke er true  hverken før eller efter kald af funktionen..??
Avatar billede olebole Juniormester
12. november 2012 - 19:12 #4
"Men det vil vel sige at status ikke er true  hverken før eller efter kald af funktionen..??"

Hvorfor echo'er du ikke bare og finder ud af, hvad den indeholder de forskellige steder?

if ($status===true) echo "Status er true";
else echo "Status er ikke true";
Avatar billede olebole Juniormester
12. november 2012 - 19:16 #5
Men hvorfor medsender du en urlencoded, lokal sti til dit default billede? Kan gravatar.com bruge den til noget?
Avatar billede NielsErikP Mester
12. november 2012 - 21:08 #6
Hej..

Jow...selvfølgelig. Har lige været væk fra webkodning ca. et halvt års tid.. Men tak for lige at rette mig ind på alm. fejlfinding :-)

#5: Tja men grunden til stien er lokal.. er at jeg udvikler localhost.. og så først ligge tingene på serveren, når det funger.. Stien bliver sevlfølgelig rettet til den aktuelle mappe på serveren. og grunden til urlencoded.. er anbefaling fra gravatar.. om implementeringen.

Se under Default Images her
Avatar billede olebole Juniormester
12. november 2012 - 21:37 #7
Jamen, 'http://localhost' kan gravatar.com jo ikke finde - den kan kun tigås fra din egen PC. Jeg ved ikke, hvad de skal bruge URL'en til, men jeg kan ikke se, de kan bruge en lokal til noget. Du kunne med samme resultat skrive enhver URL til et ikke eksisterende billede ... tror jeg  =)

Prøv at lægge default-billedet på nettet, og skriv så dén URL i stedet
Avatar billede NielsErikP Mester
12. november 2012 - 21:50 #8
Hej..

Nej.. Det giver kun de ventede.
        Status er ikke true

Men de indlæg der før og som også skulle sættes til mit gravatar.. Har et hvid kryds.. ikke et Default.jpg som de skulle have ved false. Status sættes udfra $data["picture"] som er hentet fra DB'en.

Går jeg phpmyadmin har disse indlæg med nu hvidt kryds en værdi af 1 altså true, men udskrevet i linje 210 er $status ikke true .

Rabler det for mig??
Avatar billede olebole Juniormester
12. november 2012 - 21:52 #9
Prøv allerførst at lave et helt simpelt dokument som dette:

<?php
$email = md5( strtolower( trim( "din@email.dk" ) ) );
$grav_picture = "http://www.gravatar.com/avatar/". $email .".jpg";
echo $grav_picture;
?>

Når det virker, tilføjer du størrelse og default-billede (liggende på nettet) én ad gangen - og med hardcoded værdier i variablerne.

Derefter kan du fortsætte med at gøre indholdet af variablerne dynamisk, osv. Pointen er at teste én ting ad gangen - og sikre dig, at dén ene ting virker, før du går videre med den næste.
Avatar billede NielsErikP Mester
12. november 2012 - 21:53 #10
Hej...

#7: nej.. jeg kan godt følge dig. Men det er også kun så længe der prøves.
Avatar billede olebole Juniormester
12. november 2012 - 21:54 #11
"Rabler det for mig??" >> Jeg har ingen anelse, for jeg forstod ikke indlægget  =)
Avatar billede NielsErikP Mester
12. november 2012 - 23:30 #12
Hej...

Ole du fik mig igang med at tænke :o) efter #9.

Fejlen var denne :


$url = "<img src='".$grav_picture ."' alt=''>";



I funktionen PictReturn() .


Tak for hjælpen, Ole!! Smid venligst svar.
Avatar billede NielsErikP Mester
15. november 2012 - 22:06 #13
Hej..

Jamen.. Så lukker jeg!
Avatar billede olebole Juniormester
15. november 2012 - 22:13 #14
Sorry, jeg havde ikke set de sidste par indlæg. Jeg samler som bekendt ikke, så det er helt fint  *o)
Avatar billede NielsErikP Mester
15. november 2012 - 22:18 #15
Hej..

Det er ok.. Døjer selv lidt med at E ikke altid virker som man gerne ville :-)

Men ihvertfald tak for din erfaring.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Metroselskabet og Hovedstadens Letbane

Cyber Security Konsulent

Teknologisk Institut

Udvikler til digitaliseringsteam

Sentia Denmark A/S

Service Delivery Manager

Hiper A/S

IT-systemudvikler