Dear my friends... I am still new in perl.
I am writing perl-cgi application for uploading a file. I did "chmod 777 ../../artikel". But I get weird displayed message: " ueri: ------------4CyrMz2ZeGIClwYfFsVdcv Co........ î 6êÎ]Ë kšfþx·¾ ðfS4M3>º {½‡<Óöù³®�¯3çýGèBù= „¬È›øRƒ..... &ƒ ÿƒ&m‡îø'-n nÊÐJ(pÇ 9çqîÎ......... Ê ¨‚¡ÀÜ EÖ� z!ª˜Y6�¬úÒ„â0J¼“ñË....... [end so on. very longg.............] ". And no file copied/uploaded in '../../artikel'. But inserting the record onto the mysql run properly. Please tell me why..... Here I have done: deartikel.cgi-->cgideartikel.cgi-->cgiuploadfile.cgi ('-->' means 'calls'). === deartikel.cgi: --- #!/usr/bin/perl -w #use strict; use CGI qw(:standard); use CGI::Carp qw(warningsToBrowser fatalsToBrowser); print "Content-type: text/html\n\n"; print "<html>"; print "<head>"; print "</head>"; print "<body><font style=\"Arial,Arial Black,Helvetica\" size=1>"; print " <form method=\"post\" action=\"cgideartikel.cgi\"> "; print "Title of file <input type=\"text\" name=\"judul\" size=60 autocomplete=\"ON\"> "; print "<input type=\"submit\" value=\"Submit to column 'Articles'.\"> <input type=\"reset\" value=\"Input lagi?\"> print " </form> "; print "</body>"; print "</html>"; === cgideartikel.cgi: --- #!/usr/bin/perl -w use CGI qw(:standard); use CGI::Carp qw(warningsToBrowser fatalsToBrowser); use DBI; print "Content-type: text/html\n\n"; print "<html>"; print "<head>"; print "<title>"; print "Online Science Org - Data entry kolom karir."; print "</title>"; print "</head>"; print "<body><font style=\"Arial,Arial Black,Helvetica\" size=1>"; $pjg=$ENV{"CONTENT_LENGTH"}; read(STDIN, $kueri, $pjg); #print "kueri: $kueri<br>"; @arr_prm=split("&",$kueri); foreach $myprm(@arr_prm){ ($namavar,$nilaivar)=split("=",$myprm); $assprm{$namavar}=$nilaivar; } $i=0; foreach my $nv(keys %assprm){ print "$nv <br>"; print "$assprm{$nv} <br>"; print "i = $i <br>"; $i++; } $judul=$assprm{'judul'}; print " <form method=\"post\" action=\"cgiuploadartikel.cgi\" enctype=\"multipart/form-data\"> "; print "Judul<input type=\"text\" name=\"judul\" size=60 autocomplete=\"ON\" value=\"$judul\" readonly> "; print "File untuk di-upload"; print " <input type=\"file\" name=\"url\" size=60 autocomplete=\"ON\"> "; print "<input type=\"submit\" value=\"Submit to column 'Artikel'.\"> <input type=\"reset\" value=\"Input lagi?\">"; print " </form> "; print "</body>"; print "</html>"; &simpan(judul); sub simpan{ my $myjudul=shift; my $box="localhost"; my $basisdata="mydb"; my $db_user_name='root'; my $db_password='mypw'; my $dsn="DBI:mysql:$basisdata:$box"; my $dbh = DBI->connect($dsn, $db_user_name, $db_password); my $sqlstr=qq{ insert into artikel ( judul, ) values( '$myjudul' ) }; my $sth = $dbh->prepare($sqlstr); my $status=$sth->execute(); if($status){ $sth->{Commit}; }else{ $sth->{RollBack}; } $dbh->disconnect; } --- cgiuploadfile.cgi: --- #!/usr/bin/perl -w use CGI qw(:standard); use CGI::Carp qw(warningsToBrowser fatalsToBrowser); print "Content-type: text/html\n\n"; print "<html>"; print "<head>"; print "<title>"; print "Online Science Org - Data entry kolom karir."; print "</title>"; print "</head>"; print "<body>"; $pjg=$ENV{"CONTENT_LENGTH"}; read(STDIN, $kueri, $pjg); print "kueri: $kueri<br>"; exit; @arr_prm=split("&",$kueri); foreach $myprm(@arr_prm){ ($namavar,$nilaivar)=split("=",$myprm); $assprm{$namavar}=$nilaivar; } $i=0; foreach my $nv(keys %assprm){ print "$nv <br>"; print "$assprm{$nv} <br>"; print "i = $i <br>"; $i++; } $judul=$assprm{'judul'}; $url=$assprm{'url'}; print " <form method=\"post\" action=\"cgiuploadartikel.cgi\" enctype=\"multipart/form-data\"> "; print " <input type=\"text\" name=\"judul\" size=60 autocomplete=\"ON\" value=\"$judul\" readonly> "; print "File untuk di-upload"; print " <input type=\"file\" name=\"url\" size=60 autocomplete=\"ON\" readonly> "; print "<input type=\"submit\" value=\"Submit to column 'Artikel'.\" disabled> <input type=\"reset\" value=\"Input lagi?\" disabled>"; print " </form> "; print "</td></tr>"; my $output_file = "../../artikel/$url"; my ($bytesread, $buffer); my $numbytes = 2000; open (OUTFILE, ">", "$output_file") or die "Couldn't open $output_file for writing: $!"; while ($bytesread = read($url, $buffer, $numbytes)) { print OUTFILE $buffer; } close OUTFILE; print "</table>"; print "</font></body>"; print "</html>"; -- Patrik Hasibuan Junior Programmer http://www.penguin-teknologi.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/