---
title: "Hämta info till bild"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/176377-hämta-info-till-bild"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "SoulGod"
published: "2009-01-16T08:08:13.000Z"
updated: "2009-01-20T08:01:14.000Z"
replies: 5
views: 526
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/176377-hämta-info-till-bild"
---

# Hämta info till bild

## #1 — SoulGod, 2009-01-16T08:08Z

Jag har ett script som hämtar en länk till en avatar på följande sätt:

```
$res2 = mysql_query("SELECT username, avatar FROM users WHERE id=" . $arr["sender"]) or sqlerr();
$arr2 = mysql_fetch_assoc($res2);
$sender = "<a href=userdetails.php?id=" . $arr["sender"] . ">" . ($arr2["username"]?$arr2["username"]:"[Raderat]") . "</a>";
$avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($arr2["avatar"]) : "");
       
if (!$avatar)
$avatar = "pic/default_avatar.jpg";
}

else

$sender = "System";
if ($sender == "System")
    $avatar = "pic/system_avatar.jpg";
```

Och bilden hämtas via:

```
print("<tr valign=top><td width=110 align=center style='padding: 0px'>" .            
($avatar ? "<img src=\"$avatar\">" : ""). "</td><td>\n");
```

Men just nu läggs default_avatar in på alla användare,
och på sender== System läggs det inte in någon alls.
och när jag läser den genererade html koden så är fältet tomt för system.

Någon som har en aning?
Säg till om ni behöver se mer kod.

Permalänk: https://www.webforum.nu/p/176377

## #2 — The_Hulk, 2009-01-16T09:31Z

Är det all kod?

ser lite konstigt ut vid din if-sats.

```php
if (!$avatar)
$avatar = "pic/default_avatar.jpg";
}
else
```

var ska kod-blocket börja? du har en avslutande "}" innan "else" men man ser inte var den börjar.

testa att ändra

```php
if(!$avatar)
```

till 

```php
if($avatar != "")
```

Permalänk: https://www.webforum.nu/p/2165680

## #3 — SoulGod, 2009-01-18T11:03Z

Detta är koden jag kör:

```
if (is_valid_id($arr["sender"]))
{
$res2 = mysql_query("SELECT username, avatar FROM users WHERE id=" . $arr["sender"]) or sqlerr();
$arr2 = mysql_fetch_assoc($res2);
$sender = "<a href=userdetails.php?id=" . $arr["sender"] . ">" . ($arr2["username"]?$arr2["username"]:"[Raderat]") . "</a>";
$avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($arr2["avatar"]) : "");
       
if (!$avatar)
$avatar = "pic/default_avatar.jpg";
}

else

$sender = "System";
if ($sender == "System")
    $avatar = "pic/system_avatar.jpg";
```

Prövade att ändra (!$avatar) till det du skrev.
Problemet är dock inte default_avatar, för den hamnar rätt.
Dock funkar inte "system_avatar" , 
eller att den hämtar in användarens "riktiga" avatar

Permalänk: https://www.webforum.nu/p/2165844

## #4 — The_Hulk, 2009-01-19T08:25Z

Det är lite svårt att avgöra vad som blir fel eftersom du inte visar all kod.
hur ser koden för is_valid_id(...) ut?

lägg till lite debug-kod så vi ser hur koden körs.

Förmodligen så är det något fel i is_valid_id(...) som gör att du alltid kommer in i den första delen av if-satsen.

```php
if (is_valid_id($arr["sender"]))
{
    echo "test 1"; // debug
    $res2 = mysql_query("SELECT username, avatar FROM users WHERE id=" . $arr["sender"]) or sqlerr();
    $arr2 = mysql_fetch_assoc($res2);
    $sender = "<a href=userdetails.php?id=" . $arr["sender"] . ">" . ($arr2["username"]?$arr2["username"]:"[Raderat]") . "</a>";
    $avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($arr2["avatar"]) : "");
       
    if (!$avatar)
        $avatar = "pic/default_avatar.jpg";
}
else
{
    echo "test 2"; // debug
    $sender = "System";
}

if ($sender == "System")
    $avatar = "pic/system_avatar.jpg";
```

Permalänk: https://www.webforum.nu/p/2165899

## #5 — SoulGod, 2009-01-19T17:30Z

Här kommer hela koden:

