Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z formularzem
Forum PHP.pl > Forum > PHP
dela
Mój problem jest następujący... próbuje połączyć upload plików i formularz dotyczący dodawania newsów w jeden <form>
To jest początek formu i właśnie tu jest ten błąd, a wiec:
-jeżeli umieszczę taki kod
  1. <form action="je.php" method="post">
  2. Miniatura: <input type="file" id="miniatura" name="miniatura"><br />
  3. Nazwa: <input name="nazwa" type="text" style="width: 400px; height: 16px;" maxlength="32" />

dodaje sama treść (zawartość pola "nazwa" oraz sama treść pola "miniatura") ale nie wrzuca pliku na serwer
- ale jeżeli umieszczę coś takiego
  1. <form action="je.php" method="post" enctype="multipart/form-data">
  2. Miniatura: <input type="file" id="miniatura" name="miniatura"><br />
  3. Nazwa: <input name="nazwa" type="text" style="width: 400px; height: 16px;" maxlength="32" />

wrzuca plik na serwer ale nie wrzuca tresci do bd

Proszę o pomoc... Z góry dzięki
Spawnm
może pokaż kod php skoro piszesz w dziale php ...
dela
  1. <?php
  2.  
  3. //dodaje nieruchomosc
  4. if (isset($_POST['submit'])) {
  5. $nazwa = $_POST['nazwa'];
  6. $opis = $_POST['opis'];
  7. $typ = $_POST['typ'];
  8. $kraj = $_POST['kraj'];
  9. $cena = $_POST['cena'];
  10. $powierzchnia = $_POST['powierzchnia'];
  11. $jednostka = $_POST['jednostka'];
  12. $miniatura = $_POST['miniatura'];
  13.  
  14. if ($nazwa && $opis && $typ && $kraj && $cena && $powierzchnia && $jednostka && $miniatura) {
  15.    $Zapytanie = "INSERT INTO nieruchomosci (nazwa, opis, typ, kraj, cena, powierzchnia, jednostka, miniatura) VALUES ('$nazwa', '$opis', '$typ', '$kraj', '$cena', '$powierzchnia', '$jednostka', '$miniatura')";
  16.    $Wynik = mysql_query($Zapytanie);
  17.    if ($Wynik) {
  18.        echo 'Nieruchomość została dodana do bazy danych!';
  19.    }
  20.    else
  21.    {
  22.           echo mysql_error();
  23.    }
  24. }
  25. }
  26.  
  27. //dodaje miniaturke
  28. $upload_dir = "nieruchomosc_miniatura/";
  29. $upload_url = $url_dir."/nieruchomosc_miniatura/";
  30. $message ="";
  31.  
  32. if (!is_dir("nieruchomosc_miniatura")) {
  33.    die ("nie ma takiego katalogu");
  34. }
  35.  
  36. if ($_FILES['miniatura']) {
  37.    $message = do_upload($upload_dir, $upload_url);
  38. }
  39. else {
  40.    $message = "";
  41. }
  42.  
  43. print $message;
  44.  
  45. function getExtension($strPath) {
  46.    
  47.    return strtolower( end( explode( ".", basename($strPath) ) ) );
  48. }
  49.  
  50. function do_upload($upload_dir, $upload_url) {
  51.  
  52.    $temp_name = $_FILES['miniatura']['tmp_name'];
  53.    $file_name = $_FILES['miniatura']['name'];
  54.    $file_type = $_FILES['miniatura']['type'];
  55.    $file_size = $_FILES['miniatura']['size'];
  56.    $result    = $_FILES['miniatura']['error'];
  57.    $file_url  = $upload_url.$file_name;
  58.    $file_path = $upload_dir.$file_name;
  59.    $filename = basename($_FILES['miniatura']['name']);
  60.    $ext = getExtension($filename);
  61.    
  62.    //File Name Check
  63.    if ( $file_name =="") {
  64.        $message = "Nazwa tego pliku jest nie prawidłowa";
  65.        return $message;
  66.    }
  67.    //Rozmiar pliku
  68.    else if ( $file_size > 500000000) {
  69.        $message = "Plik jest za duży, maksymalny rozmiar pliku to 5000KB.";
  70.        return $message;
  71.    }
  72.    //Zakazane rozszerzenia plików
  73.    else if ($ext == "php" or $ext=="js" or $ext=="html" or $ext=="php1" or $ext=="php2" or $ext=="php3" or $ext=="php4" or $ext=="php5" or $ext=="rar" or $ext=="inc" or $ext=="zip") {
  74.        $message = "Dany plik nie może zostać wgrany" ;
  75.        return $message;
  76.    }
  77.  
  78.    $result  =  move_uploaded_file($temp_name, $file_path);
  79.    $message = ($result)?"" :
  80.              "Somthing is wrong with uploading a file.";
  81.  
  82.    return $message;
  83. }
  84.  
  85. //sprawdza czy uzytkownik jest zalogowany
  86. $usermgr = new xxxxxxxxxxxxx();
  87. $user_name === NULL;
  88. $userid = $usermgr->xxxxxxxxxxxxxxxxxsession_id());
  89.  
  90. if($userid === -1){
  91. echo '';
  92.  
  93. }else{
  94.    
  95. <div id="administracja2">
  96. <b>Dodaj nieruchomość do bazy danych</b><br /><br />
  97.  
  98. <form action="je.php" method="post" enctype="multipart/form-data">
  99. Załaduj miniature: <input type="file" id="miniatura" name="miniatura"><br />
  100. Nazwa: <input name="nazwa" type="text" style="width: 400px; height: 16px;" maxlength="32" /><br /><br />
  101. &nbsp;&nbsp;Opis: <textarea name="opis" style="width: 420px; height: 70px;"></textarea><br /><br />
  102. Typ: <select name="typ" style="width: 386px; height: 20px;" >
  103.        <option>Mieszkanie</option>
  104.        <option>Dom</option>
  105.        <option>Działka</option>
  106.     </select><br /><br />
  107. Kraj: <select name="kraj" style="width: 386px; height: 20px;">
  108.        <option>Polska</option>
  109.        <option>Rosja</option>
  110.        <option>Hiszpania</option>
  111.        <option>Wielka Brytania</option>
  112.      </select><br /><br />
  113. Cena: <input name="cena" type="text" style="width: 150px"/>
  114. <select name="jednostka" style="width: 100px; height: 20px;">
  115.        <option>€</option>
  116.        <option>Zł</option>
  117.        <option>Ł</option>
  118.        <option>RUB</option>
  119. </select><br /><br />
  120. Powierzchnia: <input name="powierzchnia" type="text" style="width: 150px"/><br /><br />
  121. <input type="submit" name="submit" value="Dodaj" /></form>
  122. </div>
  123. ';
  124. }
  125. ?>
Spawnm
$miniatura = $_POST['miniatura']; plików nie odbieramy postem
dela
za pomoca get?
Spawnm
$_FILES['miniatura']['name']; smile.gif
dela
Właśnie wpadłem na ten sam pomysł... Dzięki misrzuniu:*
Darti
  1. <?php
  2. parse_str(rawurldecode(file_get_contents("php://input")),$_OUT);
  3. print_r($_OUT);
  4. ?>
Pawel_W
eee wiem że to może lekki offtop, ale masz tam błąd

  1. <?php
  2. else if ( $file_size > 500000000) {
  3.       $message = "Plik jest za duży, maksymalny rozmiar pliku to 5000KB.";
  4.       return $message;
  5.   }
  6. ?>


500.000.000 Bajtów = 500.000 KB a nie 5000...
erix
Cytat
500.000.000 Bajtów = 500.000 KB a nie 5000...

Od kiedy przez 1000...? Poza tym: 500 000 000 B = 488 281,25 KiB = 476,83 MiB

http://pl.wikipedia.org/wiki/Bajt

Dyski twarde produkujesz? tongue.gif
dela
To jest tylko komentarz... smile.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.