Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Co robię źle może ktoś mi pomóc[/php]
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,

Mam formularz z danymi dział, temat , link ,opis ,załącznik

Po wypełnieniu tych pól powinno działać coś takiego
  1. <?php
  2. $dzial=$_POST['f_dzial'];
  3. $temat=$_POST['f_temat'];
  4. $opis=$_POST['f_opis'];
  5. $linki=$_POST['f_linki'];
  6. $dt=$_POST['f_data'];
  7. //$nazwa_pliku_mysql='http://localhost/pliki/'.$_FILES['plik']['name'];
  8. //dołaczanie plików
  9. include ('config.php');
  10.  
  11.  
  12.  
  13.  
  14. if (!$temat==' '){
  15. print 'Nie wypełnione pole <font color=red><b><u>!! TEMAT !!</u></b></font>';
  16. } elseif (!$opis==' '){
  17. print 'Nie wypełnione pole <font color=red><b><u>!! OPIS !!</u></b></font>';
  18. }else
  19.  
  20. if(@move_uploaded_file($_FILES['plik']['tmp_name'], 'pliki/'.$_FILES['plik']['name']))
  21.  exit ('lipa');
  22. /*
  23. $polacz = mysql_connect($host, $user, $pass) or die ($err_mysql);
  24. mysql_select_db($baza);
  25. $zapytanie=mysql_query("insert into $tabela values(NULL,'$dzial','$temat','$opis','$linki','$dt','$nazwa_pliku_mysql')");
  26.  */ 
  27. print 'Rekord dodany pomyślnie';
  28. ?>


Problem jest taki że nie dodaje pliku na serwer

Dzięki
Redelek
qqrq
A nie powinno przypadkiem być:

  1. <?php
  2. if(!move_uploaded_file($_FILES['plik']['tmp_name'], 'pliki/'.$_FILES['plik']['name']))
  3.  exit ('lipa');
  4. ?>


questionmark.gif
redelek
Cytat(qqrq @ 30.08.2007, 13:09:14 ) *
A nie powinno przypadkiem być:

  1. <?php
  2. if(!move_uploaded_file($_FILES['plik']['tmp_name'], 'pliki/'.$_FILES['plik']['name']))
  3.  exit ('lipa');
  4. ?>


questionmark.gif


No tak ale chciałem żeby załącznik był opcjonalny, nie koniecznie go trzeba dodać. Można to jakoś obejść ?
kossa
bo po wykonaniu jednej z instrukcji w pętli if else kończysz działanie skryptu exit;

przenieś upload do pętli i tam sprawadzaj, czy jest plik przesłany - jeśli tak to zapisuj go

Łukasz
redelek
Cytat(kossa @ 30.08.2007, 13:25:31 ) *
bo po wykonaniu jednej z instrukcji w pętli if else kończysz działanie skryptu exit;przenieś upload do pętli i tam sprawadzaj, czy jest plik przesłany - jeśli tak to zapisuj goŁukasz
a troszkę jaśniej raczkuję troszkę :)Oki dziękiNa razie poradziłem sobie tak , że wywaliłem exit ('lipa'); i działa tak jak chciałem.Może kiedyś jak dorosnę to to rozwinę smile.gif
kossa
1. zamiast print echo - szybciej sie wykonuje
2. znacznik font jest juz wykreslony ze specyfikacji xhtml, uzywaj css

  1. <?php
  2. if (!$temat==' ')
  3. {
  4. echo 'Nie wypełnione pole <font color=red><b><u>!! TEMAT !!</u></b></font>';
  5. } 
  6. elseif (!$opis==' ')
  7. {
  8. echo 'Nie wypełnione pole <font color=red><b><u>!! OPIS !!</u></b></font>';
  9. }
  10. else
  11. { 
  12.  if ($_FILES['plik']['size']>0) //nie pamietam czy tak - sprawdz tablice file - czy size
  13.  {
  14. //jesli plik istnieje to kopiuje
  15.  move_uploaded_file($_FILES['plik']['name'], 'pliki/'.$_FILES['plik']['name']);
  16. //dodaj sobie jakies info ze plik zapisany ok
  17. }
  18.  
  19.  
  20. //dane do bazy z formularza tu - sql
  21.  
  22. echo 'Rekord dodany pomyślnie';
  23. }
  24. ?>
jeśli się nie dodaje plik to:

1. sprawdź czy masz prawa zapisu do katalogu pliki ustawione na serwerze
2. podejrzyj tablice $_FILES['plik'] co zawiera
redelek
Cytat(kossa @ 30.08.2007, 13:57:38 ) *
1. zamiast print echo - szybciej sie wykonuje2. znacznik font jest juz wykreslony ze specyfikacji xhtml, uzywaj css
  1. <?phpif (!$temat==' '){ echo 'Nie wypełnione pole <font color=red><b><u>!! TEMAT !!</u></b></font>';} elseif (!$opis==' '){ echo 'Nie wypełnione pole <font color=red><b><u>!! OPIS !!</u></b></font>';}else{   if ($_FILES['plik']['size']>0) //nie pamietam czy tak - sprawdz tablice file - czy size  { //jesli plik istnieje to kopiuje  move_uploaded_file($_FILES['plik']['name'], 'pliki/'.$_FILES['plik']['name']); //dodaj sobie jakies info ze plik zapisany ok } //dane do bazy z formularza tu - sqlecho 'Rekord dodany pomyślnie';}?>
jeśli się nie dodaje plik to:1. sprawdź czy masz prawa zapisu do katalogu pliki ustawione na serwerze2. podejrzyj tablice $_FILES['plik'] co zawiera
Ale nie dodaje pliku. W MySQL widać go ale fizycznie nie dodaje go na serwer ?RedelekOKI działa DZIĘKI SERDECZNE ZA POMOC exclamation.gif!!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.