Menü

  Login

  Shoutbox

  Forum » Fragen zu Ilch » Andere Dinge » shoutbox


shoutbox
john
Gast

User Pic

# 09.11.2008 - 08:42:00
    zitieren



hallo mairu,

kann man eigentlich in der shoutbox vor dem namen auch sein avatar anzeigen lassen.
da ich mich nicht zu gut auskenne und hoffe das das nicht alzu schwer ist bitte ich dich mal ob du ein code kennst der dies ermöglicht.

mfg john
Mairu
Administrator

User Pic

Posts: 1908
# 09.11.2008 - 09:10:13
    zitieren



Naja inder Shoutbox stehen nur Namen, die zwar auch mit einer Person in Verbindung gebracht werden können, aber falls z.B. jemand anderes deinen Namen benutzt, ists dann etwas doof.

Weiter ist die Shoutbox ja eigentlich recht klein, und nicht wirklich viel Platz für einen Avatar.

Die Frage ist auch, was ist denn, nicht so gut auskennen Zwinker

Hier wäre die erforderliche SQL Abfrage.
 Code
1:
 $erg = db_query('SELECT `prefix_shoutbox`.*, `prefix_user`.avatar FROM `prefix_shoutbox` LEFT JOIN `prefix_user` ON `prefix_user`.name =  `prefix_shoutbox`.nickname ORDER BY id DESC LIMIT '.(is_numeric($allgAr['sb_limit'])?$allgAr['sb_limit']:5));


Dann wäre der Pfad zum Bild in $row->avatar.

Das kannst du dann einfügen um es wenn es ein Avatar gibt anzuzeigen.
 Code
1:
 (file_exists($row->avatar) ? '<img src="'.$row->avatar.'" />' : '')
john
Gast

User Pic

# 09.11.2008 - 10:39:30
    zitieren



hallo mairu,

super vielen dank klappt wunderbar ;-)

mfg john
littlecrow
Gast

User Pic

# 03.03.2009 - 11:11:30
    zitieren



hi mairu,

ich veruche zurzeit dies umzusetzen mit Avatar, NoAvatar und Gast Avatar leider komme ich zuzeit nicht weiter wie ich das umsetzen kann.

hab mal einiges getestet leider ohne erfolg vielleicht wenn du lust hast kannst du mir bitte helfen.

habs mal so versucht als test.

 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
  <?php
//Avatar prüfen und ggf. anzeigen
  
if ( loggedin (file_exists($row->avatar)))
  { 
  
$avatar '<img src="include/images/avatars/'.$_SESSION['authid'].'.jpg"  border="0" width="50" height="63"/>'
  }
  elseif (
$_SESSION['authid'] >= 1
  {  
  
$avatar '<img src="include/images/avatars/noavatar.jpg"  border="0" width="50" height="63"/>';  
  }
  else 
  { 
  
$avatar '<img src="include/images/avatars/gast.png"  border="0" width="50" height="63"/>';
  }
?>


wäre sehr erfreut wenn du mir helfen kannst

eine umsetzung findest du hier: fhag-gaming
mfg littlecrow
Mairu
Administrator

User Pic

Posts: 1908
# 03.03.2009 - 11:36:11
    zitieren



Wo willst du denn den Avatar anzeigen, in der Shoutbox ???, ich verstehe nicht so ganz.

Aber falsch ist das in jedem Falle, da loggedin() keine Parameter nimmt, sondern zurückgibt, ob der User, der gerade die Seite aufruft eingeloggt ist oder nicht.
littlecrow
Gast

User Pic

# 03.03.2009 - 11:49:12
    zitieren



hi miaru,

ja ich verwende das in der shoutbox nun möchte ich das so umsetzen wenn man eingeloggt ist und kein avatar besitzt ein noavatar bekommt. und alls gast ein gast avatar.

ich habe ja bei der shoutbox schon das gast avatar und das normale avatar jetzt möchte ich noch ein noavatar machen für registrierte leute ohne avatar.

nur mit der umsetzung habert es.

mfg littlecrow

das funktioniert soweit

 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
  <?php
 
//Avatar prüfen und ggf. anzeigen
  
if ( loggedin file_exists($row->avatar)))
  {
  
$avatar '<img src="include/images/avatars/'.$_SESSION['authid'].'.jpg"  border="0" width="50" height="63"/>';
  }
  else
  {
  
$avatar '<img src="include/images/avatars/gast.png"  border="0" width="50" height="63"/>';
  }
?>


