Howdie Folks,
es geht um ein Script, das einen Ordner ausliest und den Inhalt als Checkboxen in ein Formular schreibt. Dort kann ausgewählt werden und die Dateien werden als Mail-Attachment versendet.
Ein weiteres Feature des Scripts ist, daß man auch über eine HTML-Seite eine Datei anfordern kann. Das geht so:
Ich möchte hier aber auch mehrere Dateien übergeben können und kriege das nicht gebacken. Es wird immer nur eine übergeben, auch wenn ich mehrere hidden - inputs einsetzte. Man müßte vielleicht hier den Dateien Nummern geben, und die dann im Formular in ein Array schreiben, für dessen Inhalt dann checked eingefügt wird.
Auf der Formular Seite sieht das ganze so aus:
Mein Problem ist, daß das Script die gesetzten Haken nach Durchlaufen einer Prüfschleife vergessen hat.
Die Prüfschleife sieht so aus.
Ich hatte jetzt schonmal was getestet, indem ich jeder Datei einen Counter automatisch verpasst habe, dadurch gingen die gesetzten Haken nicht verloren, ich konnte aber auch von der HTML-Seite aus keine Dateien als Parameter mehr übergeben.
Das ist alles ungeheuer kompliziert (für mich jedenfalls), und ich würde mich freuen, wenn mir jemand ein bischen auf die Sprünge hilft.
So long,
Cowboy
es geht um ein Script, das einen Ordner ausliest und den Inhalt als Checkboxen in ein Formular schreibt. Dort kann ausgewählt werden und die Dateien werden als Mail-Attachment versendet.
Ein weiteres Feature des Scripts ist, daß man auch über eine HTML-Seite eine Datei anfordern kann. Das geht so:
Code:
<form action="formular.php" method="post"> <input type="hidden" name="datei" value="Info_als_PDF.pdf"> <input type="submit" value="Will ich haben!"> </form>
Auf der Formular Seite sieht das ganze so aus:
PHP-Code:
$folder = opendir($ordner);
while($_file = readdir($folder)) {
if(!is_dir($_file) && $_file != "." && $_file != ".." ) {
if($_file == $HTTP_POST_VARS["datei"]) {
$file = substr( $_file, 0, strrpos( $_file, '.' ) ); // Name vor Punkt abschneiden
$file = ereg_replace("_" , " " , $file); // Unterstrich ersetzen
$file = str_pad($file, 20 , "*" ); // Name mit Zeichen auffüllen
$file = str_replace("*", " " , $file ); // Zeichen durch ersetzen
echo " <nobr><input type=checkbox name='datei[]' checked value=". $_file .">";
echo " ". $file ." </nobr>";
}
else{
$file = substr( $_file, 0, strrpos( $_file, '.' ) ); // Name vor Punkt abschneiden
$file = ereg_replace("_" , " " , $file); // Unterstrich ersetzen
$file = str_pad($file, 20 , "*" ); // Name mit Zeichen auffüllen
$file = str_replace("*", " " , $file ); // Zeichen durch ersetzen
echo " <nobr><input type=checkbox name='datei[]' value=". $_file .">";
echo " ". $file ." </nobr>";
}
}
}
}
closedir($folder);
Die Prüfschleife sieht so aus.
PHP-Code:
if ($ac == 'send'){
if(empty($HTTP_POST_VARS["datei"])) {
echo "Es wurde nichts ausgewählt!";
}
}
Das ist alles ungeheuer kompliziert (für mich jedenfalls), und ich würde mich freuen, wenn mir jemand ein bischen auf die Sprünge hilft.
So long,
Cowboy
Kommentar