Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] dwie zmienne do jednego pola w bazie albo albo, gdy brak pierwszej z input type file pobiera inna z drugiego źródłą
sharp156
post 21.06.2011, 19:08:39
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.06.2011
Skąd: poznań

Ostrzeżenie: (0%)
-----


Witam w php można powiedzieć, ze brodze po dnie jeszcze i w związku z tym mam pytanie. Ktoś orientuje się jak przypisać dwie zmienne do jednego pola mysql?
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 :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.  
  4. <head>
  5.  
  6. <title>Nagrania audio</title>
  7.  
  8. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  9. <meta name="Description" content="Java API for audio I/O.">
  10. <link href="css.css" rel="stylesheet" type="text/css" />
  11.  
  12. </head>
  13.  
  14.  
  15.  
  16. <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  17.  
  18. <table width="600" align="center">
  19.  
  20. <tr>
  21.  
  22. <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">
  23. <input type="hidden" name="userfile" id="userfile">
  24.  
  25. <table border="0" width="100%">
  26. <tr>
  27.  
  28. <td>
  29. <h2>Nagraj za pomocą konsoli java sonic:</h2>
  30.  
  31. <applet
  32. code="com.softsynth.javasonics.recplay.RecorderUploadApplet"
  33. codebase="listenup/codebase"
  34. archive="JavaSonicsListenUp.jar,OggXiphSpeexJS.jar"
  35. name="ListenUpRecorder"
  36. width="500"
  37. height="240">
  38.  
  39. <!-- URL for the script which receives the uploaded sound file. -->
  40. <param name="uploadURL" value="wyslij1.php">
  41.  
  42. <!-- Name of uploaded sound file. Server can change it if needed. -->
  43. <param name="userfile" value="message_12345.wav" id="userfile">
  44.  
  45. </applet><br><br><br>
  46.  
  47.  
  48. </td>
  49.  
  50. </tr>
  51.  
  52. <tr>
  53.  
  54. <td><h2>Jeżeli nie masz zainstalowanego java lub coś tam coś tam Zapisz plik w formacie *.xxx i wyślij jako plik. </h2>
  55.  
  56. <input type="hidden" name="MAX_FILE_SIZE" value="500000">
  57. <input name="userfile" type="file" id="userfile">
  58. <br><br><br>
  59. </td>
  60. </tr>
  61. </table>
  62.  
  63. <center>
  64. <input name="upload" type="submit" class="box" id="upload" value=" Upload ">
  65.  
  66.  
  67. <input type="reset" name="reset" class="box" id="reset" value="Wyczyść">
  68.  
  69.  
  70.  
  71. </center></form></td>
  72.  
  73. </tr>
  74.  
  75. </table>
  76.  
  77. </html>
  78.  
  79.  