als nicht eingeloggter sieht man das gast avatar und alls eingeloggter sein avatar nun möchte ich das so ändern wenn man kein avatar hat ein noavatar bekommt.
Mairu
Administrator

User Pic

Posts: 1908
# 03.03.2009 - 17:10:12
    zitieren



Naja dann müsste das wohl ungefähr so aussehen.
 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
  <?php
//Avatar prüfen und ggf. anzeigen
if (loggedin ())  {
    if (
file_exists($row->avatar)) {
        
$avatar $row->avatar// $row->avatar sollte den Pfad zum Bild enthalten
    
} else {
        
$avatar 'include/images/avatars/standard.jpg';
    }
} else {
    
$avatar 'include/images/avatars/gast.png';
}
$avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>';
?> 
littlecrow
Gast

User Pic

# 04.03.2009 - 10:12:43
    zitieren



hi mairu,

also wie ich es mache funktioniert das nicht , hab jetzt alles mal ausprobiert was ich weis und kann aber er zeigt mir nicht das bild vom avatar an, hab mal mehrer möglichkeiten probiert aber das hat alles nicht geklappt.

 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
  <?php
//Avatar prüfen und ggf. anzeigen 
if (loggedin ())  {
    if (
file_exists($row->avatar)) {
       
$avatar 'include/images/avatars/'.$row->avatar.'.jpg'// $row->avatar sollte den Pfad zum Bild enthalten
    
} else {
       
$avatar 'include/images/avatars/noavatar.jpg';
    }
    } else {
    
$avatar 'include/images/avatars/gast.png';
    }
    
$avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>'
?>


und so hab ich es auch probiert

 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
  <?php
 
//Avatar prüfen und ggf. anzeigen
$abf 'SELECT id, name, avatar FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"';
$erg db_query($abf);
$row db_fetch_object($erg);

if (
loggedin ())  {
    if (
file_exists($row->avatar)) {
       
$avatar 'include/images/avatars/'.$row->avatar.''// $row->avatar sollte den Pfad zum Bild enthalten
    
} else {
       
$avatar 'include/images/avatars/noavatar.jpg';
    }
    } else {
    
$avatar 'include/images/avatars/gast.png';
    }
    
$avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>'
?>

hab alle varianten durch die ich kenne hab es sogar mit einer abfrage probiert nix Weinen

vielleicht fällt dir noch was ein aber danke fürs helfen
littlecrow
Gast

User Pic

# 04.03.2009 - 10:27:26
    zitieren



hi mairu,

habs gelöst ist das so korrekt ???

er zeigt alles an wollte nur wissen ob der code auch so past:

 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
  <?php
 
//Avatar prüfen und ggf. anzeigen
$abf 'SELECT id, avatar FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"';
$erg db_query($abf);
$row db_fetch_object($erg);

if (
loggedin ())  {
    if (
file_exists($row->avatar)) {
       
$avatar 'include/images/avatars/'.$row->id.'.jpg'// $row->avatar sollte den Pfad zum Bild enthalten
    
} else {
       
$avatar 'include/images/avatars/noavatar.jpg';
    }
    } else {
    
$avatar 'include/images/avatars/gast.png';
    }
    
$avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>'
?>


ich hoffe das so alles past und es funktioniert Smilie

nun hätte ich noch ein anliegen wie setze ich das dann bei der funktion um

 Php
1:
2:
3:
  <?php
 $row
->avatar = (file_exists($row->avatar) ? '<img src="'.$row->avatar.'"  border="0" width="50" height="63"/>' '<img src="include/images/avatars/gast.png"  border="0" width="50" height="63"/>');
?>


naja probiers mal ob ich es himbekomme aber wahrscheinlich nicht

mfg littlecrow
Mairu
Administrator

User Pic

Posts: 1908
# 04.03.2009 - 14:34:36
    zitieren



Ich verstehe nicht ganz warum du meins wieder umschreibst, das sollte direkt so gehen und was du jetzt bei dem letzten meinst verstehe ich auch nicht so ganz.
littlecrow
Gast

User Pic

# 04.03.2009 - 16:33:26
    zitieren



hi mairu,

zu eins hab deines versucht und es zeigt leider nur das standart avatar an leider nicht mehr das vom user selbst und wenn ich das richtig verstanden hab, hab auch mehrere varianten probiert.

 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
  <?php
//Avatar prüfen und ggf. anzeigen
if (loggedin ())  {
    if (
file_exists($row->avatar)) {
        
$avatar $row->avatar// avatar 
    
} else {
        
$avatar 'include/images/avatars/standard.jpg'//noavatar
    
}
} else {
    
$avatar 'include/images/avatars/gast.png';
}
$avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>';
?>


