ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Flaggen ausgabe ohne Endung

Geschlossen
  1. #1
    User Pic
    IRvD Mitglied
    Registriert seit
    30.03.2010
    Beiträge
    460
    Beitragswertungen
    31 Beitragspunkte
    Nabend zusammen,

    Ich wollte vorhin neue Profilfelder hinzufügen. Sind soweit auch Funktionsfähig. Habe nur noch ein kleinen Anzeigefehler.
    gesperrtes Bild

    Das .jpg dahinter soll weg zunge Ich check aber nicht wie

    Folgende Dinge habe ich bisher gemacht:

        $erg = db_query($abf);
        if ( db_num_rows($erg) > 0 ) {
          $row = db_fetch_assoc($erg);
            $tpl = new tpl ('user/profil_edit');
    
      $row['char1'] = '<option></option>'.arliste ( $row['char1'] , get_char1_array() , $tpl , 'char1' );
      
      db_query("UPDATE prefix_user
    	SET
    	  char1 = '".escape($_POST['char1'], 'string')."',
    	  WHERE id = ".$_SESSION['authid']
          );


    
    if(!empty($row['char1'])){
    		$char1 = "<img src=\"include/images/profilmod/char/".$row['char1']."\" height=\"20\" border=\"0\" align=\"absmiddle\" /> ".$row['char1']."";
    	} else {
    		$char1 = "<span style=\"font-size:9px\"><i>Keine Angabe</i></span>";
    	}

    function profilefields_show_spez_char1 ($value,$uid) {
      global $lang;
      return ( profilefields_show_echo_standart ( $lang['char3'], ((!empty($value) AND file_exists('include/images/profilmod/char/'.$value))?'<img src="include/images/profilmod/char/'.$value.'" alt="'.$value.'" title="'.$value.'" />':'') ) );
    }
    
    function get_char1_array () {
      $ar = array(); 
      $br = array();
        $o = opendir ( 'include/images/profilmod/char' );
        while ( $f = readdir ( $o ) ) {
          if ( $f != '.' AND $f != '..' ) {
              $ar[$f] = $f;
    		  $ar[$f] = preg_replace("/.jpg/","",$ar[$f]);
    
            }
        }
        asort ($ar);
        $ar = array_merge ( $br, $ar );
        return ( $ar );
    }


    Bei der Profil editieren Ansicht im <option> Ist die Endung der Datei weg, leider aber nicht bei den Userdetails wenn es ausgegeben wird.

    Denke das ich für manche nur Kinderkacke den Fehler zu finden xD


    verwendete ilch Version: 1.1 P

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    blackcoder Entwickler
    Registriert seit
    22.05.2014
    Beiträge
    2.414
    Beitragswertungen
    394 Beitragspunkte
    Du musst dazu die user_infos.php-Datei anpassen, welche du ja schon gefunden hast (in "include/contents/user/").

    Dies ist die Zeile, welche das Bild einfügt und halt den Dateinamen inklusive der Endung als Text anhängt ($row['char1']).
    $char1 = "<img src=\"include/images/profilmod/char/".$row['char1']."\" height=\"20\" border=\"0\" align=\"absmiddle\" /> ".$row['char1']."";

    Mit dieser Funktion, kannst du den Dateinamen ohne Dateiendung ausgeben lassen:
    us3.php.net/manual/en/function.basename.php
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    IRvD Mitglied
    Registriert seit
    30.03.2010
    Beiträge
    460
    Beitragswertungen
    31 Beitragspunkte
    Oje oje.. ob ich das versteh? Sieht etwas verwirrend aus -.-


    Zuletzt modifiziert von IRvD am 14.11.2015 - 23:21:22
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    blackcoder Entwickler
    Registriert seit
    22.05.2014
    Beiträge
    2.414
    Beitragswertungen
    394 Beitragspunkte
    Du möchtest, dass das Bild kommt und dahinter "Gladiator" anstatt "Gladiator.jpg". Genau das habe ich gerade erklärt. lachen
    1 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    IRvD Mitglied
    Registriert seit
    30.03.2010
    Beiträge
    460
    Beitragswertungen
    31 Beitragspunkte
    Bin eher Copy/Paste was PHP angeht -.-
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beiträge
    1.096
    Beitragswertungen
    122 Beitragspunkte
    $char1 = "<img src=\"include/images/profilmod/char/".$row['char1']."\" height=\"20\" border=\"0\" align=\"absmiddle\" /> ".str_replace(".jpg", "",$row['char1'])."";


    Versuch mal so, hab es jetzt nicht getestet, bin nur mit dem handy unterwegs.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    blackcoder Entwickler
    Registriert seit
    22.05.2014
    Beiträge
    2.414
    Beitragswertungen
    394 Beitragspunkte
    Versuch es mal hiermit:

    $char1 = "<img src=\"include/images/profilmod/char/".$row['char1']."\" height=\"20\" border=\"0\" align=\"absmiddle\" /> ".basename($row['char1'], ".jpg")."";


    Ich habe es jetzt nicht getestet, weil ich dein Modul hier nicht habe, aber vielleicht klappt es ja schon. Bitte vorher Backup anlegen.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    IRvD Mitglied
    Registriert seit
    30.03.2010
    Beiträge
    460
    Beitragswertungen
    31 Beitragspunkte
    Genial ^^ Die Endung ist weg.. Vielen Dank.
    Beide Möglichkeiten funktionieren zwinker

    Kleine frage habe ich noch, wie könnte man es hinbekommen das ich das Bild WaldlÄufer nennen kann und es tzd angezeigt wird. Durch den Umlaut kann er das bild ja leider nicht finden.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    IRvD Mitglied
    Registriert seit
    30.03.2010
    Beiträge
    460
    Beitragswertungen
    31 Beitragspunkte
    Es tut mit wirklich leid, aber der Link bringt mich leider nicht weiter. -.-:(
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    str_replace("ae", "ä", $row['char1']);


    so?


    Zuletzt modifiziert von Siggi am 17.11.2015 - 19:18:44
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    IRvD Mitglied
    Registriert seit
    30.03.2010
    Beiträge
    460
    Beitragswertungen
    31 Beitragspunkte
    Hab jetzt folgede Fehlermeldung:
    Fatal error: Only variables can be passed by reference in /var/www/vhosts/malte-wiatrowski.de/httpdocs/include/contents/user/user_infos.php on line 219


    Habe es so eingefügt:

    if(!empty($row['char3'])){
    		$char3 = "<img src=\"include/images/profilmod/char/".$row['char3']."\" height=\"20\" border=\"0\" align=\"absmiddle\" /> 
    		".str_replace("ae", "ä" , "ue", "ü" ,"oe", "ö" ,".jpg", "", $row['char3'])."";
    	} else {
    		$char3 = "";
    	}
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Na ne so geht es nicht zwinker erste ist was er im Wort sucht, zweite was er damit ersetzt und dritte der Text


    könntest das mal probieren lachen

    $search = array("Ae", "Oe", "Ue", "ae", "oe", "ue", "ss");
    $replace = array("Ä", "Ö", "Ü", "ä", "ö", "ü", "ß");
    
    str_replace($search, $replace, $string);



    Zuletzt modifiziert von Siggi am 17.11.2015 - 19:29:26
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    IRvD Mitglied
    Registriert seit
    30.03.2010
    Beiträge
    460
    Beitragswertungen
    31 Beitragspunkte
    Das Bild heißt auf dem FTP: Waldlaeufer.jpg
    Leider wird jetzt auch wieder die Endung angegeben.

    Code sieht jetzt so aus:
    $search = array("Ae", "Oe", "Ue", "ae", "oe", "ue", "ss", ".jpg");
    $replace = array("Ä", "Ö", "Ü", "ä", "ö", "ü", "ß", "");
     
    if(!empty($row['char3'])){
    		$char3 = "<img src=\"include/images/profilmod/char/".$row['char3']."\" height=\"20\" border=\"0\" align=\"absmiddle\" /> ".str_replace($search, $replace, $string) .$row['char3']."";
    		
    	} else {
    		$char3 = "";
    	}



    Zuletzt modifiziert von IRvD am 15.10.2020 - 09:22:22
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Hab es so getestet wenn $row['char3'] = Waldlaeufer.jpg ist?

    $string = $row['char3'];
    $search = array("Ae", "Oe", "Ue", "ae", "oe", "ue", "ss", ".jpg");
    $replace = array("Ä", "Ö", "Ü", "ä", "ö", "ü", "ß", "");
    
    if(!empty($row['char3'])){
        $char3 = "<img src=\"include/images/profilmod/char/".$row['char3']."\" height=\"20\" border=\"0\" align=\"absmiddle\" /> ".str_replace($search, $replace, $string);
    } else {
        $char3 = "";
    }
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    IRvD Mitglied
    Registriert seit
    30.03.2010
    Beiträge
    460
    Beitragswertungen
    31 Beitragspunkte
    Wunderbar!
    Nun funktioniert es zwinker
    Musste nur das $replace abändern.
    $replace = array("&Auml;", "&Ouml;", "&Uuml;", "&auml;;", "&ouml;", "&uuml;", "&szlig;", "");


    Jetzt wird es super angezeigt
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten