Zu den Aufzeichnungen der tutorials.de-Live-Workshops
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
23
ZUGRIFFE
1733
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Alloha!

    Ich habe viele Beiträge zum Thema Dateiupload gelsen und viel dazu ausprobiert, das was ich dann aber erreichen möchte, hat nicht funktioniert. Es sieht dabei wie folgt aus:

    Ein Formular soll Daten aufnehmen und in einer entsprechenden Datenbank speicher. (erledigt)

    Zu diesm Formular sollen Dokument hochgeladen werden. Diese dann umbenannt und auf dem Server gespeichert werden. (nicht erledigt)

    So, jetzt meine Script vereinfacht:
    PHP-Code:
    /* Save the new information to database.  Call Print_Applicant to display the new entry. */
    Function Commit_Save ($first_name$last_name$street$town$phone$mail$personalrecord$education$vocational$conclusiondocument$info$photo$certification1$certification2) {
    $result mysql_query("INSERT INTO care_applicant (first_name, last_name, street, town, phone, mail, education, vocational, info) VALUES ('$first_name', '$last_name', '$street', '$town', '$phone', '$mail', '$education', '$vocational', '$info')") OR die(mysql_error());
    $uid mysql_insert_id();
    $state "";
    $status "Sie haben uns Ihre Daten gesendet. Wir werden uns umgehend um Sie kümmern.";
    mail("info@online.de","Onlinebewerbung von $first_name $last_name""Über die Webseite der Care - Berlin Brandenburg bewirbt sich:\n\n\nVorname:\t $first_name\nNachname:\t $last_name\n\nStrasse:\t $street\nOrt:\t\t $town\n\nTelefon:\t $phone\nE-Mail:\t $mail\n\nAbschluß:\t $education\nAusildung:\t $vocational\n\nKommentar:\n $info\n\n\n$REMOTE_ADDR\n$REMOTE_HOST\n$HTTP_USER_AGENT","From: info@online.de");
    /* Umbenennen und hochladen */
    rename(".$personalrecord."".$first_name.-.$last_name.-personalrecord");
    move_uploaded_file($_FILES['$personalrecord']['tmp_name'], '/homepages/43/d95496899/htdocs/care/apliccant/'); 
    rename(".$conclusiondocument."".$first_name.-.$last_name.-conclusiondocument.");
    move_uploaded_file($_FILES['$conclusiondocument']['tmp_name'], '/homepages/43/d95496899/htdocs/care/apliccant/'); 
    rename(".$photo."".$first_name.-.$last_name.-photo.");
    move_uploaded_file($_FILES['$photo']['tmp_name'], '/homepages/43/d95496899/htdocs/care/apliccant/'); 
    rename(".$certification1."".$first_name.-.$last_name.-certification1.");
    move_uploaded_file($_FILES['$certification1']['tmp_name'], '/homepages/43/d95496899/htdocs/care/apliccant/'); 
    rename(".$certification2."".$first_name.-.$last_name.-certification2.");
    move_uploaded_file($_FILES['$certification2']['tmp_name'], '/homepages/43/d95496899/htdocs/care/apliccant/'); 
    Print_Applicant($uid$status);
    };

    /* This function open a form to input the Information. */
    Function Applicant_Form ($state$uid){
    $state "Commit_Save";
    echo 
    "<table width=\"97%\" border=\"0\" align=\"center\">
    </tr>
    </table>
    <FORM METHOD = \"POST\" ACTION=\"index.php?inhalt=applicant\">
    <table border=\"0\" align=\"center\">
      <tr>
        <td><INPUT TYPE = \"hidden\" NAME = \"uid\" VALUE = \"$uid\"></td>
        <td><INPUT TYPE = \"hidden\" NAME = \"state\" VALUE = \"$state\"></td>
      </tr>
      <tr>
        <td class=\"inhalt\">Vorname: </td>
        <td align=\"left\"><INPUT TYPE = \"TEXT\" NAME=\"first_name\" VALUE = \"$first_name\" size=\"46\"></td>
      </tr>
        <tr>
        <td class=\"inhalt\">Nachname: </td>
        <td align=\"left\"><INPUT TYPE = \"TEXT\" NAME=\"last_name\" VALUE = \"$last_name\" size=\"46\"></td>
      </tr>  
      <tr>
        <td class=\"inhalt\">Straße und Nr: </td>
        <td align=\"left\"><INPUT TYPE = \"TEXT\" NAME=\"street\" VALUE = \"$street\" size=\"46\"></td>
      </tr>
      <tr>
        <td class=\"inhalt\">Plz und Ort:</td>
        <td align=\"left\"><INPUT TYPE = \"TEXT\" NAME=\"town\" VALUE = \"$town\" size=\"46\"></td>
      </tr>
      <tr>
        <td class=\"inhalt\"><br>Telefon: </td>
        <td align=\"left\"><br><INPUT TYPE = \"TEXT\" NAME=\"phone\" VALUE = \"$phone\" size=\"46\"></td>
      </tr>
      <tr>
        <td class=\"inhalt\">E-Mail: </td>
        <td align=\"left\"><INPUT TYPE = \"TEXT\" NAME=\"mail\" VALUE = \"$mail\" size=\"46\"></td>
      </tr>
      <tr>
        <td class=\"inhalt\"><br>Lebenslauf: </td>
        <td align=\"left\"><br><INPUT TYPE = \"file\" NAME=\"personalrecord\" VALUE = \"$personalrecord\" size=\"25\"></td>
      </tr>  
      <tr>
        <td class=\"inhalt\"><br>Schulabschluß: </td>
        <td align=\"left\"><br><INPUT TYPE = \"TEXT\" NAME=\"education\" VALUE = \"$education\" size=\"46\"></td>
      </tr>   
      <tr>
        <td class=\"inhalt\">Ausbildung: </td>
        <td align=\"left\"><INPUT TYPE = \"TEXT\" NAME=\"vocational\" VALUE = \"$vocational\" size=\"46\"></td>
      </tr>
        <tr>
        <td class=\"inhalt\">Abschlußurkunde: </td>
        <td align=\"left\"><INPUT TYPE = \"file\" NAME=\"conclusiondocument\" VALUE = \"$conclusiondocument\" size=\"25\"></td>
      </tr>
      <tr>
        <td class=\"inhalt\" valign=\"top\"><br><br>weiter Angaben:&nbsp;&nbsp;&nbsp;</td>
        <td><br><textarea cols=\"35\" rows=\"7\" NAME=\"info\" VALUE = \"$info\">"
    .$info."</textarea></td>
      </tr>
        <tr>
        <td class=\"inhalt\"><br>Lichtbild: </td>
        <td align=\"left\"><br><INPUT TYPE = \"file\" NAME=\"photo\" VALUE = \"$photo\" size=\"25\"></td>
      </tr>
        <tr>
        <td class=\"inhalt\">aussagekräftiges Zeugnis: </td>
        <td align=\"left\"><INPUT TYPE = \"file\" NAME=\"certification1\" VALUE = \"$certification1\" size=\"25\"></td>
      </tr>
        <tr>
        <td class=\"inhalt\">aussagekräftiges Zeugnis: </td>
        <td align=\"left\"><INPUT TYPE = \"file\" NAME=\"certification2\" VALUE = \"$certification2\" size=\"25\"></td>
      </tr>
    </table>
    <p align=\"center\">
      <br>
      <INPUT TYPE=\"submit\" VALUE=\"Bewerbung senden\">
    </p><br>
    </td>
    </tr>
    </table>"
    ;
    };

    /* Print all informations for the user. */
    Function Print_Applicant ($uid$status) {
    $result mysql_query("SELECT * FROM care_applicant WHERE uid = '".$uid."';"); 
    while(
    $row mysql_fetch_assoc($result)){ 
    echo 
    "<br><div align=\"center\" class=\"inhalt\"><b>"$status ."</b></div><br><br>";
    $status "";
    echo 
    "<TABLE align=\"center\" BORDER = 0 CELLPADDING = 2 CELLSPACING = 2>";
    echo 
    "<TR><TD VALIGN=\"top\" class=\"inhalt\">";
    echo 
    "Ihre Angaben:&nbsp;&nbsp;&nbsp;&nbsp;";
    echo 
    "</TD>";
    echo 
    "<TD class=\"inhalt\">";
    echo 
    "<b>Vorname:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> "$row['first_name'];
    echo 
    "<br><b>Nachname:&nbsp;&nbsp;&nbsp;</b> "$row['last_name'];
    echo 
    "<br><b>Strasse:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> "$row['street'];
    echo 
    "<br><b>PLZ und Ort:&nbsp;</b> "$row['town'];
    echo 
    "<br><br><b>Telefon:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> "$row['phone'];
    echo 
    "<br><b>E-Mail:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> "$row['mail'];
    echo 
    "<br><br><b>Abschluß:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b> "$row['education'];
    echo 
    "<br><b>Ausbildung:&nbsp;&nbsp;</b> "$row['vocational'];
    echo 
    "<br><br><b>weiter Informationen:</b><br><br>"$row['info'];
    echo 
    "<br><br><br></TD></TR>";
    echo 
    "</TABLE>";
    }
    };

    /* The main loop.  Call functions based on the value of $state, which gets set via a hidden INPUT TYPE. */
    switch($state):
    case 
    "";
    Applicant_Form($state$uid);
    break;
    case 
    "Commit_Save";
    Commit_Save($first_name$last_name$street$town$phone$mail$personalrecord$education$vocational$conclusiondocument$info$photo$certification1$certification2);
    break;
    case 
    "Print_Applicant";
    Print_Applicant($uid$status);
    endswitch;
    ?> 
    So! Vom Gedankengang her ist das so richtig ? Oder stimmt Grundsätzlich in meine Code nicht?

    Es grüßt euch da Maddin!
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  2. #2
    Stash Stash ist offline Rookie
    Registriert seit
    Apr 2003
    Ort
    Haren
    Beiträge
    9
    Zitat Zitat von Seven Secrets
    PHP-Code:
    <FORM METHOD "POST\" ACTION=\"index.php?inhalt=applicant\"> 
    So sollte es richtig lauten, wenn man Datein mitschickt:
    PHP-Code:
    <form enctype='multipart/form-data' action='index.php?inhalt=applicant' method='POST'
     

  3. #3
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Habe ich geändert! Nur leider haut es mit dem upload nicht hin! Wo liegt dann der Fehler?
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  4. #4
    Stash Stash ist offline Rookie
    Registriert seit
    Apr 2003
    Ort
    Haren
    Beiträge
    9
    PHP-Code:
    move_uploaded_file($_FILES['$personalrecord']['tmp_name'], '/homepages/43/d95496899/htdocs/care/apliccant/'); 
    In welchem Verzeichnis liegt die php datei?
    Wenn in dem Verzeichnis das Verzeichnis homepages/43/.... usw liegt musst du den ersten / weglassen also :

    PHP-Code:
    move_uploaded_file($_FILES['$personalrecord']['tmp_name'], 'homepages/43/d95496899/htdocs/care/apliccant/'); 
    ausser dem steht bei dir
    PHP-Code:
    rename(".$personalrecord."".$first_name.-.$last_name.-personalrecord"); 
    Variablen in Anführungszeichen zu schreiben kann man sich sparen aber bei dem strich nicht:
    PHP-Code:
    rename($personalrecord$first_name."-".$last_name."-personalrecord"); 
    Ausserdem wuerde ich die erst hochladen und dann umbenennen.
     

  5. #5
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Okay, dann wohl so und in der Reihenfolge:

    PHP-Code:
    move_uploaded_file($_FILES['$personalrecord']['tmp_name'], 'homepages/43/d95496899/htdocs/care/apliccant/');  
    rename($personalrecord$first_name."-".$last_name."-personalrecord"); 
    Wenn du mir schreibst:
    In welchem Verzeichnis liegt die php datei?
    Heißt das für mich, das der Upload bei meinem Script noch gar nicht erfolgt ist. Oder sehe ich das falsch?
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  6. #6
    Stash Stash ist offline Rookie
    Registriert seit
    Apr 2003
    Ort
    Haren
    Beiträge
    9
    Nein, eigentlich wollte ich damit fragen in welchen Verzeichnis die PHP datei liegt.

    Ich meine Vieleicht ist ja das Verzeichnis in das die Datei soll falsch angegeben.
    PHP sollte auch eine Fehlermeldung ausgeben.
     

  7. #7
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    also die applicate.php liegt unter: homepages/43/d95496899/htdocs/care dorthin geht auch die Domain! Aber slebst in diesem Verzeichnis kommen keine Datein an. Das Script solle die datein aber in dem unterverzeichnis applicant speichern.
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  8. #8
    Tabuk Tabuk ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Ort
    Reken (NRW)
    Beiträge
    121
    Hallo,
    ich bin zwar kein Held in PHP, aber warum nicht einfach mit:
    PHP-Code:
    move_uploaded_file($_FILES['personalrecord']['tmp_name'],"homepages/43/d95496899/htdocs/care/apliccant/".$first_name."-".$last_name."-personalrecord.txt"); 
    MfG Tabuk
     
    Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
    (Martin Kessel)

  9. #9
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,
    ein weiterer Fehler der mir noch aufgefallen ist, ist dass es nicht so,
    PHP-Code:
    move_uploaded_file($_FILES['$conclusiondocument']['tmp_name'
    sondern so
    PHP-Code:
    move_uploaded_file($_FILES['conclusiondocument']['tmp_name'
    heißen muss.

    mfg
    forsterm

    Beitrag No: 600
    Geändert von forsterm (19.12.05 um 16:20 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:.

  10. #10
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Ich habe gerade in einem Tutorial gelsen, das die Datei auf dem Server mit diesem Script ankommt, jedoch nur als Temporäre Datei und bei nicht unmittelbarer Verarbeitung sofort wieder gelöscht wird. Somit müßte man sie ja vom Temprären Platz auf dem server noch kopieren, oder? Dies soll mit copy geschehen, nur weiß ich nicht genau, von wo nach wo ich hier was kopieren soll?
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  11. #11
    Tabuk Tabuk ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Ort
    Reken (NRW)
    Beiträge
    121
    Es geht auch mit copy und ohne rename.

    PHP-Code:
    copy($_FILES['personalrecord']['tmp_name'],"homepages/43/d95496899/htdocs/care/apliccant/".$first_name."-".$last_name."-personalrecord.txt"); 
     
    Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
    (Martin Kessel)

  12. #12
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Wenn ich das jetzt mal so annehme, wazu ist dann noch die Funktion move_uploaded_file gut? Bewirkt die dann nicht das selbe wie kopie? oder soll ich mir einfach das rename sparen und durch copy ersetzen?
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  13. #13
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Anderst gefragt, kann es sein, das beim Neuladen des Scripts dietemprären Datein schon gelöscht sind, bevor sie bearbeitet werden?
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

  14. #14
    Tabuk Tabuk ist offline Mitglied Gold
    Registriert seit
    Nov 2004
    Ort
    Reken (NRW)
    Beiträge
    121
    Ich glaube, das du die beste Antwort hier findest:
    Wohin mit dem move_uploaded_file?


    MfG Tabuk
     
    Es gibt Besserwisser,die niemals begreifen,dass man recht haben und ein Idiot sein kann.
    (Martin Kessel)

  15. #15
    Seven Secrets Seven Secrets ist offline Mitglied Brokat
    Registriert seit
    Feb 2002
    Ort
    Brück (BRB)
    Beiträge
    272
    Okay, verstanden! Also ist demnach das Verschieben besser, als das kopieren, da ja somit keine Müll auf dem Server bleibt!

    So, dass hätten wir geklärt. Da bei mir auf dem Server leider immer noch keine Datei ankommt habe ich es jetzt mal nach Anleitung (Tutorial von hier) versucht. Es funktioniert auch super, so lange es nicht in diesem Script mit der switch-Abfrage ist. Daher meine Frage, ob die Funktion daran Schuld sein kann, dass ich die Datei aus dem temporären Ordner nicht verschieben kann, da diese ja laut PHP-Handbuch gelöscht wird sobald der Request beendet ist. Ich habe den Verdacht, daß dies der eigentliche Fehler ist Oder liege ich da jetzt wieder falsch?
     
    electrohydraulic records - www.electrohydraulic.de - so many diffrend Sounds.

Ähnliche Themen

  1. Upload-Formular
    Von DaveThuet im Forum PHP
    Antworten: 1
    Letzter Beitrag: 18.11.07, 15:25
  2. Formular mit Upload
    Von vexx im Forum PHP
    Antworten: 6
    Letzter Beitrag: 04.04.05, 14:02
  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