.
.
.
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ę questionmark.gifquestionmark.gif

  1. <?php
  2. if(isset($_POST['upload'])&&($_FILES['userfile']['size'] > 0 ));
  3.  
  4. if ($_FILES['userfile']['error'] > 0)
  5. {
  6. echo "<br><br><center><strong><h2>Problem:</h2> </center><br> ";
  7. switch ($_FILES['userfile']['error'])
  8. {
  9. // jest większy niż domyślny maksymalny rozmiar,
  10. // podany w pliku konfiguracyjnym
  11. case 1: {echo '<br><br><center><h2>Rozmiar pliku jest zbyt duży.<br>
  12. Wróć do poprzedniej strony i spróbuj ponownie.</h2></center><br>'; exit;}
  13.  
  14. // jest większy niż wartość pola formularza
  15. // MAX_FILE_SIZE
  16. case 2: {echo '<br><br><center><h2>Rozmiar pliku jest zbyt duży.<br>
  17. Wróć do poprzedniej strony i spróbuj ponownie.</h2></center><br>'; exit;}
  18.  
  19. // plik nie został wysłany w całości
  20. case 3: {echo '<br><br><center><h2>Plik wysłany tylko częściowo.<br>
  21. Wróć do poprzedniej strony i spróbuj ponownie.</h2></center><br>'; exit;}
  22.  
  23. // plik nie został wysłany
  24. case 4: {echo '<br><br><center><h2>Nie wysłano żadnego pliku.<br>
  25. Wróć do poprzedniej strony i spróbuj ponownie.</h2></center><br>'; exit;}
  26.  
  27. // pozostałe błędy
  28. default: {echo '<br><br><center><h2>Wystąpił błąd podczas wysyłania.<br>
  29. Wróć do poprzedniej strony i spróbuj ponownie.</h2></center><br>';
  30. }
  31. }
  32.  
  33. $fileName = $_FILES['userfile']['name'];
  34. $tmpName = $_FILES['userfile']['tmp_name'];
  35. $fileSize = $_FILES['userfile']['size'];
  36. $fileType = $_FILES['userfile']['type'];
  37.  
  38. if ($_FILES['userfile']['type'] != 'audio/wav')
  39. if ($_FILES['userfile']['type'] != 'audio/mp3')
  40. {
  41. 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> ";
  42. }
  43. $fp = fopen($tmpName, 'r');
  44. $content = fread($fp, filesize($tmpName));
  45. $content = addslashes($content);
  46. fclose($fp);
  47.  
  48. {
  49. $fileName = addslashes($fileName);
  50. }
  51.  
  52. $imie=$_POST['imie'];
  53. if (!$imie)
  54.  
  55. {
  56. echo "<br><br><center><h2> $imie wypełnij wszystkie wymagane pola formularza.<br>
  57. Wróć do poprzedniej strony i spróbuj ponownie.</h2></center><br>" ;
  58. exit;
  59. }
  60.  
  61.  
  62.  
  63.  
  64. $db_user='username';
  65. $db_password='haslo';
  66. $database='nazwa bazy';
  67. mysql_connect('localhost', 'użytkownik', 'hasło');
  68.  
  69. mysql_select_db(nazwa bazy) or die ("Nie udalo sie wybrac bazy danych");
  70.  
  71.  
  72. $query = "INSERT INTO upload (name, size, type, content, imie ) ".
  73. "VALUES ('$fileName', '$fileSize', '$fileType', '$content', '$imie')";
  74.  
  75. mysql_query($query) or die('Error, query failed');
  76.  
  77.  
  78.  
  79.  
  80. echo "<br><center><h2>formularz urzytkownika $imie $nazwisko zapisany do bazy.</h2></center><br>";
  81.  
  82.  
  83. ?>
  84. </body>
  85.  
  86. </html>
  87.  
  88.  


zmiennych w formularzu jest więcej ale nie ma po co ich wstawiać tutaj...

Ten post edytował Daiquiri 22.06.2011, 19:59:10
Powód edycji: [Daiquiri]: Bez spacji... poprawiam
Go to the top of the page
+Quote Post
Ilware
post 22.06.2011, 00:35:16
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


sprecyzuj bardziej o co Ci chodzi.

może sprawdzić warunek

  1. if( empty() ){
  2.  
  3. }


jeżeli jest puste to wstaw wartość domyślną


--------------------
Jeżeli pomogłem kliknij "Pomógł" :)
Go to the top of the page
+Quote Post
sharp156
post 22.06.2011, 05:34:19
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.06.2011
Skąd: poznań

Ostrzeżenie: (0%)
-----


rozwinąłem myśl bardziej szczegółowo w głównym oknie .....
Powód edycji: [phpion]: ort
Go to the top of the page
+Quote Post
phpion
post 22.06.2011, 06:30:48
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(sharp156 @ 22.06.2011, 06:34:19 ) *
rozwinolem myśl bardziej szczegółowo w głównym oknie .....

To rozwiń bardziej dodając poprawne bbcode.
Go to the top of the page
+Quote Post
sharp156
post 22.06.2011, 15:52:38
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.06.2011
Skąd: poznań

Ostrzeżenie: (0%)
-----


Cytat(phpion @ 22.06.2011, 07:30:48 ) *
To rozwiń bardziej dodając poprawne bbcode.

Nie bardzo wiem o co chodzi z tym bbcode . To jest moje pierwsze zapukanie na forum jakiego dokonałem w czasie mojej tzw "twórczości html/php" , wiec z żargonem mam mało obeznania. Czy da się jeszcze bardziej rozwinąć temat... hmmm można nawet doktorat napisać ale chciałem jak najbardziej treściwie i krótko wyjaśnić o co chodzi.. a co do literówki ... robił się ranek, rozpraszały mnie ćwierkające ptaki i wogóle każdy prawie czasem wpisze gdzieś "krzaka". Może jakieś pomysły się nasunęły komuś ..... niby są tu jakieś opcje muszę się pobawić bo może ci chodzi o włączenie kolorowania składni.... dla lepszej przejrzystości ?
Go to the top of the page
+Quote Post
Daiquiri
post 22.06.2011, 16:06:34
Post #6





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Tak, dodaj stosowne tagi do kodu. np. [php ] kod php [/ php] - oczywiście bez spacji.
Go to the top of the page
+Quote Post
mortus
post 22.06.2011, 16:39:33
Post #7





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Cytat(Daiquiri @ 22.06.2011, 17:06:34 ) *
Tak, dodaj stosowne tagi do kodu. np. [php ] kod php [/ php] - oczywiście bez spacji.



Może to Ci się przyda - to. Podejrzyj źródło lub zajrzyj do dokumentacji.
Ale chyba bez JavaScript się nie obejdzie.
Go to the top of the page
+Quote Post
sharp156
post 22.06.2011, 16:40:51
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.06.2011
Skąd: poznań

Ostrzeżenie: (0%)
-----


dodałem co wymienione ... nie wiem czy dobrze czy źle ... tutaj widać wszystko.... jaśniej się nieda:P
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 18:14