Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
1457
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    vexx vexx ist offline Mitglied
    Registriert seit
    Feb 2004
    Beiträge
    12
    HY Leute hab da als ein riesenproblem damit ein Formular mit dateiupload hinzubekommen. Das Formular habe ich und der Teil um die texte einzutragen funktioniert auch super auch den Dateinamen der zu uploadenden Datei kann ich in die Datenbank schreiben. Nur ich hab keine Ahnung wie ich den Upload der beiden Datein realisieren soll. Für die erste Datei habe ich es mit folgendem Script versucht:

    PHP-Code:
    if(isset($_POST['send']) && $_POST['send'] == "ja")
        {

    //Pfad zum Ordner, in dem die Datei gespeichert werden soll//
    //Pfad endet mit einem /      //
    //Dieser Ordner muss Schreibrechte besitzen (Chmod 777)//
    $uploaddir 'gamecube/';

    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $_FILES['userfile']['name'])) {
        print 
    "Datei erfolgreich hochgeladen.\n";
        echo 
    $_FILES['userfile']['name'];
        }
    else
        {
        print 
    "Fehler beim Hochladen der Datei. Fehlermeldung:\n";
        
    print_r($_FILES);
        }

        }
    else
        { 
    Hatte ich mit in folgendes Script eingebaut allerdings ohne erfolg, es kam immer die fehlermeldung unexpected $ in Line xx (letzte zeile).

    Hier ist das Script das von meinen Formular aufgerufen wird und mit dem die Daten in die Datenbank geschrieben werden. Hier wurde auf der upload teil eingebaut (ist jetzt nicht drin).

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Unbenanntes Dokument</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>

    <?php
    $db
    =mysql_connect("********","*********","***********");
    mysql_select_db("usr_db_hqcoverpage_1"$db);
    mysql_query("
      INSERT INTO covers
      (CoverName, hinzugefügt, uploader, catregory, Coverpfad, bigfile)
      VALUES
      ('$CoverName', '$datum', '$uploader', '$catregory', '$userfile', '$userfile2')
      "
    $db);
    if(
    mysql_affected_rows($db)==1)
       echo 
    "Vielen Dank f&uuml;r Ihren Eintrag!<br>",
            
    "<a href=\"index.php\">Zur&uuml;ck</a>";
    else
       echo 
    "Beim Eintragen ist ein Fehler aufgetreten.<br>
       $CoverName'<br> '$datum'<br> '$uploader'<br> '$catregory'<br> '$userfile'<br> '$userfile2'<br>"
    ,
            
    "<a href=\"javascript:history.back();\">Zur&uuml;ck</a>";

    ?>
    </body>
    </html>
    Und nun zum Schluss noch das Formular in dem die Daten eingegeben werden und die Datein gewählt werden.

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Upload Formular</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!--
    .Stil1 {
        color: #CC0000;
        font-weight: bold;
    }
    -->
    </style>
    </head>

    <body>
    <form action="email.php" method="post">
      <table width="424" border="0" cellspacing="0">
      <tr><td>&nbsp;</td>
          <td>&nbsp;</td>
    </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><html>
    <form name="form1" method="post" action="email.php">
      <table width="374" border="0" cellspacing="0">
        <tr>
          <td width="65">name</td>
          <td width="305"><input name="CoverName" type="text" id="CoverName"></td>
        </tr>
        <tr>
          <td>hinzu </td>
          <td><input name="datum" type="text" id="datum" value="<?php echo date ("Y-m-d"); ?>"></td>
        </tr>
        <tr>
          <td>uploader</td>
          <td><input name="uploader" type="text" id="uploader2"></td>
        </tr>
        <tr>
          <td>Kategrorie</td>
          <td><select name="catregory" id="select">
            <option value="xbox cover">Xbox</option>
            <option value="playstation2">Playstation 2</option>
            <option value="gamecube">GameCube</option>
            <option value="PC">PC</option>
            <option value="dvd">DVD</option>
          </select></td>
        </tr>
        <tr>
          <td>Vorschau</td>
          <td>
          <input type="file" name="userfile" />
        </td>
        </tr>
        <tr>
          <td>Bigfile</td>
          <td><input type="file" name="userfile2" /></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="Submit2" value="Senden"></td>
        </tr>
      </table>
    </form>


    </body>
    </html>
    Ich hoffe ihr könnt mir helfen das script zu vollenden hab mich schon durch zig tutorials gewälzt und zig forenbeiträge dazu gelesen ohne wäre ich nichtmals soweit gekommen
    Geändert von vexx (03.04.05 um 15:23 Uhr)
     

  2. #2
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,

    hab mir deinen Code jetzt nicht so genau angeschaut, aber mit diesem Tutorial (http://www.tutorials.de/tutorials65420.html) dürfte das ganze kein großes Problem sein.
    Geändert von forsterm (09.04.05 um 13:08 Uhr)
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  3. #3
    vexx vexx ist offline Mitglied
    Registriert seit
    Feb 2004
    Beiträge
    12
    Hab es zwar hinbekommen mir ein uploadscript zusammen zu bauen, aber es soll mit aufgerufen werden wenn vom formular der submitbutton aufgerufen wird. Das script auf das das formular zugreift schreibt alle daten und den Dateinamen in die Datenbank. Nur wenn ich das Script hier einsetzt klappt der Upload nicht mehr es wird dann der tempname und der Dateiname nicht mehr übergeben. Hier ist mal das funktionierende upload script.

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Unbenanntes Dokument</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <?php
    $tempname 
    $_FILES['file']['tmp_name'];
    $name $_FILES['file']['name']; 

    $type $_FILES['file']['type'];
    $size $_FILES['file']['size']; 

    if(
    $type != "image/jpg" && $type != "image/jpeg") {
        
    $err[] = "nur jpeg Dateien dürfen hochgeladen werden,<br> deine Datei hat die Endung $type";
        echo 
    $tempname;
        echo 
    $name;
    }
    if(
    $size "15000") {
        
    $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!<br>"
        
    Deine Datei ist $size groß;


    if(empty(
    $err)) {
        
    move_uploaded_file($tempname$catregory $name);
        echo 
    "Die Datei $catregory$name wurde erfolgreich hochgeladen!";
    }
    else {
        foreach(
    $err as $error)
        echo 
    "$error<br>";
    }
    ?> 
    </body>
    </html>
    und so sieht es aus wenn ich beide zusammen gefügt habe. Könnt ihr mir sagen was ich falsche mache? bin echt am verzweifeln.

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Unbenanntes Dokument</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <?php
    $tempname 
    $_FILES['file']['tmp_name'];
    $name $_FILES['file']['name']; 

     
    $type $_FILES['file']['type'];
    $size $_FILES['file']['size']; 

    if(
    $type != "image/jpg" && $type != "image/jpeg") {
        
    $err[] = "nur jpeg Dateien dürfen hochgeladen werden.<br>";
        echo = 
    $tempname;
        echo = 
    $name;
    }
    if(
    $size "15000") {
        
    $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!";


    if(empty(
    $err)) {
        
    move_uploaded_file($tempname$catregory $name);
        echo 
    "Die Datei $catregory$name wurde erfolgreich hochgeladen!";
    }
    else {
        foreach(
    $err as $error)
        echo 
    "$error<br>";
    }
    ?> 
    <?php

    $db
    =mysql_connect("******","*********","*******");
    mysql_select_db("usr_db_hqcoverpage_1"$db);
    mysql_query("
      INSERT INTO covers
      (CoverName, hinzugefügt, uploader, catregory, Coverpfad, bigfile)
      VALUES
      ('$CoverName', '$datum', '$uploader', '$catregory', '$file', '$file2')
      "
    $db);
    if(
    mysql_affected_rows($db)==1){
       echo 
    "Vielen Dank f&uuml;r Ihren Eintrag!<br>",   
       
    "<a href=\"index.php\">Zur&uuml;ck</a>";}
    else
       echo 
    "Beim Eintragen ist ein Fehler aufgetreten.<br>
       $CoverName'<br> '$datum'<br> '$uploader'<br> '$catregory'<br> '$userfile'<br> '$userfile2'<br>"
    ,
            
    "<a href=\"javascript:history.back();\">Zur&uuml;ck</a>";
    ?> 
    </body>
    </html>
     

  4. #4
    vexx vexx ist offline Mitglied
    Registriert seit
    Feb 2004
    Beiträge
    12
    Kann mir den keiner helfen?
     

  5. #5
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Hast Du enctype="multipart/form-data" in Deiner Upload-Form stehen? Also in der Zeile: <form method=... action=... ?
    Wenn nicht koennte das der Grund sein.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Könnt ihr mir sagen was ich falsche mache? bin echt am verzweifeln.
    ...vielleicht das:
    Code :
    1
    2
    
    echo [color=red]=[/color] $tempname;
    echo [color=red]=[/color] $name;



    Ansonsten.... um dem nächsten Problem bereits zuvorzukommen:
    Um den MIME-Typ der Dateien auf JPG zu prüfen, verwende besser getimagesize(), denn ausser jpg und jpeg gibts bei JPG's noch eine Reihe weiterer möglicher Typen, mit getimagesize() ist der MIME-Typ egal.... da kannst ohne viel Umstände ermitteln, ob es ein JPG ist
     

  7. #7
    vexx vexx ist offline Mitglied
    Registriert seit
    Feb 2004
    Beiträge
    12
    Zitat Zitat von reptiler
    Hast Du enctype="multipart/form-data" in Deiner Upload-Form stehen? Also in der Zeile: <form method=... action=... ?
    Wenn nicht koennte das der Grund sein.
    hab ich hinzugefügt, klappt trotzdem nicht
     

Ähnliche Themen

  1. Upload-Formular
    Von DaveThuet im Forum PHP
    Antworten: 1
    Letzter Beitrag: 18.11.07, 15:25
  2. Upload in einem Formular!
    Von Seven Secrets im Forum PHP
    Antworten: 23
    Letzter Beitrag: 20.12.05, 23:15
  3. upload via formular
    Von longstar im Forum PHP
    Antworten: 14
    Letzter Beitrag: 10.02.05, 18:03
  4. Upload-Formular?
    Von corsanostra im Forum PHP
    Antworten: 1
    Letzter Beitrag: 26.02.02, 22:32