Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] problem z pętlą
shiba
post 24.06.2009, 13:22:42
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 10.04.2009

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


Cześć, chciałem prosić Was o pomoc w rozwiązaniu problemu z pętlą (instrukcją warunkową) if ... chodzi o to że jeżeli dodam zdjęcie i uzupełnię przynajmniej jedno pole skrypt dodaje mi zdjęcie do bazy i resztę danych, natomiast problem zaczyna się kiedy chcę do bazy wstawić tyko sam tekst czyli dane z formularzy pomijając dodanie pliku, wówczas cały czas pokazuje mi komunikat: BŁĄD PODCZAS PRZESYŁANIA PLIKU, tak jakby kolejnej instrukcji juz nie widział ... dlatego proszę Was o pomoc ...

skrypt:
  1. <?php
  2. function odbierz($pole) {
  3. $pole = trim($pole);
  4. if (get_magic_quotes_gpc()) $pole = stripslashes($pole);
  5. return htmlspecialchars($pole, ENT_QUOTES);
  6. }
  7. $imie = odbierz($_POST['imie']);
  8. $nazwisko = odbierz($_POST['nazwisko']);
  9. $nazwa_firmy = odbierz($_POST['nazwa_firmy']);
  10. $opis = odbierz($_POST['opis']);
  11.                
  12. if (empty($imie)&&empty($nazwisko)&&empty($nazwa_firmy)&&empty($opis)){
  13. echo"musisz wypełnić co najmniej jedno pole ...";
  14. }
  15. //jesli istnieje plik i jedno z pol tekstowych nie jest puste wykonaj ponizsze
  16. if (isset($_FILES['plik'])&&!empty($imie)&&!empty($nazwisko)&&!empty($nazwa_firmy)&&!empty($opis)){
  17. //sprawdzamy czy plik został wysłany poprawnie
  18. if ($_FILES['plik']['error']==UPLOAD_ERR_OK){
  19. $nazwapliku=$_FILES['plik']['name'];      
  20. $typpliku=$_FILES['plik']['type'];      
  21. $rozmiarpliku=$_FILES['plik']['size'];      
  22. $srcplik=$_FILES['plik']['tmp_name'];
  23. //otwieramy plik w trybie do odczytu
  24. $plik=fopen($srcplik,"r");
  25. $mysqlplik = addslashes(fread($plik,$rozmiarpliku));
  26. fclose($plik);    
  27. unlink($srcplik);
  28. $mysqltyppliku = addslashes($typpliku);
  29. $mysqlnazwapliku = addslashes($nazwapliku);
  30. //nawiązujemy połączenie z bazą danych oraz wybieramy tabelę
  31. include("../tabele/dane.php");
  32. $conn = mysql_connect( $mysql_host, $mysql_login, $mysql_haslo );
  33. if (!$conn){
  34. echo"brak połączenia z bazą danych ...";
  35. }
  36. $db = mysql_select_db($mysql_baza);
  37. if (!$db){
  38. echo"błąd wyboru bazy danych ...";
  39. }
  40. //po nawiazaniu polaczenia z baza danych i tabela wykonaj ponizsze
  41. $zapytanie="INSERT INTO $mysql_tabela (id_dane,imie,nazwisko,nazwa_firmy,opis,plik,nazwa,typ,rozmiar) VALUES ('','$imie','$nazwisko','$nazwa_firmy','$opis','$mysqlplik','$mysqlnazwapliku','$mysqltyppliku','$rozmiarpliku')";
  42. //po wykonaniu sprawdź poprawność zapisu w bazie
  43. if($wynik=mysql_query($zapytanie,$conn)) {
  44. echo"dane zostały zapisane w bazie ...";
  45. } else {
  46. echo"błąd wykonania zapytania 1";
  47. }
  48. } else {
  49. echo"błąd podczas wysyłania pliku ...";
  50. }
  51. }
  52. //jesli nie istnieje plik i jedno z pol tekstowych nie jest puste wykonaj ponizsze
  53. if (!isset($_FILES['plik'])&&!empty($imie)&&!empty($nazwisko)&&!empty($nazwa_firmy)&&!empty($opis)){
  54. //po nawiazaniu polaczenia z baza danych i tabela wykonaj ponizsze
  55. $zapytanie2="INSERT INTO $mysql_tabela (id_dane,imie,nazwisko,nazwa_firmy,opis,plik,nazwa,typ,rozmiar) VALUES ('','$imie','$nazwisko','$nazwa_firmy','$opis','','','','')";
  56. //po wykonaniu sprawdź poprawność zapisu w bazie
  57. if($wynik2=mysql_query($zapytanie2,$conn)) {
  58. echo"dane zostały zapisane w bazie ...";
  59. } else {
  60. echo"błąd wykonania zapytania 2";
  61. }
  62. }
  63. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Closed 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: 14.08.2025 - 15:19