Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> skrypt zapisuje do tabeli choć nie powinien/?/, else...elseif czy cos jeszcze
-beginner-
post
Post #1





Goście







nie ma wogóle żadnego problemu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował beginner 26.12.2005, 14:47:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
johnson
post
Post #2





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 3.12.2004

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


Cytat
jednak z jakis powodów  dla plików ponizej 50 k
wykonywane jest polecenie
  1. <?php
  2. $query = "INSERT into pictures (id, pic_name, main) values ('$id', '$named', 'YES') ";
  3. ?>

jak to z jakichś powodów?
przecież masz warunek:
  1. <?php
  2. if ($filesize <= 50000)
  3. ?>

czyli to co międzi {} wykona się dla plików poniżej 50 kB więc nie rozumiem Twojego zdziwienia?

Cytat
I ciekawostka ! polecenie wpisuje do tabeli  pic_name ale tylko skladową $sid  $named = "$login$sid.$app" main='YES' a nie wpisuje id.
o co tu chodzi ?


nic nie napisałeś, co to jest to $id i skąd ono się bierze, czy z formularza, czy z sesji, nic na ten temat nie wiadomo, więc trudno cokolwiek powiedzieć na ten temat.

poza tym piszesz trochę archaicznie, polecam Ci np. używanie $_FILES['userfile']['tmp_name'] zamiast $userfile

nie powinno się też pisać filesize("$userfile") tylko filesize($userfile)

funkcję SesID() też najlepiej umieścić na początku albo na końcu skryptu, a nie w środku

w tabeli pictures brak Ci również, z tego co widzę, klucza głównego, w zasadzie tą funkcję powinno tutaj pełnić id, ale u Ciebie tak nie jest, chyba, że kluczem jest pic_name, ale jak dla mnie to by było wtedy trochę przekombinowane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

poza tym po uporządkowaniu kodu, od razu widać poszczególne warunki if ... else i zawsze jest czytelne, w którym warunku akurat się znajdujesz:
  1. <?php
  2. if($userfile) {    
  3.     $filesize = filesize("$userfile");
  4.     print("<font size="2" face="Verdana" color="#0000FF">");
  5.     print("<b>Wielkosc pliku = $filesize</b><br>");
  6.     print("</font>");
  7.     if ($filesize <= 50000) {  
  8.         $imagesize = getimagesize("$userfile");
  9.         $query = "SELECT  login FROM members WHERE id = '$id' ";
  10.         $result = mysql_query($query);
  11.         $row_array =  mysql_fetch_row($result);
  12.         $login = $row_array[0];
  13.         if($imagesize[2] == 1) $app = "gif";
  14.         if($imagesize[2] == 2) $app = "jpg";
  15.         if($imagesize[2] == 3) $app = "png";
  16.         $photo=strtolower($id);
  17.         function SesID($length=4) {
  18.             global $id;  
  19.             $Pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  20.             $Pool .= "abcdefghijklmnopqrstuvwxyz";
  21.             $Pool .= "1234567890";
  22.             for($index = 0; $index < $length; $index++) {
  23.                 $sid .= substr($Pool, (rand()%(strlen($Pool))), 1);
  24.             }     
  25.             return($sid);
  26.         }   
  27.         srand(time());
  28.         $sid=SesID ();
  29.         $named = "$login$sid.$app";
  30.         $query = "SELECT  count(*) FROM pictures WHERE id = '$id' ";
  31.         $result = mysql_query($query);
  32.         if(!($result)) echo "nie mozna pobrac liczby zdjęc";
  33.         $row_array =  mysql_fetch_row($result);
  34.         $guest = $row_array[0];
  35.         //print("liczba do maina= $guest");
  36.         if ($guest == 0) {                
  37.             $query = "INSERT into pictures (id, pic_name, main)
  38. values ('$id', '$named', 'YES') ";
  39.             $result = mysql_query($query);    
  40.             if(!($result)) die("nie da sie zapisac maina do pictures");
  41.         } else {      
  42.             $query = "INSERT into pictures (id, pic_name) values ('$id', '$named') ";
  43.             $result = mysql_query($query);    
  44.             if(!($result)) die("nie da sie zapisac do pictures");
  45.         }         
  46.         copy($userfile, "./images/$named"); //zapisywanie pliku w images
  47.     } else {
  48.         print("<font size="2" face="Verdana" color="#0000FF">");
  49.         print("plik jest zbyt duzy Nie zapisano zdjęcia");
  50.         print("</font>");
  51.     }
  52. }
  53. ?>


Ten post edytował johnson 25.12.2005, 23:41:58
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: 26.12.2025 - 10:12