Ankündigung

Einklappen
Keine Ankündigung bisher.

Bild Upload

Einklappen

Neue Werbung 2019

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

  • Bild Upload

    Mahlzeit ,

    habe eine PHP Funktion die ein Bild bzw Upload überprüft und ein Formular welches die Daten vorher sendet

    Formular:
    Code:
    <form action="" method="post" enctype="multipart/form-data">
    	     <table cellpadding="4" cellspacing="0">
    		 <tr>
    		   <td>Titel</td>
    		   <td><input type="text" name="titel"></td>
    		 </tr>
    		 <tr>
    		   <td>Bild</td>
    		   <td><input type="file" name="datei" /></td>
    		 </tr>
    		 <tr>
    		   <td>&nbsp;</td>
    		   <td><input type="submit" name="submit" value="Speichern"></td>
    		 </tr>
    		 </table>
    		 </form>
    function:
    PHP-Code:
    function checkUpload_img()
    {
    $upload_verzeichnis 'upload/news_categories';
    $gueltige_dateitypen = array('image/jpeg''image/pjpeg''image/gif''image/png');
    $gueltige_dateiendungen = array('jpg''jpeg''gif''png');
    $max_imgsize 1025;
    $neuer_name rand(100000999999);
    if(isset(
    $_FILES['datei']) && $_FILES['datei']['size'] != && !$_FILES['datei']['error'])
    {
    $endung explode('.'$_FILES['datei']['name']);
    $endung strtolower($endung[sizeof($endung)-1]);
        if(!
    in_array($endung$gueltige_dateiendungen))
        {
        
    $fehler[] = 'ungültige Dateiendung ('.$endung.')';
        }
        if(!
    in_array($_FILES['datei']['type'], $gueltige_dateitypen))
        {
        
    $fehler[] = 'ungültiger Dateityp ('.$_FILES['datei']['type'].')';
        }
        if(
    $_FILES['datei']['size'] > $max_imgsize)
        {
        
    $fehler[] = 'Datei ist zu groß ('.number_format($_FILES['datei']['size']/'1024'2',''.' ).'kB statt erlaubte '.$max_imgsize/'1024'.'kB )';
        }
            if(empty(
    $fehler))
            {
                    if(
    move_uploaded_file($_FILES['datei']['tmp_name'], $upload_verzeichnis.'/'.$neuer_name.'.'.$endung))
                    {
                    
    chmod($upload_verzeichnis.'/'.$neuer_name.'.'.$endung0644);
                    
    $status 'Upload erfolgreich';
                    }
                    else
                    {
                    
    $status 'Upload nicht erfolgreich';
                    }
            }
            else
            {
            
    $status '<b>Folgende Fehler sind aufgetreten:</b><br/>';
            foreach(
    $fehler as $value)
            {
            
    $status .= $value.'<br/>';
            }
        }
    }
    return 
    $status;

    Ich bekomme außer Notice Meldung nur einen weißen Bildschirm deshalb hab ich mal eine Test-echo gemacht mit
    PHP-Code:
                echo "".$upload_verzeichnis."/".$neuer_name.".".$endung
    Ergebnis war dann >> "/. "

  • #2
    Die Fehlermeldung wäre natürlich interessant! Warum deine Variablen leer sind, solltest du leicht über sinnvolles Debugging herausfinden können.

    Btw. ein Formular ist keine Tabelle: CSS / Formulare ohne Tabellen - Homepage-Total.de .
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      Rufst Du überhaupt die Funktion auf?
      [COLOR="#F5F5FF"]--[/COLOR]
      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
      [COLOR="#F5F5FF"]
      --[/COLOR]

      Kommentar


      • #4
        Vielen Dank wegen des Links mit den labels werde ich mir merken

        Das tolle ist ja es gibt keine Fehlermeldung.... trotz E_ALL

        Notice: Undefined variable: upload_verzeichnis in /.../Devel/news_categories.php on line 44

        Notice: Undefined variable: neuer_name in /.../Devel/news_categories.php on line 44

        Notice: Undefined variable: endung in /.../Devel/news_categories.php on line 44
        /.

        Das ist alles was er anzeigt

        //Edit @ nikosch
        Ja mittels
        PHP-Code:
        $status checkUpload_img(); 

        Kommentar


        • #5
          Hab auch mal eben das mit den labels gemacht

          Code:
          <form action="" method="post" enctype="multipart/form-data">
          	     <label for="titel">Titel</label><input type="text" name="titel" id="titel"><br />
          		 <label for="datei">Bild</label><input type="file" name="datei" id="datei"/><br />
          		 <label for="submit">Aktion:</label><input type="submit" name="submit" value="Speichern" id="submit">
          		 </form>
          Nur das Problem das er die Dateien nicht hochläd besteht weiterhin.

          Kommentar


          • #6
            Wo führst du denn
            Code:
            echo "".$upload_verzeichnis."/".$neuer_name.".".$endung;
            aus? Innerhalb der Funktion?
            [URL]http://hallophp.de[/URL]

            Kommentar


            • #7
              Hi,

              um es kurz zu erklären:

              Ich habe eine news_categories.php wo am Anfang include functions.pgp, das Formular sowie normale Abfragen wie if titel == '' echo'Titel angeben' und $status = checkUpload_img(); echo "".$upload_verzeichnis."/".$neuer_name.".".$endung; drin ist.

              und in der functions.php steht halt auch die function checkUpload_img

              Kommentar


              • #8
                PHP-Code:
                echo "".$upload_verzeichnis."/".$neuer_name.".".$endung
                Tja, logisch sind die Variablen außerhalb der Funktion nicht gesetzt.
                Und
                PHP-Code:
                $status checkUpload_img(); 
                erzeugt auch keine Ausgabe.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Wie müsste es den stattdessen sein?

                  Kommentar

                  Lädt...
                  X