Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wysyłanie obrazka i jego nazwy. Jak połączyć?
Forum PHP.pl > Forum > PHP
Domon
Witam, zrobiłem formularz który wysyła tytuł (czegoś tam) do bazy sql oraz obrazek do folderu (tricki) chciałbym jeszcze żeby wysyłał on nazwę pliku wybranego w tym formularzu. Lecz tego nie robi. Mam taki kod:

Kod
[...]
   if (isset($_POST['zglos'])) {
  
       $upload = $_FILES['upload'];
       if ($upload['name'] != "" && !empty($upload['name']) && is_uploaded_file($upload['tmp_name']) && $upload['size'] <= $upload_maxsize) {
           $upload_ext = strrchr($upload['name'],".");
           if (in_array($upload_ext, $upload_extensions)) {
               $upload_name = $upload['name'];
               move_uploaded_file($upload['tmp_name'], $upload_folder.$upload_name);
               chmod($upload_folder.$upload_name,0777);
  
           } else {
               $upload_error = $locale['fup124'];
           }
       } else {
           $upload_error = $locale['fup125'];
       }
       echo "<center>
  
   ".(!isset($upload_error) ? $locale['fup123'] : $upload_error)."
  
  
   <a href='".FUSION_SELF."'>".$locale['fup112']."</a>
  
  
   <a href='".ADMIN."index.php'>".$locale['fup113']."</a>
  
  
   </center>\n";
  
  
  
      
       /////
   $dodawanie = dbquery("insert into prace (praca,dodal,akceptacja,final,tytul) VALUES ('".$_POST['upload']."', '".$userdata['user_id']."', '','', '".$_POST['tytul']."')");
   echo '<center><b><span style="color: rgb(247, 80, 19);">Praca została zgłoszona. Czeka na akceptacje przez Administratora!</span></b></center>';
  
  
  
  
  
   } else {
  
  
   echo "<center>
   ".$userdata['user_name']." trick który chcesz dodać na konkurs, musi być wykonany w pełni przez Ciebie.
  
   Może być to:
  
   a) Zdjęcie
  
   b) Rysunek
  
   c) Fotomontaż
  
   Ważne aby dodana przez Ciebie praca była w pełni Twoja, i żeby nie był to żaden plagiat!
  
   Je¶li chcesz dodać pracę, wypełnij poniższy formularz.
  
   Uwaga: Proszę zamie¶cić swoj± pracę na jakim¶ darmowym uploadzie obrazków, np. <a href='http://imageshack.us/' target='_blank'>imageshack</a>.
  
   Ma to uchronić Nas przed włamaniem oraz przekroczeniem pojemno¶ci FTP.
   </center>
  
   ";
  
   echo '
   <center>
   <form action="" method="POST" enctype=\'multipart/form-data\'>
  
   <table border="0" style="border-collapse: collapse">
       <tr>
           <td>Nazwa pracy:</td>
           <td><input type="text" class="textbox" value="" name="tytul" style="width:200"></td>
       </tr>
       <tr>
           <td>Link do pracy:</td>
           <td>
           <input type=\'file\' name="upload" class=\'textbox\' style=\'width:250px;\'>
   </td>
       </tr>
   </table>
  
  
   <input type="submit" class="button" value="Zgło¶ pracę" name="zglos">
   </form></center>
   ';
   }

[...]


Gdy zmienię
Kod
  <form action="" method="POST" enctype=\'multipart/form-data\'>
na
Kod
   <form action="" method="POST">

wysyła mi nazwe tego pliku do bazy lecz nie wysyła już obrazka do folderu. Co z tym zrobić? Przypominam że tytuł wysyła w 1 i w 2 przypadku...

[...] - dalsza część kodu
bim2
Zostaw na miejscu
enctype=\'multipart/form-data\'>

A w skrypcie zobacz co daje print_r($_FILES['upload']); smile.gif
Domon
Mam to dodać gdzieś? Bo po dodaniu wyskakuje mi błąd gdy wysyłam i nie dociera ani obrazek ani nazwa do serwera..
bim2
Wróżka na nartach śmiga, jakie błędy?
Domon
Kod
Array (     [name] => parko9ur.gif     [type] => image/gif     [tmp_name] => /tmp/phpilv0DT     [error] => 0     [size] => 204077 )


ten kod co dałeś dodałem zaraz pod:
Kod
$upload = $_FILES['upload'];
bim2
Więc obrazek przesyła, masz także jego nazwę smile.gif
Domon
No ale ja potrzebuje aby nazwa tego obrazka była wysłana do mysql tabela prace pole praca. I w tym tkwi błąd że nie ma go tam..
bim2
$_FILES['upload']['name'] zawiera nazwę obrazka...
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.