Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Warunki
Lethys
post 24.08.2010, 12:52:03
Post #1





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Napisalem skrypt uploadu avatarow:

  1. <?php
  2.  
  3. $_POST['plik'];
  4. $file_size = $_FILES['plik']['size'];
  5. $file_name = $_FILES['plik']['name'];
  6. $file_type = $_FILES['plik']['type'];
  7.  
  8.  
  9. if($file_size > 40000){
  10. echo "Plik ma zbyt duży rozmiar - maksymalny rozmiar to 40KB, twój plik ma $file_size bitów";
  11. }elseif($file_type != "image/gif" and $file_type != "image/jpg" and $file_type != "image/jpeg"){
  12. echo "Plik ma zły format. Dopuszczalny jest jpg oraz gif. Twój plik ma format $file_type";
  13. }else{
  14. $tmp_name = $_FILES["plik"]["tmp_name"];
  15. $name1 = $_FILES["plik"]["name"];
  16. $nazwa = rand(1, 999990);
  17. move_uploaded_file($tmp_name, "avatars/$nazwa.jpg");
  18. print "Avatar o danych ($file_size bitów, format $file_type) został poprawie wgrany.";
  19. mysql_query("update players set avatar='avatars/$nazwa.jpg' where id=$stat[id]");
  20. print "<br><br><center><img border=\"0\" src=\"$stat[avatar]\" width=\"80\" height=\"80\"></center>";
  21.  
  22.  
  23.  
  24. }
  25.  
  26.  
  27. ?>


Wszystko działa ale problem jest taki że nawet jak ktoś nie ma avataru i po prostu wchodzi w ten skrypt aby wgrac to wywala mu :
Cytat
echo "Plik ma zły format. Dopuszczalny jest jpg oraz gif. Twój plik ma format $file_type";


Jak moge zedytowac tak warunki zeby wiadomosci pojawialy sie tylko przy juz wgranym pliku ?


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
wookieb
post 24.08.2010, 12:59:09
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://pl2.php.net/is_uploaded_file


--------------------
Go to the top of the page
+Quote Post
gorden
post 24.08.2010, 13:23:08
Post #3





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


brakuje is_uploaded_file
tak to spróbuj może tak (linia 11 w Twoim kodzie)
  1. }elseif($file_type != "image/gif" or $file_type != "image/jpg" or $file_type != "image/jpeg"){


Ten post edytował gorden 24.08.2010, 13:24:17
Go to the top of the page
+Quote Post
Lethys
post 24.08.2010, 13:45:01
Post #4





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


ok teraz mi działa z tym is_uploaded_file.

Ale mam jeszcze jeden problem z warunkami.

Mam skrypt odpisywania na wiadomosci :

  1. <?php
  2.  
  3. $czytaj = mysql_fetch_array(mysql_query("select * from poczta where id='$czytaj'"));
  4. $stat = mysql_fetch_array(mysql_query("select * from players where user='$user' and pass='$pass'"));
  5. ?></h2><br>
  6.  
  7. <div class="entry">
  8. <?php
  9. if($czytaj[ownerid] != $stat[id]){
  10. print "Nie posiadasz takiego listu";
  11. print "<br><br><a href=poczta.php?view=sprawdz>wróć do poczty</a>";
  12. }else{
  13.  
  14.  
  15. <form method=post action=odpisz.php?action=wysylanie>
  16.  
  17. <br>ID odbiorcy:<br> <input type=\"text\" name=\"odbiorca\" value=\"$czytaj[senderid]\" readonly=\"readonly\">
  18. <br>Temat:<br> <input type=\"text\" name=\"temat\" value=\"Odp\">
  19. <br>List: <br><textarea name=\"list\" cols=\"50\" rows=\"10\"></textarea>
  20.  
  21.  
  22. <br><br><input type=\"submit\" value=\"Odpisz\" name=\"submit\">
  23. ";
  24.  
  25. }
  26. if ($action == wysylanie) {
  27. if (!$odbiorca || !$temat || !$list) {
  28. print "Musisz wypełnić wszystkie pola.";
  29. }
  30. if (!$odbiorca == $stat[id]) {
  31. print "Nie możesz wysłać listu do siebie.";
  32. }
  33. $dupe2 = mysql_num_rows(mysql_query("select * from players where id='$odbiorca'"));
  34. if ($dupe2 = 0) {
  35. print "Nie ma gracza o takim ID.";
  36. }
  37. $data = date("d.m.y");
  38. $sender = $stat[user];
  39. $senderid = $stat[id];
  40. mysql_query("insert into poczta (ownerid, subject, body, sender, senderid, data) values('$odbiorca','$temat','$list','$sender','$senderid', '$data')") or die("Nie można wysłać");
  41.  
  42. print "List został wysłany.";
  43. }
  44.  
  45. print "<br><br><a href=czytaj.php?czytaj=$czytaj[id]>wróć do listu</a> | <a href=poczta.php?view=sprawdz>wróć do poczty</a>";
  46.  
  47.  
  48.  
  49.  
  50.  
  51. ?>


Oczywiscie skrypt dziala ale po odpisaniu na jakis list wyskakuje nagle wiadomosc z warunku :

Cytat
print "Nie posiadasz takiego listu";


Jak w tym przypadku temu zaradzić ?


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
Kasat
post 24.08.2010, 13:55:22
Post #5





Grupa: Zarejestrowani
Postów: 60
Pomógł: 2
Dołączył: 22.08.2008

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


  1. print "List został wysłany.";


daj po tym die();

i spr.
Go to the top of the page
+Quote Post
Lethys
post 24.08.2010, 14:05:59
Post #6





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Sprawdziłem i nadal wyskakuje ten górny warunek :/

A musi on być żeby ni ebyło tak że ktoś sobie przegląda nie swoje listy bądź odpisuje na nie swoje.

Ten post edytował Lethys 24.08.2010, 14:06:47


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
Kasat
post 24.08.2010, 14:09:17
Post #7





Grupa: Zarejestrowani
Postów: 60
Pomógł: 2
Dołączył: 22.08.2008

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


może masz źle coś napisane w tym warunku? nazwę pola w bazie?
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: 7.07.2025 - 13:30