```
<?
require "include/bittorrent.php";
dbconn(false);
loggedinorreturn();
$out = $_GET['out'];
if ($out) // Sentbox
{
stdhead("Utkorgen", false);
print("<form method=post action=takedelspm.php>");
print("<table class=main width=750 border=0 cellspacing=0 cellpadding=10><tr><td class=embedded>\n");
print("<h1 align=center>Utkorgen</h1>\n");
print("<div align=center>(<a href=" . $_SERVER['PHP_SELF'] . ">Inkorgen</a>)</div>\n");
$res = mysql_query("SELECT * FROM messages WHERE sender=" . $CURUSER["id"] . " AND location IN ('out','both') ORDER BY added DESC") or die("barf!");
if (mysql_num_rows($res) == 0)
stdmsg("Information","Här var det tomt!");
else
while ($arr = mysql_fetch_assoc($res))
{
$res2 = mysql_query("SELECT username FROM users WHERE id=" . $arr["receiver"]) or sqlerr();
$arr2 = mysql_fetch_assoc($res2);
$receiver = "<a href=userdetails.php?id=" . $arr["receiver"] . ">" . $arr2["username"] . "</a>";
$elapsed = get_elapsed_time(sql_timestamp_to_unix_timestamp($arr["added"]));
print("<p><table width=100% border=1 cellspacing=0 cellpadding=10><tr><td class=text>\n");
print("Till <b>$receiver</b> den\n" . $arr["added"] . " ($elapsed sedan) GMT\n");
if (get_user_class() >= UC_MODERATOR && $arr["unread"] == "yes")
print("<b>(<font color=red>Oläst!</font>)</b>");
print("<p><table class=main width=100% border=1 cellspacing=0 cellpadding=10><tr><td class=text>\n");
print(format_comment($arr["msg"]));
print("</td></tr></table></p>\n<p>");
print("<table width=100% border=0><tr><td class=embedded>\n");
print("<a href=deletemessage.php?id=" . $arr["id"] . "&type=out><b>Radera</b></a></td><input type=\"checkbox\" name=\"delpm[]\" value=\"" . $arr[id] . "\" /></td>\n");
print("</tr></table></tr></table></p>\n");
}
}
else // Inbox
{
stdhead("Inkorgen", false);
print("<form method=post action=takedelpms.php>");
print("<table class=main width=750 border=0 cellspacing=0 cellpadding=10><tr><td class=embedded>\n");
print("<h1 align=center>Inkorgen</h1>\n");
print("<div align=center>(<a href=" . $_SERVER['PHP_SELF'] . "?out=1>Utkorgen</a>)</div>\n");
$res = mysql_query("SELECT * FROM messages WHERE receiver=" . $CURUSER["id"] . " AND location IN ('in','both') ORDER BY added DESC") or die("barf!");
if (mysql_num_rows($res) == 0)
stdmsg("Information","Här var det tomt!");
else
while ($arr = mysql_fetch_assoc($res))
{
if (is_valid_id($arr["sender"]))
{
$res2 = mysql_query("SELECT username, avatar FROM users WHERE id=" . $arr["sender"]) or sqlerr();
$arr2 = mysql_fetch_assoc($res2);
$sender = "<a href=userdetails.php?id=" . $arr["sender"] . ">" . ($arr2["username"]?$arr2["username"]:"[Raderat]") . "</a>";
$avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($arr2["avatar"]) : "");
       
if (!$avatar != "")
$avatar = "pic/default_avatar.jpg";
}
else
$sender = "System";
if ($sender == "System")
    $avatar = "pic/system_avatar.jpg";
$elapsed = get_elapsed_time(sql_timestamp_to_unix_timestamp($arr["added"]));
print("<p><table width=100% border=1 cellspacing=0 cellpadding=10><tr><td class=text>\n");
print("Från <b>$sender</b> klockan\n" . $arr["added"] . " ($elapsed sedan) GMT\n");
if ($arr["unread"] == "yes")
{
print("<b>(<font color=red>Nytt!</font>)</b>");
mysql_query("UPDATE messages SET unread='false' WHERE id=" . $arr["id"]) or die("arghh");
}
print("<p><table class=main width=100% border=1 cellspacing=0 cellpadding=10><tr><td class=text>\n");
print("<tr valign=top><td width=110 align=center style='padding: 0px'>" .            
($avatar ? "<img src=\"$avatar\">" : ""). "</td><td>\n");
print(format_comment($arr["msg"]));
print("</td></tr></table></p>\n<p>");
print("<table width=100% border=0><tr><td class=embedded>\n");
print(($arr["sender"] ? "<a href=sendmessage.php?receiver=" . $arr["sender"] . "&replyto=" . $arr["id"] .
"><b>Svara</b></a>" : "<font class=gray><b>Svara</b></font>") .
" | <a href=deletemessage.php?id=" . $arr["id"] . "&type=in><b>Radera</b></a></td><input type=\"checkbox\" name=\"delpm[]\" value=\"" . $arr[id] . "\" /></td>\n");
print("</tr></table></tr></table></p>\n");
}
}
print("</td></tr></table>\n");
print("<p align=center><input type=button value=\"Markera alla\" onClick=\"this.value=check(form)\"><input type=submit value=\"Radera markerade\"></p>");
print("</form>");
print("<p align=center>Behöver du <a href=users.php>hitta</a> någon?</p>\n");
stdfoot();
?>
```

Permalänk: https://www.webforum.nu/p/2165956

## #6 — The_Hulk, 2009-01-20T08:01Z

Du har fortfarande inte visat vad funktionen is_valid_id(...) gör.
Har du testat med mina debug-rader?

När du klistrar in php-kod använd helst \[ php\] istället för \[ kod\], då blir koden färglagd vilket är lättare att läsa. Dessutom hade det varit mycket trevligare med indentering i koden (som jag gjorde).

Jag orkar inte hjälpa dig förrän du testat att lägga till debug-koden. det är omöjligt att säga varför du får fel när du inte hjälper till mer.

Permalänk: https://www.webforum.nu/p/2166002

---

Tråden på webben: https://www.webforum.nu/amne/php/176377-hämta-info-till-bild
