Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datei uploader funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Datei uploader funktioniert nicht

    Hallo Leute,

    irgendwie stehe ich vor einem Problem und habe mit mehrstündigem googlen immer noch keine richtige Lösung gefunden, ich hoffe ihr könnt mir helfen.

    Und zwar:
    Wenn ich eine Datei beim File-Uploader hinzufüge (Durchsuche...) dann möchte ich auch das diese auf den Server kopiert wird. Die Daten die in den Formular ausgefüllt/verändert wurden, sollen trotzdem an die Datenbank weitergeleitet und übernommen werden. (Auch wenn keine Datei ausgewählt worden ist)

    Bei mir führt er komischerweise alles was in der schleife "if(!empty($file)) {" nicht mehr aus. Das andere funktioniert ohne Probleme. Laut div. Seiten definiert man doch ein Dateifeld so oder nicht?

    PHP-Code:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <?php
    $verbindung 
    mysql_connect("**""**" "**") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
    mysql_select_db("**") or die ("Datenbank konnte nicht ausgewählt werden"); 
    $id $_GET["id"];
    $query mysql_query ("SELECT * FROM grid WHERE id='$id'"); 
    $data mysql_fetch_array($query);
    ?>
    <?php $date 
    date("d.m.Y"); ?>
    <?php
    if(isset($_POST['submit'])) {
        
    $vertragspartner $_POST['vertragspartner'];
        
    $vertragsart $_POST['vertragsart'];
        
    $datumdokument $_POST['datumdokument'];
        
    $datumunterschriftbde $_POST['datumunterschriftbde'];
        
    $datumunterschriftvp $_POST['datumunterschriftvp'];
        
    $vertragsbeginn $_POST['vertragsbeginn'];
        
    $vertragsende $_POST["vertragsende"];
        
    $info $_POST["info"];
        
    $lastchange $date;
        
    $query3 mysql_query("UPDATE grid SET status='$status', vertragspartner='$vertragspartner', vertragsart='$vertragsart', datumdokument='$datumdokument', datumunterschriftbde='$datumunterschriftbde', datumunterschriftvp='$datumunterschriftvp', vertragsbeginn='$vertragsbeginn', vertragsende='$vertragsende', info='$info', lastchange='$lastchange' WHERE id='$id' LIMIT 1");
        
    $query mysql_query ("SELECT * FROM grid WHERE id = '$id'");
        
    $data mysql_fetch_array($query);
        echo 
    'Die Daten wurden geändert.<br>';
        print 
    "<script>window.setTimeout('window.close()', 1000);</script>";
        print 
    "<script>opener.location.reload();</script>";
        if(!empty(
    $file)) {
            if((
    $file_type == 'application/pdf')) {
                
    copy($file,"httpdocs/contracts/$file_name");
                echo 
    "Datei hochgeladen.";
                
    $qry mysql_query ("UPDATE grid SET file='$file_name' WHERE id = '$id'");
            }
            else {
                echo 
    "Dateityp stimmt nicht überein.";
            }
        }
    }
    ?>
    <form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
    <table width="200" border="0">
      <tr>
        <td>Vertragspartner (VP)</td>
        <td><input name="vertragspartner" type="text" class="textfeld" id="input" value="<?php echo $data["vertragspartner"?>" size="25" /></td>
      </tr>
      <tr>
        <td>Vertragsart</td>
        <td><input name="vertragsart" type="text" class="textfeld" id="input2" value="<?php echo $data["vertragsart"?>" size="25" /></td>
      </tr>
      <tr>
        <td>Datum Dokument</td>
        <td><input name="datumdokument" type="text" class="textfeld" id="input3" value="<?php echo $data["datumdokument"?>" size="25" /></td>
      </tr>
      <tr>
        <td>Datum Unterschrift BDE</td>
        <td><input name="datumunterschriftbde" type="text" class="textfeld" id="input4" value="<?php echo $data["datumunterschriftBDE"?>" size="25" /></td>
      </tr>
      <tr>
        <td>Datum Unterschrift VP</td>
        <td><input name="datumunterschriftvp" type="text" class="textfeld" id="input5" value="<?php echo $data["datumunterschriftVP"?>" size="25" /></td>
      </tr>
      <tr>
        <td>Vertrags beginn</td>
        <td><input name="vertragsbeginn" type="text" class="textfeld" id="input6" value="<?php echo $data["vertragsbeginn"?>" size="25" /></td>
      </tr>
      <tr>
        <td>Vertrags ende</td>
        <td><input name="vertragsende" type="text" class="textfeld" id="input7" value="<?php echo $data["vertragsende"?>" size="25" /></td>
      </tr>
      <tr>
        <td>Info</td>
        <td><textarea name="info" cols="25" rows="3" class="textfeld" id="input8"><?php echo $data["info"?></textarea></td>
      </tr>
      <tr>
        <td>PDF upload</td>
        <td><input type="file" name="file" id="file" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input name="submit" type="submit" value="&Auml;ndern" /></td>
      </tr>
    </table>
    </form>

    Danke!


  • #2
    Hi.

    Wie man korrekt mit Dokumenten Upload arbeitet, findest Du z.B. hier:

    PHP: POST method uploads - Manual

    Zudem wird copy auch nicht mehr genutzt und eine wirkliche Prüfung, ob das File auch erfolgreich hochgeladen wurde, steht ja auch nicht drin! Außerdem solltest Du auf SQL Injection achten!

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Zitat von mygov Beitrag anzeigen
      Bei mir führt er komischerweise alles was in der schleife "if(!empty($file)) {" nicht mehr aus.
      Es gibt kein $file in deinem Script.


      Bitte erledige alle drei Punkte, bevor du weitere Fragen stellst.

      Kommentar


      • #4
        Lerne (X)HTML.

        Kommentar


        • #5
          If ist keine Schleife sondern ein Statement.
          Zum Thema: wo ist dein $_FILES ???
          "My software never has bugs, it just develops random features."
          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

          Kommentar


          • #6
            danke für die vielen Infos, werde mich belesen & meinen Ansatz überdenken

            Kommentar

            Lädt...
            X