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 .
    http://hallophp.de

    Kommentar


    • #3
      Rufst Du überhaupt die Funktion auf?
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      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?
            http://hallophp.de

            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.
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


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

                  Kommentar

                  Lädt...
                  X