und daher habe ich nach einer lösung gesucht.

zu 2.

da habe gib es nur die funktion avatar und gast und ich hätte gerne auch ein noavatar funktion

 Php
1:
2:
3:
  <?php
 $row
->avatar = (file_exists($row->avatar) ? '<img src="'.$row->avatar.'"  border="0" width="50" height="63"/>' '<img src="include/images/avatars/gast.png"  border="0" width="50" height="63"/>');
?>


mfg littlecrow

ps: danke fürs helfen Zwinker
Mairu
Administrator

User Pic

Posts: 1908
# 04.03.2009 - 17:57:25
    zitieren



Also das muss gehen, in der Datanbank steht der komplette Pfad, also mit include etc.
und den kann man direkt als src von einem img nehmen, und nix anderes habe ich gemacht.

Und beim 2. kannst du doch das gleiche benutzen wie beim ersten, nur das es am Ende in $row->avatar statt $avatar landen muss.
Also als letzte Zeile dann halt
 Php
1:
  $row->avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>'
liitlecrow
Gast

User Pic

# 06.03.2009 - 11:46:58
    zitieren



hi mairu,

habs noch nicht geschafft aber trotzdem danke fürs helfen Smilie

mfg littlecrow
Mairu
Administrator

User Pic

Posts: 1908
# 06.03.2009 - 14:18:10
    zitieren



Naja wie immer, ich kanns auch machen, dafür wird halt FTP etc benötigt, kann bei dir eigentlich nicht lange dauern, weil ich ja nur meinen Code reinkopieren muss Zwinker
littlecrow
Gast

User Pic

# 07.03.2009 - 05:51:46
    zitieren



hi mairu,

