Ergebnis 1 bis 2 von 2

Thema: dateiupload mit perlscript

  1. #1
    Teeny
    Registriert seit
    09.11.2006
    Ort
    Erlangen
    Beiträge
    39
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard dateiupload mit perlscript

    Habe ein HTML Formular über das ich mir den Pfad durch ein Fileupload-Feld hole. Das Formular wird dann ein Script "rd3insert.pl" übergeben das die Informationen zu der Datei in der Datenbank speichert also dann auch den Pfad auf dem Server wo die Datei abgelegt werden soll.

    Der Pfad wird in einem Feld "dateiname" in der Relation "mc_rd3_icd" der Datenbank abgelegt. Also muss der Upload gemacht werden bevor der INSERT in die betroffenen Tabelle gemacht wird.

    hier das bisherige Script.

    use strict;
    use DBI;
    use CGI;
    use WebCenter;

    my (%data) = WebCenter:arseParam();
    my $dbh = WebCenter::connectDB(100);


    # ---------------- Print teil ANFANG -----------------------
    my $p;
    my $xx;
    my $q = new CGI;
    my $next_seq_projekt;
    my $next_seq_autor;
    my $next_seq_icd;


    print "Content-type: text/html\n\n";

    # hier mal alle uebergebenen werte ausgeben:

    my @names = $q->param();
    foreach $p (@names) {

    $xx = $q->param($p);
    print "$p = $xx
    ";
    }
    # ---------------- Print teil ENDE -----------------------

    # Projekt und Autor existieren bereits

    # wenn Projekt und Autor aus der Liste gewählt werden, steht dort ein Wert >= 1 drinnen.
    # wenn nicht gewählt, steht dort nichts drinnen
    # also Abfrage entweder:
    # if ( ($data{vorhandprojekte} >= 1) && ($data{vorhandautor} >= 1) )
    # oder einfach nur:
    # if ( ($data{vorhandprojekte}) && ($data{vorhandautor}) )
    # == heißt, wenn in denbeiden Feldern "etwas" steht

    if ( ($data{vorhandprojekte}) && ($data{vorhandautor}) )
    {

    my $next_seq_projekt;
    my $next_seq_autor;
    my $next_seq_icd;

    print "
    im 1. if - FALL
    ";
    print "
    Gewaehlte Projektnummer = $data{vorhandprojekte}
    ";
    print "
    Gewaehlte Autornummer = $data{vorhandautor}
    ";

    # Eintrag von pid und aid in die Relation mc_rd3_autorprojekt zwecks Verknüpfung der Tabellen mc_rd3_autor und mc_rd3_projekt. -->
    print "Jetzt insert in Tabelle MC_RD3_AUTORPROJEKT
    ";
    $dbh->do(qq{ INSERT
    INTO MC_RD3_AUTORPROJEKT
    (AID,PID)
    VALUES (
    '$data{vorhandautor}',
    '$data{vorhandprojekte}'
    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);

    $dbh->commit;

    ($next_seq_icd)= $dbh->selectrow_array('select SEQ_MC_RD3.nextVal FROM DUAL') or WebCenter::error($DBI::err);
    print "Sequence = $next_seq_projekt
    ";

    $dbh->do(qq{ INSERT
    INTO MC_RD3_ICD
    (ICDID,DATUM,AUTORID,VERSION,TITEL,STICHWORT1,STIC HWORT2,STICHWORT3,DATEINAME,PROJEKTID)
    VALUES (
    $next_seq_icd,
    '$data{datum}',
    '$data{vorhandautor}',
    '$data{version}',
    '$data{titel}',
    '$data{stichwort1}',
    '$data{stichwort2}',
    '$data{stichwort3}',
    '$data{dateiname}',
    '$data{vorhandprojekte}'

    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);



    $dbh->commit;

    }

    if ( ($data{vorhandprojekte}) && (!$data{vorhandautor}) )
    {

    my $next_seq_projekt;
    my $next_seq_autor;
    my $next_seq_icd;

    ($next_seq_autor)= $dbh->selectrow_array('select SEQ_MC_RD3.nextVal FROM DUAL') or WebCenter::error($DBI::err);
    print "Sequence = $next_seq_autor
    ";

    $dbh->do(qq{ INSERT
    INTO MC_RD3_AUTOR
    (AID,NAME,VORNAME)
    VALUES
    (
    $next_seq_autor,
    '$data{name}',
    '$data{vorname}'
    )

    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);

    $dbh->do(qq{ INSERT
    INTO MC_RD3_AUTORPROJEKT
    (AID,PID)
    VALUES (
    $next_seq_autor,
    '$data{vorhandprojekte}'
    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);

    ($next_seq_icd)= $dbh->selectrow_array('select SEQ_MC_RD3.nextVal FROM DUAL') or WebCenter::error($DBI::err);
    print "Sequence = $next_seq_icd
    ";

    $dbh->do(qq{ INSERT
    INTO MC_RD3_ICD
    (ICDID,DATUM,AUTORID,VERSION,TITEL,STICHWORT1,STIC HWORT2,STICHWORT3,DATEINAME,PROJEKTID)
    VALUES (
    $next_seq_icd,
    '$data{datum}',
    $next_seq_autor,
    '$data{version}',
    '$data{titel}',
    '$data{stichwort1}',
    '$data{stichwort2}',
    '$data{stichwort3}',
    '$data{dateiname}',
    '$data{vorhandprojekte}'


    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);




    $dbh->commit;

    }


    if ( (!$data{vorhandprojekte}) && ($data{vorhandautor}) )
    {


    my $next_seq_projekt;
    my $next_seq_autor;
    my $next_seq_icd;

    ($next_seq_projekt)= $dbh->selectrow_array('select SEQ_MC_RD3.nextVal FROM DUAL') or WebCenter::error($DBI::err);
    print "Sequence = $next_seq_projekt

    ";

    $dbh->do(qq{ INSERT
    INTO MC_RD3_PROJEKT
    (PID,PROJEKT)
    VALUES
    (
    $next_seq_projekt,
    '$data{projekt}'
    )

    }

    ) or WebCenter::error($DBI::err, undef, undef, $dbh);



    $dbh->do(qq{ INSERT
    INTO MC_RD3_AUTORPROJEKT
    (AID,PID)
    VALUES (
    '$data{vorhandautor}',
    $next_seq_projekt
    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);



    ($next_seq_icd)= $dbh->selectrow_array('select SEQ_MC_RD3.nextVal FROM DUAL') or WebCenter::error($DBI::err);
    print "Sequence = $next_seq_icd

    ";

    $dbh->do(qq{ INSERT
    INTO MC_RD3_ICD
    (ICDID,DATUM,AUTORID,VERSION,TITEL,STICHWORT1,STIC HWORT2,STICHWORT3,DATEINAME,PROJEKTID)
    VALUES (
    $next_seq_icd,
    '$data{datum}',
    '$data{vorhandautor}',
    '$data{version}',
    '$data{titel}',
    '$data{stichwort1}',
    '$data{stichwort2}',
    '$data{stichwort3}',
    '$data{dateiname}',
    $next_seq_projekt

    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);

    $dbh->commit;


    }


    if ( (!$data{vorhandprojekte}) && (!$data{vorhandautor}) )

    {


    my $next_seq_projekt;
    my $next_seq_autor;
    my $next_seq_icd;

    ($next_seq_projekt)= $dbh->selectrow_array('select SEQ_MC_RD3.nextVal FROM DUAL') or WebCenter::error($DBI::err);
    print "Sequence = $next_seq_projekt

    ";

    $dbh->do(qq{ INSERT
    INTO MC_RD3_PROJEKT
    (PID,PROJEKT)
    VALUES
    (
    $next_seq_projekt,
    '$data{projekt}'
    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);


    ($next_seq_autor)= $dbh->selectrow_array('select SEQ_MC_RD3.nextVal FROM DUAL') or WebCenter::error($DBI::err);
    print "Sequence = $next_seq_autor
    ";

    $dbh->do(qq{ INSERT
    INTO MC_RD3_AUTOR
    (AID,NAME,VORNAME)
    VALUES
    (
    $next_seq_autor,
    '$data{name}',
    '$data{vorname}'
    )

    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);

    $dbh->commit;


    $dbh->do(qq{ INSERT
    INTO MC_RD3_AUTORPROJEKT
    (AID,PID)
    VALUES (
    $next_seq_autor,
    $next_seq_projekt
    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);

    $dbh->commit;


    print "Jetzt insert in Tabelle MC_RD3_ICD
    ";

    ($next_seq_icd)= $dbh->selectrow_array('select SEQ_MC_RD3.nextVal FROM DUAL') or WebCenter::error($DBI::err);
    print "Sequence = $next_seq_icd

    ";

    $dbh->do(qq{ INSERT
    INTO MC_RD3_ICD
    (ICDID,DATUM,AUTORID,VERSION,TITEL,STICHWORT1,STIC HWORT2,STICHWORT3,DATEINAME,PROJEKTID)
    VALUES (
    $next_seq_icd,
    '$data{datum}',
    $next_seq_autor,
    '$data{version}',
    '$data{titel}',
    '$data{stichwort1}',
    '$data{stichwort2}',
    '$data{stichwort3}',
    '$data{dateiname}',
    $next_seq_projekt

    )
    }
    ) or WebCenter::error($DBI::err, undef, undef, $dbh);


    $dbh->commit;

    }

    print "Der Eintrag des Datensatzes in der Datenbank war erfolgreich!\n

    ";

    $dbh->disconnect;

    print "\Neuer Eintrag
    \n";
    print "\Zur Übersicht
    \n";


    Wie schaut der Teil vor dem INSERT in die Tabelle mc_rd3_icd aus, wo der Dateiupload durchgeführt wird?

    Habe sowas bisher nicht gemacht.

    Gruß

    ledzep
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Teeny
    Themenstarter

    Registriert seit
    09.11.2006
    Ort
    Erlangen
    Beiträge
    39
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    wie schauts aus weiß jemand ein lösung?

    wäre sehr dankbar dafür.

    weiß nicht wie sowas funktioniert.

Ähnliche Themen

  1. Problem mit Dateiupload
    Von makroy im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 05.07.2008, 14:50
  2. Standardverzeichnis für Dateiupload
    Von csigg im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 06.10.2007, 21:57
  3. bbcodes für perlscript (Chat-Gästebuch)
    Von ChatMaster im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 09.05.2006, 17:51
  4. Dateiupload
    Von Gast im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 02.11.2005, 21:39
  5. PHP Dateiupload
    Von gelöschter User im Forum Tutorials, Workshops und Anleitungen
    Antworten: 1
    Letzter Beitrag: 31.10.2005, 19:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •