Bilder begrenzen

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

  • Bilder begrenzen

    Auf meiner HP können registrierte User Bilder hochladen, die Pfade speichere ich in einer Datenbank ab. Jetzt möchte ich gerne die Anzahl der Bilde begrenzen. So das man max. 10 Bilder hochladen kann. Weiß jemand wie das geht? Hier mal das Uploadscript, da ich denke das die abfrage ja hier statt finden muss.

    PHP-Code:
    <?
    include("../module/verb.inc");
    if($was=="doit")
    {
      $size = $bild_size; // Größe der Datei
      $name = $bild_name; // Der Originalname
      srand ((double)microtime()*1000000);
      $randval = rand(10000,99999);
      if(eregi("(jpg|gif)$",$name))
      {
        if($ftype == "image/gif")
        {
          $name = $UserName.$randval.".gif"; // hier müsste jetzt der vorher irgendwie erstellte name hin denke ich
        }
        else
        {
          $name = $UserName.$randval.".jpg"; // hier müsste jetzt der vorher irgendwie erstellte name hin denke ich
        }
        if($size<32700 AND $size!=0)
        {
          copy($bild,"../mitglieder/$name");
          echo "Die Datei erfolgreich hochgeladen.<br>";
          echo "Größe: ".$size." Byte<br>";
          echo "Name: ".$name."<br>";
          echo "MIME-Type: ".$type."<br>";
          #
          $Query  = "INSERT INTO User_Bilder ( UserId, BildName, kommentar ) VALUES ( '$UserId', '$name', '$kommentar')";
          $Result = mysql_query($Query)
          or print "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";
          #
        }
        else
        {
          echo "Ihre Datei ist über 30 KB oder gleich 0";
        }
      }
      else
      {
        echo "Falsche Erweiterung: ".$name;
      }


    }
    else
    {
      echo "Upload<p>\n";
      echo "<form action='".$PHP_SELF."' enctype=\"multipart/form-data\" method='post'>";
      echo "<input type='hidden' name='was' value='doit'>";
      echo "<table>";
      echo "<tr>";
      echo "<td>Datei</td>";
      echo "<td><input type='file' name='bild'></td>";
      echo "</tr><tr>";
      echo "<td><textarea type'tex' name='kommentar'></textarea></td>";
      echo "</tr><tr>";
      echo "<td><input type='submit' value='Hochladen'></td>";
      echo "</tr>";
      echo "</form></table>";
    }
    ?>
    Wenn mir jemand weiterhelfen könnte wäre ich dankbar

  • #2
    Lies doch das Mitgliederverzeichnis in dem du die Bilder speichers aus und schaue ob dort schon 10 Dateien drin liegen. Wenn ja dann lass kein Upload zu. Dabei ist aber zu beachten, das du die Verzeichnisse . und .. nicht mitliest.
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      An sich wäre das das beste, da ich aber wegen problemen mit den Mitgliederordnern alle Bilder nur noch in ein verzeichnis speichere muss isch wohl irgendwie mit den daten aus der datenbank vorlieb nehm,en. Theoretisch wüsste ich auch wie, nämlich die tabelle öffnen wo ich die bildnamen speichere und da schauen ob von user x bereits 10 bilder drinn sind oder nicht, aber ich weiß niocht wie der code lauten muss

      Kommentar


      • #4
        Wie sieht deine Tabellenstrukur aus???
        mfg
        Günni


        Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
        Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
        Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
        City-Tiger - Online durch die Straßen tigern...

        Kommentar


        • #5
          PHP-Code:
          #
          # Tabellenstruktur für Tabelle `User_Bilder`
          #

          CREATE TABLE User_Bilder (
            
          BildId int(11NOT NULL auto_increment,
            
          UserId int(11NOT NULL default '0',
            
          BildName varchar(60) default NULL,
            
          kommentar text NOT NULL,
            
          PRIMARY KEY  (BildId)
          TYPE=MyISAM
          Das ist se

          Kommentar


          • #6
            Hier die SQL Abfrage:
            PHP-Code:
            $result mysql_query("SELECT COUNT(UserId) from User_Bilder"); 
            mfg
            Günni


            Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
            Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
            Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
            City-Tiger - Online durch die Straßen tigern...

            Kommentar


            • #7
              Ich glaub ich bin zu blöd!!!
              Das klappt net
              Die Variable $UserId bekomm ich von ner Session

              PHP-Code:
              <?
              include("../module/verb.inc");
              if($was=="doit")
              {
                $result = mysql_query("SELECT COUNT(UserId) from User_Bilder WHERE UserID = '$UserID'"); //Test ob 10 Bilder
                if($result >= 10)
                {
                  echo "Du Hast bereits 10 Bilder hochgeladen. Wenn du weitere möchtest, musst du zuerst welche löschen =)\n";
                }
                else
                {
                $size = $bild_size; // Größe der Datei
                $name = $bild_name; // Der Originalname
                srand ((double)microtime()*1000000);
                $randval = rand(10000,99999);
                if(eregi("(jpg|gif)$",$name))
                {
                  if($ftype == "image/gif")
                  {
                    $name = $UserName.$randval.".gif"; // hier müsste jetzt der vorher irgendwie erstellte name hin denke ich
                  }
                  else
                  {
                    $name = $UserName.$randval.".jpg"; // hier müsste jetzt der vorher irgendwie erstellte name hin denke ich
                  }
                  if($size<32700 AND $size!=0)
                  {
                    copy($bild,"../mitglieder/$name");
                    echo "Die Datei erfolgreich hochgeladen.<br>";
                    echo "Größe: ".$size." Byte<br>";
                    echo "Name: ".$name."<br>";
                    echo "MIME-Type: ".$type."<br>";
                    #
                    $Query  = "INSERT INTO User_Bilder ( UserId, BildName, kommentar ) VALUES ( '$UserId', '$name', '$kommentar')";
                    $Result = mysql_query($Query)
                    or print "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";
                    #
                  }
                  else
                  {
                    echo "Ihre Datei ist über 30 KB oder gleich 0";
                  }
                }
                else
                {
                  echo "Falsche Erweiterung: ".$name;
                }
                }


              }
              else
              {
                echo "Upload<p>\n";
                echo "<form action='".$PHP_SELF."' enctype=\"multipart/form-data\" method='post'>";
                echo "<input type='hidden' name='was' value='doit'>";
                echo "<table>";
                echo "<tr>";
                echo "<td>Datei</td>";
                echo "<td><input type='file' name='bild'></td>";
                echo "</tr><tr>";
                echo "<td><textarea type'tex' name='kommentar'></textarea></td>";
                echo "</tr><tr>";
                echo "<td><input type='submit' value='Hochladen'></td>";
                echo "</tr>";
                echo "</form></table>";
              }
              ?>

              Kommentar


              • #8
                Halt, war noch ein kleiner Fehler bei mir drin.
                Muss heissen:
                PHP-Code:
                $result mysql_query("SELECT COUNT(UserId) from User_Bilder where UserId='$UserId'); 
                Sorry, war mein Fehler.
                mfg
                Günni


                Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                City-Tiger - Online durch die Straßen tigern...

                Kommentar


                • #9
                  habs geändert, aber er läd immer noch hoch. Wo liegt da das Problem?

                  Kommentar


                  • #10
                    hast du scriptmäßig abgesichert?
                    nicht das du nur überprüft und script is trotzdem noch ausführbar.
                    übersieht man öfter, wiel man zu komplex denkt
                    Seien wir realistisch, versuchen wir das unmögliche. - Chè Guavara

                    Kommentar


                    • #11
                      siehe oben, hab ne if abfrage gemacht, *grübel*

                      Kommentar


                      • #12
                        Könntest du vielleicht nochmal den kompletten Code ausgeben??? Wäre vielleicht sehr hilfreich...
                        mfg
                        Günni


                        Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                        Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                        Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                        City-Tiger - Online durch die Straßen tigern...

                        Kommentar


                        • #13
                          PHP-Code:
                          <?
                          include("../module/verb.inc");
                          if($was=="doit")
                          {
                            $result = mysql_query("SELECT COUNT(UserId) from User_Bilder where UserId='$UserId');
                            if($result >= 10)
                            {
                              echo "Du Hast bereits 10 Bilder hochgeladen. Wenn du weitere möchtest, musst du zuerst welche löschen =)\n";
                            }
                            else
                            {
                            $size = $bild_size; // Größe der Datei
                            $name = $bild_name; // Der Originalname
                            srand ((double)microtime()*1000000);
                            $randval = rand(10000,99999);
                            if(eregi("(jpg|gif)$",$name))
                            {
                              if($ftype == "image/gif")
                              {
                                $name = $UserName.$randval.".gif"; // hier müsste jetzt der vorher irgendwie erstellte name hin denke ich
                              }
                              else
                              {
                                $name = $UserName.$randval.".jpg"; // hier müsste jetzt der vorher irgendwie erstellte name hin denke ich
                              }
                              if($size<32700 AND $size!=0)
                              {
                                copy($bild,"../mitglieder/$name");
                                echo "Die Datei erfolgreich hochgeladen.<br>";
                                echo "Größe: ".$size." Byte<br>";
                                echo "Name: ".$name."<br>";
                                echo "MIME-Type: ".$type."<br>";
                                #
                                $Query  = "INSERT INTO User_Bilder ( UserId, BildName, kommentar ) VALUES ( '$UserId', '$name', '$kommentar')";
                                $Result = mysql_query($Query)
                                or print "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";
                                #
                              }
                              else
                              {
                                echo "Ihre Datei ist über 30 KB oder gleich 0";
                              }
                            }
                            else
                            {
                              echo "Falsche Erweiterung: ".$name;
                            }
                            }


                          }
                          else
                          {
                            echo "Upload<p>\n";
                            echo "<form action='".$PHP_SELF."' enctype=\"multipart/form-data\" method='post'>";
                            echo "<input type='hidden' name='was' value='doit'>";
                            echo "<table>";
                            echo "<tr>";
                            echo "<td>Datei</td>";
                            echo "<td><input type='file' name='bild'></td>";
                            echo "</tr><tr>";
                            echo "<td><textarea type'tex' name='kommentar'></textarea></td>";
                            echo "</tr><tr>";
                            echo "<td><input type='submit' value='Hochladen'></td>";
                            echo "</tr>";
                            echo "</form></table>";
                          }
                          ?>

                          Kommentar


                          • #14
                            Versuch mal das:
                            PHP-Code:
                            if($result >= 10)
                              {
                                echo 
                            "Du Hast bereits 10 Bilder hochgeladen. Wenn du weitere möchtest, musst du zuerst welche löschen =)n";
                            exit;
                              } 
                            mfg
                            Günni


                            Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                            Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                            Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                            City-Tiger - Online durch die Straßen tigern...

                            Kommentar


                            • #15
                              du hast
                              $zeile = mysql_fetch_array($result);
                              vergessen

                              PHP-Code:
                              .
                              .
                              .
                              $result mysql_query("SELECT COUNT(UserId) BILDERZAHL from User_Bilder where UserId='".$UserId."'");
                              $zeile mysql_fetch_array($result);
                                if(
                              $zeile["BILDERZAHL"] > 10)
                                {
                                  echo 
                              "Du Hast bereits 10 Bilder hochgeladen. Wenn du weitere möchtest, musst du zuerst welche löschen =)n";
                                }
                                else
                                {
                              .
                              .

                              EDIT:
                              und der query string war nicht zu
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X