mal ne frage wie schaut dann der code aus wenn man das mit dem if (loggedin ()) { wegläst.

 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
  <?php
if (loggedin ())  {
    if (
file_exists($row->avatar)) {
        
$avatar $row->avatar// avatar 
    
} else {
        
$avatar 'include/images/avatars/standard.jpg'//noavatar
    
}
} else {
    
$avatar 'include/images/avatars/gast.png';
}
$avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>';
?>


habs probiert aber ich raff das nicht mehr wie ich es mache es ist falsch,

mfg littlecrow
Mairu
Administrator

User Pic

Posts: 1908
# 07.03.2009 - 12:20:08
    zitieren



Ich weiß nicht worauf du hinauswillst, was soll es bringen das wegzulassen?

Hast du ggf. auch nen Link zu der Seite oder machst du alles lokal?
littlecrow
Grünschnabel

User Pic

Posts: 5
# 02.01.2010 - 08:09:51
    zitieren



hi mairu,

da bräuchte ich bitte deine hilfe nochmal ganz verstehe ich das nicht wie du das meinst.

 Php
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:
71:
72:
73:
74:
75:
  <?php

#   Copyright by Manuel
#   Support www.ilch.de

defined ('main') or die ( 'no direct access' );

//IP und zeit ausgeben
  
$shoutbox_VALUE_name2 getenv("REMOTE_ADDR");
  
$datum=date("j.n.Y");
  
$zeit=date(" H:i ");

//Nickname oder Authname
  
if ( loggedin() ) {
    
$shoutbox_VALUE_name $_SESSION['authname'];
  } else {
    
$shoutbox_VALUE_name 'Nickname';
  }
  
//Avatar prüfen und ggf. anzeigen
if (loggedin ())  {
    if (
file_exists($row->avatar)) {
        
$avatar $row->avatar// $row->avatar sollte den Pfad zum Bild enthalten
    
} else {
        
$avatar 'include/images/avatars/noavatar.jpg';
    }
} else {
    
$avatar 'include/images/avatars/gast.png';
}
$avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>'


  if ( !empty(
$_POST['shoutbox_submit']) AND chk_antispam ('shoutbox')) {
  
$insert true;
    if (!
loggedin()) {
    
$shoutbox_nickname escape($_POST['shoutbox_nickname'],'string');
       
$shoutbox_nickname substr($shoutbox_nickname015);
  if (
db_count_query("SELECT COUNT(*) FROM prefix_user WHERE name LIKE '%$shoutbox_nickname%'") > 0) {
            
$insert false;
            echo 
'<center><font color="#ff0000">Benutzen sie einen anderen Namen, dieser ist bereits vergeben.</font></center><br />';
        }
    } else {
    
$shoutbox_nickname escape($_SESSION['authname'],'string');
    }
          
$shoutbox_textarea escape($_POST['shoutbox_textarea'],'textarea');
         
$shoutbox_textarea preg_replace("/\[.?(url|b|i|u|img|code|quote)[^\]]*?\]/i","",$shoutbox_textarea);
      
$shoutbox_textarea strip_tags($shoutbox_textarea);
    if ( !empty(
$shoutbox_nickname) AND !empty($shoutbox_textarea) AND $insert) {
        
db_query('INSERT INTO `prefix_shoutbox` (`nickname`,`textarea`,`time`) VALUES ( "'.$shoutbox_nickname.'" , "'.$shoutbox_textarea.'", '.time().' ) ' );
      }
  }

  if (
has_right($allgAr['sb_recht'])) {

  echo 
'<form action="index.php?'.$menu->get_complete().'" method="POST" name="shoutbox">';
  echo 
'<center>Heute ist der '.$datum.' <br />um '.$zeit.' Uhr<br />Deine IP:<b> '.$shoutbox_VALUE_name2.'</center>';
  echo 
''.$avatar.'<br><input type="text" size="15" name="shoutbox_nickname" value="'.$shoutbox_VALUE_name.'" onFocus="if (value == \''.$shoutbox_VALUE_name.'\') {value = \'\'}" onBlur="if (value == \'\') {value = \''.$shoutbox_VALUE_name.'\'}" maxlength="15">';
  echo 
'<br /><textarea style="width: 80%" cols="15" rows="2" name="shoutbox_textarea"></textarea><br />';
        echo 
'<br>';
      echo 
get_antispam ('shoutbox'0);
  echo 
'<input type="submit" value="'.$lang['formsub'].'" name="shoutbox_submit">';
    echo 
'</form>';
  }
  echo 
'<table width="90%" class="border" cellpadding="2" cellspacing="1" border="0">';
       
$erg db_query('SELECT `prefix_shoutbox`.*, `prefix_user`.avatar FROM `prefix_shoutbox` LEFT JOIN `prefix_user` ON `prefix_user`.name =  `prefix_shoutbox`.nickname ORDER BY id DESC LIMIT '.(is_numeric($allgAr['sb_limit'])?$allgAr['sb_limit']:5));
    
$class 'Cnorm';
  while (
$row db_fetch_object($erg) ) {
      
$class = ( $class == 'Cmite' 'Cnorm' 'Cmite' );
         
$time is_null($row->time) ? '<br />' '<br /><em style="font-size:0.9em;">'.date('d.m.y - H:i',$row->time).' Uhr</em><br />';
         
$row->avatar '<img src="'.$avatar.'" border="0" width="50" height="63"/>';
    echo 
'<tr class="'.$class.'"><td><b>'.$row->avatar.' '.$row->nickname.': '.$time.'</b> '.preg_replace'/([^\s]{'.$allgAr['sb_maxwordlength'].'})(?=[^\s])/'"$1\n"bbcode($row->textarea)).'</td></tr>';
  }
  echo 
'</table><a class="box" href="index.php?shoutbox">'.$lang['archiv'].'</a>';

?>


es würde mich freuen wenn du dabei mir helfen kannst.

mfg littlecrow
Mairu
Administrator

User Pic

Posts: 1908
# 03.01.2010 - 10:23:45
    zitieren



Naja das Avatar muss natürlich auch aus der Datenbank ausgelesen werden, das machst du ja sogar schon, dann muss natürlich aber auch der Avatar nicht vorher irgendwo geprüft werden, sondern immer in der Schleife, wo der Eintrag ausgegeben wird.

 Php
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:
  <?php
// Copyright by Manuel
// Support www.ilch.de
defined ('main') or die ('no direct access');
// IP und zeit ausgeben
$shoutbox_VALUE_name2 getenv("REMOTE_ADDR");
$datum date("j.n.Y");
$zeit date(" H:i ");
// Nickname oder Authname
if (loggedin()) {
    
$shoutbox_VALUE_name $_SESSION['authname'];
} else {
    
$shoutbox_VALUE_name 'Nickname';
}

