Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Co robię źle może ktoś mi pomóc[/php]
redelek
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
qqrq
post
Post #2





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

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


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


--------------------
Go to the top of the page
+Quote Post
redelek
post
Post #3





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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ść ?


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
kossa
post
Post #4





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


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


--------------------
Go to the top of the page
+Quote Post
redelek
post
Post #5





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
kossa
post
Post #6





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


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


--------------------
Go to the top of the page
+Quote Post
redelek
post
Post #7





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


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!!!


--------------------
Pozdrawiam
Piotrek R
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 Aktualny czas: 20.08.2025 - 04:25