Chodzi o to, żeby skrypt gdy użytkownik nie załączy pliku w formularzu, pobrał wartość przypisaną do tej samej nazwy pochodzącą z innego źrodla(java script), który jest apletem do nagrywania komunikatów bezpośrednio na stronie ....
Już tłumacze :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Nagrania audio</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <meta name="Description" content="Java API for audio I/O."> <link href="css.css" rel="stylesheet" type="text/css" /> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table width="600" align="center"> <tr> <td><form action="wyslij1.php" method="post" enctype="multipart/form-data" onreset="if (!confirm('Czy na pewno chcesz wyczyścić cały formularz?')) return false"> <input type="hidden" name="userfile" id="userfile"> <table border="0" width="100%"> <tr> <td> <h2>Nagraj za pomocą konsoli java sonic:</h2> <applet code="com.softsynth.javasonics.recplay.RecorderUploadApplet" codebase="listenup/codebase" archive="JavaSonicsListenUp.jar,OggXiphSpeexJS.jar" name="ListenUpRecorder" width="500" height="240"> <param name="uploadURL" value="wyslij1.php"> <param name="userfile" value="message_12345.wav" id="userfile"> </applet><br><br><br> </td> </tr> <tr> <td><h2>Jeżeli nie masz zainstalowanego java lub coś tam coś tam Zapisz plik w formacie *.xxx i wyślij jako plik. </h2> <input type="hidden" name="MAX_FILE_SIZE" value="500000"> <input name="userfile" type="file" id="userfile"> <br><br><br> </td> </tr> </table> <center> <input name="upload" type="submit" class="box" id="upload" value=" Upload "> <input type="reset" name="reset" class="box" id="reset" value="Wyczyść"> </center></form></td> </tr> </table> </html>
.
.
.
WIEC tak jak wynika z kodu. Pierwsza opcja 1 nagrywasz komendę czy głos apletem z osobnym potwierdzeniem upload czy send na serwer do pliku wskazanego w parametrze : <param name="uploadURL" value="wyslij1.php"> jak wyżej ... lub załączasz plik . Wiec przypisując ta sama nazwę do zmiennej można by to warunkiem zrobić i po kłopocie ale jak wcześniej wspomniałem aplet ma osobne potwierdzenie załadowania pliku... Pytanie brzmi... jak wyglądała by funkcja automatycznego kliknięcia w upload na aplecie wówczas wysyłającego zmienna do tego samego skryptu co inne zmienne do zapisu danych z formularza w czasie wysłania całego formularza. Próbowałem z wersji z
<form action="wyslij1.php" method="post" enctype="multipart/form-data" onreset="if (!confirm('Czy na pewno chcesz wyczyścić cały formularz?')) return false">
<input type="hidden" name="userfile" value="message_12345.wav" id="userfile">
może źle coś podałem lub w złym miejscu ... tylko jeszcze jest wątek taki, ze może być wartość z apletu później wysłana niż sam formularz a miało by to byc razem zapisane do bazy mysql z reszta danych i czy nie przerwie skryptu. Myślałem, żeby wciskając upload zapisywać już dane z apletu na stronie php z formularza i przesłać już jako utworzona ukryta zmienna wraz z formularzem ; stąd spóby z polem hidden ...załącze jeszcze kod odbioru i weryfikacji w mojej ostatniej wersji. Będę walczył dalej ale jak by się nasunęły jakieś sugestie to był bym wdzięczny..... pozdrawiam nocnych marków . Kombinuje jeszcze, żeby wysłać wartość ze skryptu na bieżącą stronę z formularzem i potem po wysłaniu formularza ukrytej zmiennej hidden może w tę stronę


<?php if ($_FILES['userfile']['error'] > 0) { switch ($_FILES['userfile']['error']) { // jest większy niż domyślny maksymalny rozmiar, // podany w pliku konfiguracyjnym // jest większy niż wartość pola formularza // MAX_FILE_SIZE // plik nie został wysłany w całości // plik nie został wysłany // pozostałe błędy Wróć do poprzedniej strony i spróbuj ponownie.</h2></center><br>'; } } $fileName = $_FILES['userfile']['name']; $tmpName = $_FILES['userfile']['tmp_name']; $fileSize = $_FILES['userfile']['size']; $fileType = $_FILES['userfile']['type']; if ($_FILES['userfile']['type'] != 'audio/wav') if ($_FILES['userfile']['type'] != 'audio/mp3') { echo "<br><br><center><h2> $imie zły format zalaczonego pliku lub jego brak!<br> Dozwolone formaty to mp3 i wav.<br>Wróć do poprzedniej strony i dodaj odpowiedni plik lub nagraj tekst za pomocą java sonic .</h2></center><br> "; exit; } { } $imie=$_POST['imie']; if (!$imie) { echo "<br><br><center><h2> $imie wypełnij wszystkie wymagane pola formularza.<br> Wróć do poprzedniej strony i spróbuj ponownie.</h2></center><br>" ; exit; } $db_user='username'; $db_password='haslo'; $database='nazwa bazy'; $query = "INSERT INTO upload (name, size, type, content, imie ) ". "VALUES ('$fileName', '$fileSize', '$fileType', '$content', '$imie')"; ?> </body> </html>
zmiennych w formularzu jest więcej ale nie ma po co ich wstawiać tutaj...