Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]pokazuje , że nie ma pliku jak jest :/
Forum PHP.pl > Forum > Przedszkole
mattii
oto kod:

  1.  
  2. <?php
  3.  
  4. // sprawdzenie zmiennej sesji
  5. if(isset($_SESSION['prawid_uzyt']))
  6. {
  7.  
  8.  
  9. require_once "pliki/php/db_connect.php";
  10. // wywoluje funkcje db_connect()
  11. db_connect();
  12.  
  13. if(isset($_POST['usun']) )
  14. {
  15. $zapytanie2="DELETE FROM towar_na_sprzedaz WHERE
  16. id_tow_na_sp='".$_POST['tow_na_sp_edit']."'" ;
  17.  
  18.  
  19. $wynik2 = $bd_lacz->query($zapytanie2);
  20. }
  21.  
  22.  
  23. $zapytanie = "SELECT * FROM towar_na_sprzedaz, kategoria, osoba
  24.  
  25. WHERE
  26.  
  27. towar_na_sprzedaz.kategoria_id_kategorii = kategoria.id_kategorii
  28.  
  29. and
  30.  
  31. towar_na_sprzedaz.kupiec_osoba_id_osoby= osoba.id_osoby ORDER BY id_tow_na_sp ";
  32.  
  33. $wynik = $bd_lacz->query($zapytanie);
  34. $ile=$wynik->num_rows;
  35.  
  36.  
  37. //$wynik=mysqli_query($bd_lacz, $zapytanie);
  38. //$ile=mysqli_num_rows($wynik);
  39.  
  40. if ($ile==0) {
  41. echo "Baza danych nie zawiera jeszcze towarów.";
  42. } else {
  43.  
  44.  
  45. ?>
  46.  
  47. <table id="rounded-corner" >
  48. <thead>
  49. <tr><th scope="col" class="rounded-login">Lp</th>
  50. <th scope="col" class="rounded-login">Nazwa Kategorii</th>
  51. <th scope="col" class="rounded-q2">Nazwa Kupca</th>
  52. <th scope="col" class="rounded-q3">Nazwa Towaru</th>
  53. <th scope="col" class="rounded-q4">Cena</th>
  54. <th scope="col" class="rounded-q9"></th>
  55. <th scope="col" class="rounded-q10"></th>
  56. </tr>
  57. </thead>
  58.  
  59. <tbody>
  60.  
  61. <?php
  62.  
  63. for ($i=0;$i<$ile;$i++) {
  64. $wiersz=$wynik->fetch_assoc();
  65.  
  66.  
  67.  
  68. echo '<form method="post">';
  69. echo '<tr>';
  70. echo '<td>';
  71. echo $co=$i+1;
  72. echo '</td>';
  73. echo '<td>';
  74. echo $wiersz['nazwa_kategorii'];
  75. echo '<td>';
  76.  
  77. echo $wiersz['imie'];
  78. echo ' ';
  79. echo $wiersz['nazwisko'];
  80. echo'</td>';
  81. echo '<td>';
  82. echo $wiersz['nazwa'];
  83. echo'</td>';
  84. echo '<td>';
  85. echo $wiersz['cena'];
  86. echo'</td>';
  87. echo '</td>';
  88. echo '<td>';
  89. echo '<input type="submit" name="edycja" value="Edycja" >
  90.  
  91.  
  92. ';
  93. echo'</td>';
  94. echo '<td>';
  95. echo '<input name="usun" type="submit" value="Usuń">
  96. <input type="hidden" name="tow_na_sp_edit" value="'.$wiersz['id_tow_na_sp'].'">';
  97. echo'</td>';
  98. echo '</form>';
  99. echo '<td>';echo '<form method="post">';
  100. echo '
  101. <input name="dodaj_zdjecia" type="submit" value="dodaj zdjecia">
  102.  
  103. <input type="hidden" name="tow_na_sp_edit" value="'.$wiersz['id_tow_na_sp'].'">
  104. ';
  105. echo'</td>';
  106. echo '</form>';
  107.  
  108. echo '</form>';
  109. echo '<td>';echo '<form method="post" action="pliki/php/json.php">';
  110. echo '
  111.  
  112. <input name="zobacz zdjecia" type="submit" value="zobacz zdjecia">
  113. <input type="hidden" name="tow_na_sp_edit" value="'.$wiersz['id_tow_na_sp'].'">
  114.  
  115. ';
  116. echo'</td>';
  117. echo '</form>';
  118.  
  119. echo'</tr></tbody>';
  120.  
  121.  
  122.  
  123.  
  124.  
  125. }
  126. echo '<tfoot>
  127. <tr>
  128. <td colspan="6" class="rounded-foot-left"><em>Tabela przedstawia zakupy towarów</em></td>
  129. <td class="rounded-foot-right">&nbsp;</td>
  130. </tr>
  131. </tfoot>
  132. </table>';
  133.  
  134.  
  135.  
  136. }
  137.  
  138.  
  139. if (isset($_POST['dodaj_zdjecia'])){
  140.  
  141. cały kod jaki ma być tutaj jest opisany niżej - musiałem go usunac z tad bo miałem za długi post.
  142.  
  143. }
  144.  
  145.  
  146.  
  147. if(isset($_POST['edycja'])){
  148.  
  149.  
  150.  
  151. tutaj jest kod do edycji - wszytko działa jak tzreba
  152.  
  153.  
  154.  
  155.  
  156.  
  157. }
  158.  
  159.  
  160. else
  161. {
  162. echo '<p>Użytkownik niezalogowany.</p>';
  163. echo '<p>Tylko zalogowani użytkownicy mogą oglądać tę stronę.</p>';
  164. }
  165.  
  166. ?>
  167.  


troszkę przydługi, ale wszystko działa - edycja usuwane - wyswietlanie zdjec - nie działa tylko dodawanie zdjęć:

czyli ten kod:

  1. if (isset($_POST['dodaj_zdjecia'])){
  2.  
  3.  
  4.  
  5.  
  6.  
  7. $towar=$_POST['tow_na_sp_edit'];
  8. <h1>Upload zdjęcia do galerii</h1>
  9. <form action="pliki/php/zakup.php?plik=dodaj" method="post" enctype="multipart/form-data" name="form1">
  10. <input name="plik" type="file" size="50"/>
  11. <input name="max_file_size" type="hidden" value="2048576" />
  12. <input value="Wyślij zdjęcie" type="submit" />
  13. <input type="hidden" name="towar" value="'.$towar.'">
  14. </form>
  15.  
  16.  
  17. </a>
  18.  
  19. ';
  20. //$towar=$_POST['towar'];
  21. //echo $towar;
  22.  
  23.  
  24.  
  25. if(isset($_GET['plik']) && $_GET['plik']=='dodaj')
  26. {
  27. $p_pojemnosc=$_FILES['plik']['size'];
  28. $p_typ=$_FILES['plik']['type'];
  29. if( strpos( $p_typ, 'image/jpeg' ) === false )
  30. die( 'Wybrany plik nie plikiem jpg.' );
  31. $p_nazwa=$_FILES['plik']['name'];
  32. $p_smiec=$_FILES['plik']['tmp_name'];
  33.  
  34. $p_nazwa = strtolower($p_nazwa);
  35. $p_nazwa = str_replace("ż","z",$p_nazwa);
  36. $p_nazwa = str_replace("ą","a",$p_nazwa);
  37. $p_nazwa = str_replace(" ","",$p_nazwa);
  38. $p_nazwa = str_replace("_","",$p_nazwa);
  39. $p_nazwa = str_replace("ś","s",$p_nazwa);
  40. $p_nazwa = str_replace("ł","l",$p_nazwa);
  41. $p_nazwa = str_replace("ó","o",$p_nazwa);
  42. $p_nazwa = str_replace("ń","n",$p_nazwa);
  43. $p_nazwa = str_replace("ź","z",$p_nazwa);
  44. $p_nazwa = str_replace("ć","c",$p_nazwa);
  45. $p_nazwa = str_replace("ę","e",$p_nazwa);
  46.  
  47. $sprawdzenia = substr($p_nazwa, strrpos($p_nazwa, "."));
  48.  
  49. $p_roz= array_pop(explode(".", $p_nazwa));
  50.  
  51. $max_size=round(($_POST['max_file_size']/2048576),3)."MB";
  52.  
  53. $poj_MB=round(($p_pojemnosc/2048576),2).'MB';
  54.  
  55. $p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;
  56. $folder="photos/";
  57.  
  58. if ($p_pojemnosc <= 0)
  59. {
  60. echo ("Plik jest pusty. Nie mogę go przesłać <b>".$p_nazwa." ".$poj_MB.$f_koniec."");
  61. echo "<a href='zakup.php'>Wracaj ...</a>";
  62. }
  63. if ($poj_MB > $max_size)
  64. {
  65. echo("Plik jest za duży. Maksymalnie można wysłać <b>".$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$poj_MB.$f_koniec."</i></b>");
  66. echo "<a href='zakup.php'>Wracaj ...</a>";
  67. }
  68. if (file_exists($folder.$p_nazwa_zm))
  69. {
  70. echo ("Plik o takiej nazwie jest już na serwerze <b><i>".$p_nazwa_zm."</i></b>");
  71. echo "<a href='zakup.php'>Wracaj ...</a>";
  72. }
  73. else
  74. {
  75. if(!move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
  76. exit('Nie można zachować pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
  77.  
  78. echo "Przesłanie udało się - <b>".$p_nazwa."</b>"." ".$poj_MB."";
  79. $path_file=$folder.$p_nazwa_zm;
  80.  
  81.  
  82. $query = "INSERT INTO galeria (link_zdjecie,towar_na_sprzedaz_id_tow_na_sp)
  83. VALUES ('".$path_file."', '".$_POST['towar']."')";
  84. $zapytanie= mysqli_query($bd_lacz, $query);
  85.  
  86.  
  87.  
  88. if(!$zapytanie)
  89. {
  90. echo "Wykonanie zapytania zawiodło. " . mysqli_error();
  91. }
  92. else
  93. {
  94. echo '<a href="zakup.php?plik=opisz">Dodaj informacje o pliku</a>';
  95. }
  96. }
  97. }
  98.  
  99.  
  100. if(isset($_GET['plik']) && $_GET['plik']=='opisz')
  101. {
  102. echo '
  103. <form method="post" action="zakup.php?plik=dodajopis">
  104. <label for="nazwa_zdjecie">Tytuł zdjęcia: </label>
  105. <input type="text" name="nazwa_zdjecie" id="nazwa_zdjecie"/>
  106. <label for="opis_zdjecie">Opis zdjęcia: </label>
  107. <textarea id="opis_zdjecie" name="opis_zdjecie" cols="50" rows="5"></textarea>
  108. <input value="Dodaj opis" type="submit" />
  109. </form>
  110. <a href="java script:history.back(3)"><input type="submit" value="Powrot">
  111. </a>
  112. ';
  113. }
  114.  
  115.  
  116. if(isset($_GET['plik']) && $_GET['plik']=='dodajopis')
  117. {
  118.  
  119.  
  120. $nazwa=$_POST['nazwa_zdjecie'];
  121. if(!empty($_POST['opis_zdjecie']))
  122. {
  123. $opis=$_POST['opis_zdjecie'];
  124. }
  125. else
  126. {
  127. $opis='Brak opisu';
  128. }
  129. if(empty($nazwa) || empty($opis))
  130. {
  131. echo "Musisz wypełnić wszystkie pola";
  132. }
  133. $query="SELECT id_zdjecie, link_zdjecie FROM galeria ORDER BY id_zdjecie DESC LIMIT 1";
  134.  
  135. //$wynik = mysql_query($query) or die(mysql_error());
  136.  
  137. $wynik=mysqli_query($bd_lacz, $query);
  138. //$wynik = $bd_lacz->query($query);
  139. //$ile=$wynik->num_rows;
  140. //$wiersz=$wynik->fetch_assoc();
  141.  
  142. if(!$wynik)
  143. {
  144. echo "Zapytanie nieudane. Nie można pobrać id zdjęcia. " . mysqli_error();
  145. }
  146. else
  147. {
  148. $row = mysqli_fetch_object($wynik);
  149. $id_zdjecie = $row->id_zdjecie;
  150. $path_file = $row->link_zdjecie;
  151.  
  152. $sql = "UPDATE galeria SET nazwa_zdjecie='$nazwa', opis_zdjecie='$opis'
  153.  
  154. WHERE id_zdjecie='$id_zdjecie'";
  155. $zapytanie = mysqli_query($bd_lacz,$sql);
  156. if(!$zapytanie)
  157. {
  158. echo "Wykonanie zapytania zawiodło. Nie można dodać informacji o filmie. " . mysqli_error();
  159. }
  160. else
  161. {
  162. echo "Udało się dodać informacje o zdjęciu.Tytuł: ".$nazwa."Opis: ".$opis."";
  163. echo '<img src="'.$path_file.'" width="320" class="demo" alt="" />';
  164. }
  165. }
  166. }
  167.  
  168.  
  169.  
  170.  
  171. }
  172.  


formularz dodawania ładnie się wyświetla, ale jak klikne wyslij to mam błąd:

[function.require-once]: failed to open stream: No such file or directory in.


wcześniej ten formularz otwierałem jako nowe okno i wtedy wszystko działało jak trzeba - teraz chciałem przerobić aby otworzył się pod tabelą z danymi - i formularz się wyswietla, moge wybrac zdjecie, ale jak klikam wysli j to wlasnie mam ten blad:/

o co tu chodzi questionmark.gif
melkor1984
Trochę duuuużo kodu... nie za bardzo chce się to czytać zważywszy na ilość.

Sprawdzałeś czy ścieżki są poprawne? Znaczy się czy gdzieś nie masz względnych ścieżek zamiast bezwzględnych...

Możesz mi wyjaśnić po co stosujesz co chwilę echo??

Np.
  1. echo '<form method="post">';
  2. echo '<tr>';
  3. echo '<td>';
  4. echo $co=$i+1;


Nie można prościej??

  1. echo '<form method="post"><tr><td>'.$i++;
mattii
co do echa to uczę się dopiero i tak było w książce jaką kupiłem dlatego tak to wygląda, już wiem, że można prościej i w przyszłości tak będę robił.

samego kodu całkiem sporo, ale wywala sie już na wysłaniu pliku do folderu , nie wiem dlaczego - ze sciezkami probowalem roznymi i jak wpisalem bledna to widzialem ze poprostu jest zla lokalizacja pliku podana - tutaj niby wyglada wszystko jak trzeba - otwiera co trzeba , tylko ten bład wszystko burzy sad.gif
melkor1984
raz masz
Kod
pliki/php/zakup.php
a raz
Kod
zakup.php
zmień wszędzie na bezwzględne ścieżki
Kod
/pliki/php/zakup.php
może to pomoże smile.gif
mattii
niee niestety to nic nie zmienia sad.gif
eccocce
Opisz strukturę swoich plików, w których masz ten kod, który podałeś wyżej. Przykład co mam na myśli:

Kod
/pliki/formularz.php
/pliki/php/db_connect.php
...


Może łatwiej będzie znaleźć błąd smile.gif
pablo89pl
Cytat(mattii @ 23.03.2010, 11:03:28 ) *
[function.require-once]: failed to open stream: No such file or directory in.

Wklej całość błedy a nie ten ucięty bez ścieżki do pliku
mattii
wszystkie te pliki sa w tym samym folderze

pliki/php/nazwapliku.php
eccocce
Swoją drogą to tak jak kolega wyżej napisał - wklej cały błąd... Póki co strzelam w ciemno, że powinieneś linijkę:
  1. require_once "pliki/php/db_connect.php";

zamienić na:
  1. require_once "db_connect.php";


edit: hm, chociaż doczytałem twój kod i chyba powyższe jest bez sensu... wklej lepiej ten cały błąd smile.gif
mattii
Cytat(eccocce @ 23.03.2010, 15:19:02 ) *
Swoją drogą to tak jak kolega wyżej napisał - wklej cały błąd... Póki co strzelam w ciemno, że powinieneś linijkę:
  1. require_once "pliki/php/db_connect.php";

zamienić na:
  1. require_once "db_connect.php";


edit: hm, chociaż doczytałem twój kod i chyba powyższe jest bez sensu... wklej lepiej ten cały błąd smile.gif



nie wiem czy bez sensu ale to zadzialalo ;] dzieki wielkie;).

znaczy tyle ze nie wywala juz bledu.

ale pojawil sie kolejny problem zwiazanychyba wg mnie z tym formularzem:

  1. #
  2. <h1>Upload zdjęcia do galerii</h1>
  3. #
  4. <form action="pliki/php/zakup.php?plik=dodaj" method="post" enctype="multipart/form-data" name="form1">
  5. #
  6. <input name="plik" type="file" size="50"/>
  7. #
  8. <input name="max_file_size" type="hidden" value="2048576" />
  9. #
  10. <input value="Wyślij zdjęcie" type="submit" />
  11. #
  12. <input type="hidden" name="towar" value="'.$towar.'">
  13. #
  14. </form>


jako actiona ma wywolac plik - i wywoluje ten plik -tylko to jest ten sam plik w ktorym on jest zamieszony - wiec bez sensu

chcialbym aby dodal mi zdjecie

i tak jak jest w kodzie wyswietlil mozliwosc dodaniaopisu i tytulu zdjecia.

jak usune action z tego formulrza to zdjecie mi odda ale nie wyswietli mozliwosci dodania opisu i tytulu, ani potwierdzenia zaladowania zdjecia.

co w tej materii musze poprawic questionmark.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.