Ankündigung

Einklappen
Keine Ankündigung bisher.

Dynamische snap aus der Datenbank

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dynamische snap aus der Datenbank

    Hallo zusamen,

    Beim starten meine Webseite wird versucht die UserProfiles (Bild) mit deren Bildern anzuzeigen. Nun Habe ich auf der Startseite mehrere UserProfile ~10 die ausgegeben werden müßen. Bei misservolg, d.h. wenn dieses UserID auf der Datenbank nicht gefunden wurde, wird eine Stadard .JPG für Männliche und für weibliche User angezeigt.

    Für die Anzeige der UserProfile (Bild) wird versucht auf eine .php-datei die jeweiligen UserID auf der Datenbank abzufragen. Hinter jeden UserID liegt auf deren "Bild".

    Mein Problem ist nun, dass ich nur für den ersten UserProfile den Bild auf der Startseite angezeit bekomme.

    Ich gehe davon aus dass es an der Datei liegt wo es auch die Abfragen auf der Datenbank macht.

    Die UserID kommen über die Startseite. Dabei ist die Startseite eine .HTML-seite wo die jeweiligen UserID über die Methode Post an diese Php-Datei (Siehe CODE) übergeben werden.

    Hier die mal den CODE für de Abfrage:

    PHP-Code:
    <?php
    if ( !defined'SMARTY_DIR' ) ) {
      include_once( 
    'init.php' );
    }
     
      if( (int)
    $_GET['id'] <= ) {
      
    $userid $_SESSION['UserId']; }
      else {
        
    $userid $_GET['id']; }

     
      if (!isset(
    $_GET['picid'])) {
     
      
    $piccnt $db->getAll('select picno from ! where userid = ? and ( album_id is null or album_id = ?)',array(USER_SNAP_TABLE$userid,'0' ) );
     
      
    $picid $piccnt[array_rand($piccnt)]['picno'];

      
    $album_id ''; }
      else {
      
    $picid $_GET['picid']; }
        
    $typ = ( $_GET['typ'] ) ? $_GET['typ'] : 'pic' ;
        
    $sql 'select gender from ! where id = ?';
        
    $gender $db->getOne$sql, array( USER_TABLE$userid ) ) ;
        
    $cond '';

      if ( 
    $config['snaps_require_approval'] == 'Y' && $userid != $_SESSION['UserId'] )
      {
      
    $cond " and active = 'Y' ";
      }

      if (
    $_GET['album_id'] != "")
      {
      
    $cond.= " and album_id = '".$_GET['album_id']."' ";
      }
     
      if (
    $typ == 'tn') {
      
    $sql 'select tnpicture as picture, active, tnext as ext, album_id  from ! where userid = ? and picno = ? '.$cond; }
      else {
         
    $sql 'select picture, active, picext as ext, album_id from ! where userid = ? and picno = ? '.$cond;
         }

      
    $row $db->getRow $sql, array( USER_SNAP_TABLE$userid$picid ) );

      if (
    substr_count($row['picture'],'file:') > 0) {
        
    $img file_get_contents(ltrim(rtrim(str_replace('file:',USER_IMAGE_DIR,$row['picture']) ) ) ); }
      else {
        
    $img base64_decode $row['picture']  );
          }

      if ( 
    $row['picture'] != '' && ( ( hasRight('seepictureprofile') && ( $config['snaps_require_approval'] == 'Y' && $row['active'] == 'Y'  ) || $config['snaps_require_approval'] == 'N' ) || $userid == $_SESSION['UserId']  ) ) {

      
    Header("Cache-Control: must-revalidate");
      
    $ExpStr "Expires: " gmdate("D, d M Y H:i:s"time() - 30) . " GMT";
      
    Header($ExpStr);
      
    $img imagecreatefromstring($img);
      
    $w imagesx$img );
      
    $h imagesy$img );
      
    $wdth = ($_GET['width']!='')?$_GET['width']:$w;
      
    $hght = ($_GET['height']!='')?$_GET['height']:$h;

      if (
    $typ == 'pic' and ( $wdth $w or $hght $h) )
      {
        if( 
    $w $h )
        {
          
    $ratio $w $h;
          
    $nw $wdth;
          
    $nh $nw $ratio;
        }
        else
        {
          
    $ratio $h $w;
          
    $nh $hght;
          
    $nw $nh /$ratio;
        }

        
    $img2 imagecreatetruecolor$nw$nh );
        
    imagecopyresampled $img2$img000$nw$nh$w$h );
        
    $image_height=$nh;
        
    $image_width=$nw;

      }
      else
      {
        if (
    $wdth $w$wdth $w;
        if (
    $hght $h$hght $h;
        
    $img2 imagecreatetruecolor$wdth$hght );
        
    imagecopyresampled $img2$img000$wdth$hght$w$h );
        
    $image_height=$hght;
        
    $image_width=$wdth;
      }
      
    imagedestroy($img);
      if ( 
    $config['watermark_snaps'] != ''  ){
        
    Define('WATERMARK_TEXT_FONT''1');
        
    Define('TEXT_SHADOW'$config['watermark_text_shadow']);
        
    Define('TEXT_COLOR'$config['watermark_text_color']);
        
    Define('WATERMARK_ALIGN_H'$config['watermark_position_h']);
        
    Define('WATERMARK_ALIGN_V'$config['watermark_position_v']);
        
    Define('WATERMARK_MARGIN'$config['watermark_margin']);
        
    Define('WATERMARK_TEXT'$config['watermark_snaps']);

        
    $color eregi_replace("#",""TEXT_COLOR);
        
    $red hexdec(substr($color,0,2));
        
    $green hexdec(substr($color,2,2));
        
    $blue hexdec(substr($color,4,2));

        
    $text_color imagecolorallocate ($img2$red$green$blue);

        
    $text_height=imagefontheight(WATERMARK_TEXT_FONT);
        
    $text_width=strlen(WATERMARK_TEXT)*imagefontwidth(WATERMARK_TEXT_FONT);
        
    $wt_y=WATERMARK_MARGIN;
        if (
    WATERMARK_ALIGN_V=='top') {
          
    $wt_y=WATERMARK_MARGIN;
        } elseif (
    WATERMARK_ALIGN_V=='bottom') {
          
    $wt_y=$image_height-$text_height-WATERMARK_MARGIN;
        } elseif (
    WATERMARK_ALIGN_V=='center') {
          
    $wt_y=(int)($image_height/2-$text_height/2);
        }

        
    $wt_x=WATERMARK_MARGIN;
        if (
    WATERMARK_ALIGN_H=='left') {
          
    $wt_x=WATERMARK_MARGIN;
        } elseif (
    WATERMARK_ALIGN_H=='right') {
          
    $wt_x=$image_width-$text_width-WATERMARK_MARGIN;
        } elseif (
    WATERMARK_ALIGN_H=='center') {
          
    $wt_x=(int)($image_width/2-$text_width/2);
        }

        if (
    TEXT_SHADOW=='1') {
          
    imagestring($img2WATERMARK_TEXT_FONT$wt_x+1$wt_y+1WATERMARK_TEXT0);
        }
        
    imagestring($img2WATERMARK_TEXT_FONT$wt_x$wt_yWATERMARK_TEXT$text_color);
      }

    } else {

      if (
    $gender == 'M') {
        
    $nopic './images/male.jpg';
      } elseif (
    $gender == 'F') {
        
    $nopic './images/female.jpg';
      } elseif (
    $gender == 'C') {
        
    $nopic './images/couple.jpg';
      }

      
    $img2 imagecreatefromjpeg($nopic);
    }

    if (
    $_SESSION['browser'] != 'MSIE') {

      
    header("Content-Type: image/jpg");

      
    header("Content-Disposition: inline" );
    }

    imagejpeg($img2);
    imagedestroy($img2);

    ?>
    <HTML>
    <BODY  STYLE="background-color:transparent">
    <p>Transparent.</p>
    </BODY>
    </HTML>

  • #2
    Und hast Du eine konkrete Frage dazu?

    Kommentar


    • #3
      hallo David,

      ja habe ich. Nur der erste UserProfile wird ausgegeben die restlichen nicht

      hier nochmal die webseite zum anschauen um zu wissen was ich wirklich damit meine

      Live In 2

      Kommentar


      • #4
        Das ist immer noch keine Frage, geschweige denn eine konkrete Frage.

        Kommentar


        • #5
          Die anderen Userpics können nicht angezeigt werden.
          Woran liegt es?

          Kommentar


          • #6
            Das liegt daran, dass das Skript nicht dafür vorgesehen ist und umprogrammiert werden muss.

            Kommentar


            • #7
              ich hab nun den Code hier ausgegeben ...
              kannst du mir evtl. sagen wo was nicht stimmen könnte?
              Immerhin funktioniert die Ausgabe eines Userprofiles

              Kommentar


              • #8
                Zitat von handeglo Beitrag anzeigen
                Immerhin funktioniert die Ausgabe eines Userprofiles
                Dafür ist der Code ja auch vorgesehen.


                Wenn Du möchtest, dass Dir das jemand macht, versuch es doch einfach mal in Scriptbörse - php.de oder vielleicht sogar Ich biete eine Stelle an - php.de

                Kommentar


                • #9
                  Funktioniert doch fast alles.
                  Ich dachte ich habe hier einen kleinen Fehler gemacht und hier kann mir geholfen werden. Ich hab es bis hierhin geschafft und möchte dafür kein Geld ausgeben, dass es ein andere macht um ehrlich zu sein. Ich bin ein programmiere und muss dementsprechend auch mit solchen fällen rechnen.
                  Ich weiss auch nicht alles

                  Aber Danke dir auch wenn ich jetzt anfangen muss den Fehler zu suchen !

                  Kommentar


                  • #10
                    Aber Danke dir auch wenn ich jetzt anfangen muss den Fehler zu suchen !
                    In diesem Forum gibt es leider nichts umsonst...

                    Kommentar

                    Lädt...
                    X