Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]rozbudowany formularz dodawania danych
michal_86
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


Witam!

Chciałbym stworzyć formularz razem z skryptem dodawania, który będzie równocześnie dodawał tekst i zdjęcie

formularz wygląda tak:

  1. <form action="ddbwpow52.php" method="POST">
  2.  
  3. ID - tylko cyfry<br/>
  4. <input type="text" name="id"/ size=\"5\"><br/>
  5. Lokalizacja<br/>
  6. <input type="text" name="Lokalizacja"/ size=\"50\"><br/>
  7. Tytul<br/>
  8. <input type="text" name="tytul"/ size=\"150\"><br/>
  9. Opis<br/>
  10. <textarea name="opis" cols="70" rows="25"></textarea><br/>
  11.  
  12. Powierzchnia<br/>
  13. <input type="text" name="powierzchnia"/ size=\"150\"><br/>
  14. czynsz<br/>
  15. <input type="text" name="czynsz"/ size=\"150\"><br/>
  16. Dostepne<br/>
  17. <input type="text" name="dostepne"/ size=\"100\"><br/>
  18. Zdjecie<br/>
  19. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  20. <form enctype="multipart/form-data" action="ddbwpow52.php" method="POST">
  21. Zdjęcie : <input name="zdjecie" type="file" /><br/>
  22. <input type="submit" value="dodaj"/>
  23. <input type="reset" value="Kasuj" />
  24. </CENTER>
  25. </form>


problem polega na tym, iż jak pewnie zauważyliście są dwie opcje wysyłania: <form action="ddbwpow52.php" method="POST"> oraz <form enctype="multipart/form-data" action="ddbwpow52.php" method="POST">
Jak się również zapewne domyślacie skrypt wykonuje tylko jedną metodę wysyłki - tą która znajduje się wyżej. Co ciekawe jeśli drugą opcje umieszczę ponad zwykłe wysyłanie - skrypt nie robi niczego, gdy jest tak jak teraz dodaje tylko tekst

Oto skrypt dodawania:
  1. $id = $_POST['id'];
  2. $tytul = $_POST['tytul'];
  3. $opis = $_POST['opis'];
  4. $powierzchnia = $_POST['powierzchnia'];
  5. $czynsz = $_POST['czynsz'];
  6. $dostepne = $_POST['dostepne'];
  7. $Lokalizacja = $_POST['Lokalizacja'];
  8. $zdjecie= $_POST['zdjecie'];
  9.  
  10. if( $id and $tytul and $opis and $powierzchnia and $czynsz and $dostepne and $Lokalizacja and $zdjecie ) {
  11.  
  12.  
  13. $connection = @mysql_connect('localhost', 'root')
  14. or die('Brak połączenia z serwerem MySQL');
  15. $db = @mysql_select_db('biurapow5', $connection)
  16. or die('Nie mogę połączyć się z bazą danych');
  17.  
  18. // dodajemy rekord do bazy
  19. $ins = @mysql_query("INSERT INTO pow5 SET id='$id', tytul='$tytul', opis='$opis', powierzchnia='$powierzchnia', czynsz='$czynsz', dostepne='$dostepne', Lokalizacja='$Lokalizacja', zdjecie='$zdjecie' ");
  20.  
  21. if($ins) echo "Rekord został dodany poprawnie";
  22. else echo "Błąd nie udało się dodać nowego rekordu";
  23. if( is_uploaded_file( $_FILES['zdjecie']['tmp_name'] ) )
  24. {
  25. $strUploadDir = 'images/' . $_FILES['zdjecie']['name'];
  26. if( move_uploaded_file( $_FILES['zdjecie']['tmp_name'], $strUploadDir ) )
  27. {
  28. echo 'Plik został pomyślnie uploadowany! <br />';
  29. }
  30. else
  31. {
  32. echo 'Upload pliku nie powiódł się!';
  33. }
  34. echo 'Dodatkowe informacje o uploadowanym pliku: <pre>' . print_r( $_FILES, true ) . '</pre>';
  35. }
  36. else
  37. {
  38. echo 'Wystąpił błąd podczas wysyłania pliku na serwer!';
  39. }
  40.  
  41. mysql_close($connection);
  42. }
  43.  
  44. ?>


I moje pytanie - czy da się zmienić coś w samym formularzu aby oba typy wysłania szły za jednym kliknięciem, czy musze kombinować ze skryptem, a jeśli tak to w jakim kierunku?

Pozdr
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 00:15