Hi, also ich hab ein Problem und hab auch schon etliches dazu gelesen, aber hab es bis jetzt nicht verstanden also suche ich nach einer ganz einfachen Lösung, da ich mich prinzipiell mit CGI/Perl überhaupt nicht auskenne.
Also ich habe ein CGI-Script welches für mich einen Dateiupload auf den Server durchführt. Diesen Dateinamen will ich dann weiterverwenden. Bis jetzt ist es so, dass das CGI-Skript aufgerufen wird mir eine neue Seite angezeigt wird, wo steht, die Datei wurde erfolgreich auf den Server geladen und dann hab ich nen Link an die nächste Seite wo ich den Dateinamen mitschicke. Ich will aber das das ganze gleich funktioniert und ich das nicht erst an ne neue Seite schicken muß, aber ich hab alles mögliche probiert und es funktioniert nicht.
Das javascript funitoniert bist zu der Ausgabe document.write (script), der Aufruf danach funktioniert aber nicht mehr, wenn ich den Link an die nächste Seite schicke, funktioniert alles ganz toll.
Kann mir einer helfen
Gruß, Steffi
Also ich habe ein CGI-Script welches für mich einen Dateiupload auf den Server durchführt. Diesen Dateinamen will ich dann weiterverwenden. Bis jetzt ist es so, dass das CGI-Skript aufgerufen wird mir eine neue Seite angezeigt wird, wo steht, die Datei wurde erfolgreich auf den Server geladen und dann hab ich nen Link an die nächste Seite wo ich den Dateinamen mitschicke. Ich will aber das das ganze gleich funktioniert und ich das nicht erst an ne neue Seite schicken muß, aber ich hab alles mögliche probiert und es funktioniert nicht.
Code:
#!perl -w
use strict;
use CGI; # Modul fuer CGI-Programme
my $cgi = new CGI; # neues Objekt erstellen
$CGI::POST_MAX = 2048;
# Content-type fuer die Ausgabe
print $cgi->header(-type => 'text/html');
# die datei-daten holen
my $file = $cgi->param("myfile");
#Sicherhitsvorkehrungen
#my @exteynsions = qw(pdb);
#if($file{"filename"} !~ /^[a-z\.\-_]+?\.([a-z]{3})$/)
# { die("Ungültiger Dateiname"); }
#else
# {
# my $extension = $1;
# if(!grep($extension,@extensions))
# { die("Ungültige Dateiendung"); }
#}
# dateinamen erstellen und die datei auf dem server speichern
my $dir = 'e:/programme/xampp/htdocs/';
my $fname = 'file_'.$$.'_'.$ENV{REMOTE_ADDR}.'_'.time.'.pdb';
open DAT,'>',$dir . $fname or die 'Error processing file: ',$!;
# Dateien in den Binaer-Modus schalten
binmode $file;
binmode DAT;
my $data;
while(read $file,$data,1024) {
print DAT $data;
}
close DAT;
print <<"HTML";
<html>
<head>
<title>J MOl Versuch</title>
<script src="..\jmol_zeug\jmol-11.1.26\Jmol.js"></script>
</head>
<body>
<h1>Die Datei $file wurde erfolgreich hochgeladen.</h1>
<tbody>
<tr>
<script>
var datei = "${fname}";
document.write (datei);
var script= "load" + " " + datei;
document.write (script);
jmolInitialize("..\jmol_zeug\jmol-11.1.26");
jmolApplet(550, script);
jmolBr();
</script>
</td>
<a href="../seite1.php?variable=$fname"> JMOL-Applet</a>
<p>
</p>
</body>
</html>
HTML
Das javascript funitoniert bist zu der Ausgabe document.write (script), der Aufruf danach funktioniert aber nicht mehr, wenn ich den Link an die nächste Seite schicke, funktioniert alles ganz toll.
Kann mir einer helfen
Gruß, Steffi