if (!empty(
$_POST['shoutbox_submit']) AND chk_antispam ('shoutbox')) {
    
$insert true;
    if (!
loggedin()) {
        
$shoutbox_nickname escape($_POST['shoutbox_nickname'], 'string');
        
$shoutbox_nickname substr($shoutbox_nickname015);
        if (
db_count_query("SELECT COUNT(*) FROM prefix_user WHERE name LIKE '%$shoutbox_nickname%'") > 0) {
            
$insert false;
            echo 
'<center><font color="#ff0000">Benutzen sie einen anderen Namen, dieser ist bereits vergeben.</font></center><br />';
        }
    } else {
        
$shoutbox_nickname escape($_SESSION['authname'], 'string');
    }
    
$shoutbox_textarea escape($_POST['shoutbox_textarea'], 'textarea');
    
$shoutbox_textarea preg_replace("/\[.?(url|b|i|u|img|code|quote)[^\]]*?\]/i"""$shoutbox_textarea);
    
$shoutbox_textarea strip_tags($shoutbox_textarea);
    if (!empty(
$shoutbox_nickname) AND !empty($shoutbox_textarea) AND $insert) {
        
db_query('INSERT INTO `prefix_shoutbox` (`nickname`,`textarea`,`time`) VALUES ( "' $shoutbox_nickname '" , "' $shoutbox_textarea '", ' time() . ' ) ');
    }
}

if (
has_right($allgAr['sb_recht'])) {
    echo 
'<form action="index.php?' $menu->get_complete() . '" method="POST" name="shoutbox">';
    echo 
'<center>Heute ist der ' $datum ' <br />um ' $zeit ' Uhr<br />Deine IP:<b> ' $shoutbox_VALUE_name2 '</center>';
    echo 
'' $avatar '<br><input type="text" size="15" name="shoutbox_nickname" value="' $shoutbox_VALUE_name '" onFocus="if (value == \'' $shoutbox_VALUE_name '\') {value = \'\'}" onBlur="if (value == \'\') {value = \'' $shoutbox_VALUE_name '\'}" maxlength="15">';
    echo 
'<br /><textarea style="width: 80%" cols="15" rows="2" name="shoutbox_textarea"></textarea><br />';
    echo 
'<br>';
    echo 
get_antispam ('shoutbox'0);
    echo 
'<input type="submit" value="' $lang['formsub'] . '" name="shoutbox_submit">';
    echo 
'</form>';
}
echo 
'<table width="90%" class="border" cellpadding="2" cellspacing="1" border="0">';
$erg db_query('SELECT `prefix_shoutbox`.*, `prefix_user`.avatar FROM `prefix_shoutbox` LEFT JOIN `prefix_user` ON `prefix_user`.name =  `prefix_shoutbox`.nickname ORDER BY id DESC LIMIT ' . (is_numeric($allgAr['sb_limit'])?$allgAr['sb_limit']:5));
$class 'Cnorm';
while (
$row db_fetch_object($erg)) { 
    
// Avatar prüfen und ggf. anzeigen
    
if (loggedin ()) {
        if (
file_exists($row->avatar)) {
            
$avatar $row->avatar// $row->avatar sollte den Pfad zum Bild enthalten
        
} else {
            
$avatar 'include/images/avatars/noavatar.jpg';
        }
    } else {
        
$avatar 'include/images/avatars/gast.png';
    }
    
$avatar '<img src="' $avatar '" border="0" width="50" height="63"/>';
    
$class = ($class == 'Cmite' 'Cnorm' 'Cmite');
    
$time is_null($row->time) ? '<br />' '<br /><em style="font-size:0.9em;">' date('d.m.y - H:i'$row->time) . ' Uhr</em><br />';
    echo 
'<tr class="' $class '"><td><b>' $avatar ' ' $row->nickname ': ' $time '</b> ' preg_replace('/([^\s]{' $allgAr['sb_maxwordlength'] . '})(?=[^\s])/'"$1\n"bbcode($row->textarea)) . '</td></tr>';
}
echo 
'</table><a class="box" href="index.php?shoutbox">' $lang['archiv'] . '</a>';

?>



Zuletzt modifiziert von Mairu am 03.01.2010 - 10:25:55
littlecrow
Grünschnabel

User Pic

Posts: 5
# 03.01.2010 - 12:35:01
    zitieren



hi mairu,

erstmal vielen dank fürs helfen,

kann man das auch so schreiben das man :

von User bis Admin sein Avatar hat oder wenn man keins hat dann ein No Avatar erscheint,
und als Gast immer ein Gast Avatar hat und das die Avatare immer angezeigt werden egal ob man eingeloggt ist oder nicht.

mfg littlecrow
littlecrow
Grünschnabel

User Pic

Posts: 5
# 04.01.2010 - 11:02:32
    zitieren



hi mairu,

hat sich erledigt , wiedermal zu kompliziert gedacht :-)

aber danke für deine hilfe

mfg littlecrow