Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> [php] dział promocje w php, opis i fotka
kononowicz
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


witam.

Chciałbym zrobić na stronie dział promocje...

i w tym dziale miałyby byc fotki towarów wraz z opisem...

i zeby mozna to jakos kontrolować (dodawać fotki i opis z formularza) ...

Czy ktoś wie jak sie za to zabrać... jak to zrobić??


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Najprościej to stworzyć w bazie danych tabelę w której będziesz przechowywał dane o promocjach, na stronie gdzie będą widoczne promocję wyciąganie i wyświetlanie tych informacji z bazy.

Dodawanie informacji do bazy z formularza ... to już zupełne podstawy.


--------------------
404
Go to the top of the page
+Quote Post
kornel-php
post
Post #3





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

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


1. Formularz dodający/edytujący fotki i opisy do bazy danych/ew. do pliku
2. Skrypt odczytujący zawartość pliku/bazy danych

winksmiley.jpg


Edit: Sorki za replay, nie zauważyłem, że kolega już to napisał... winksmiley.jpg

Ten post edytował kornel-php 15.01.2007, 22:23:21


--------------------
:)
Go to the top of the page
+Quote Post
kononowicz
post
Post #4





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(Cienki1980 @ 15.01.2007, 22:19:18 ) *
Najprościej to stworzyć w bazie danych tabelę w której będziesz przechowywał dane o promocjach, na stronie gdzie będą widoczne promocję wyciąganie i wyświetlanie tych informacji z bazy.

Dodawanie informacji do bazy z formularza ... to już zupełne podstawy.



a można w bazie mysql jako rekord dawać fotki questionmark.gif i jak to sie robi??

Ten post edytował kononowicz 15.01.2007, 22:22:53


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
Cienki1980
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Teoretycznie można ( pole chyba bloob albo jakoś tak - nigdy nie używałem ), ale wystarczy jak do bazy wpiszesz np link do zdjęcia, jego nazwe itp ... a zdjęcia fizycznie uploadujesz na serwer.


--------------------
404
Go to the top of the page
+Quote Post
kononowicz
post
Post #6





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(Cienki1980 @ 15.01.2007, 22:25:04 ) *
Teoretycznie można ( pole chyba bloob albo jakoś tak - nigdy nie używałem ), ale wystarczy jak do bazy wpiszesz np link do zdjęcia, jego nazwe itp ... a zdjęcia fizycznie uploadujesz na serwer.


teraz wydaje się to prostę ... gdybym miał jakies problemy będe pisać . dzieki



ps. a czy ktoś jednak ma jakis przykład?? chętnie lukne jak on to zrobił.

i czy lepiej zrobic wartosc blob w bazie i tam umieszczac fotki czy w oddzielnym folderze na serwerze? wydaje mi sie ze chyba lepiej w folderze co nie obciaza tak bazy. prawda?



godz. 2:57 - nie moge sobie poradzic z tym dziadostwem... moja tabelka zawiera ID(int) OPIS(text) i FOTO (blob)

na razie spłodziłem i pewnie wszystko źle:

  1. <?php
  2. $zapytaniea = "SELECT * FROM promocje";
  3. $wykonaja = mysql_query($zapytaniea);
  4. while($wiersz = mysql_fetch_array($wykonaja))
  5. {
  6. print '<img src="'.$wiersz['foto'].'" ';
  7. }
  8.  
  9. print '<img src="'.$wiersz['foto'].'" ';
  10.  
  11. <FORM ACTION="promocje.php" METHOD="POST" ENCTYPE="multipart/form-data" ACCEPT="image/gif, image/jpeg" id="formform">
  12. <input type="hidden" name="MAX_FILE_SIZE" value="8192">
  13. <p>
  14. <legend>Wyślij ten plik:</legend>
  15. <input type="file" name="foto" id="foto" class="tekst">
  16. </p>
  17. <p>
  18. <legend>dodaj opis:</legend>
  19. <input type=text name="opis" id="opis" class="tekst">
  20. </p>
  21. <input type="submit" value="dodaj" name="dodaj" class="przycisk">
  22. </FORM>
  23. ';
  24.  
  25.  
  26. if(isset($_POST['dodaj']))
  27. {
  28.  
  29. $opis = $_POST['opis'];
  30. $foto = $_POST['foto'];
  31. print $opis;
  32. print $foto;
  33. $zapytanie = "INSERT INTO promocje VALUES ('NULL', '$opis', '$foto')";
  34. $wykonaj = mysql_query($zapytanie);
  35.  
  36. if($wykonaj)
  37. print 'wysłało badziewie';
  38. else
  39. print 'zle1 ';
  40. }
  41. else
  42. print 'zle2';
  43. ?>


po przeroznych kombinacjach wyswietliło mi taki komunikat:

Obrazek "http://************x.php" nie może zostać wyświetlony, ponieważ zawiera błędy.

Ten post edytował kononowicz 16.01.2007, 03:56:33


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
babejsza
post
Post #7





Grupa: Zarejestrowani
Postów: 407
Pomógł: 1
Dołączył: 4.03.2003
Skąd: warszawa

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


Wyraźnie Ci napisano abyś nie przechowywał plików w bazie danych. Jest to rozwiązanie złe i nie optymalne. W bazie masz przechowywać tylko dane o tym pliku (jego nazwa, ew. opis, id) a na serwerze sam plik.

zapoznaj się z tym: http://pl2.php.net/manual/pl/features.file...oad.post-method
Go to the top of the page
+Quote Post
kononowicz
post
Post #8





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(babejsza @ 16.01.2007, 09:31:37 ) *
Wyraźnie Ci napisano abyś nie przechowywał plików w bazie danych. Jest to rozwiązanie złe i nie optymalne. W bazie masz przechowywać tylko dane o tym pliku (jego nazwa, ew. opis, id) a na serwerze sam plik.

zapoznaj się z tym: http://pl2.php.net/manual/pl/features.file...oad.post-method



wyczytałem e dla małej ilosci rekordów w tabeli i dla w sumie dosc małych fotek to jest rozwiazanie dobre... ale spróbuje jednak zrobic po twojemu :]

a jak robic upload fotki do jakiegos katalogu na serwerze?? zeby z poziomu przegladarki można wysłac fotke na serwer bo to mi nie dziala:

  1. <?php
  2. <form enctype="multipart/form-data" action="x.php" method="POST">
  3. <input type="hidden" name="MAX_FILE_SIZE" value="50000" />
  4. <input name="plik" type="file" />
  5. <input type="submit" value="Wyślij plik" />
  6. </form>';
  7.  
  8.  
  9.  
  10. $plik_tmp = $_FILES['plik']['tmp_name'];
  11. $plik_nazwa = $_FILES['plik']['name'];
  12. $plik_rozmiar = $_FILES['plik']['size'];
  13.  
  14. if(is_uploaded_file($plik_tmp)) {
  15.  move_uploaded_file($plik_tmp, "upload/$plik_nazwa");
  16. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze 
  17. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  18. }
  19. ?>


Ten post edytował kononowicz 16.01.2007, 14:03:01


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
Ociu
post
Post #9





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Cytat(kononowicz @ 16.01.2007, 00:22:37 ) *
a można w bazie mysql jako rekord dawać fotki questionmark.gif i jak to sie robi??

Można. Tworzysz wiersz BLOB, a fotke kodujesz base64_encode" title="Zobacz w manualu php" target="_manual. Gdy będziesz chciał wyciągnąc rozkodowujesz za pomocą base64_decode" title="Zobacz w manualu php" target="_manual.

pozdrawiam
Go to the top of the page
+Quote Post
noels
post
Post #10





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2007
Skąd: Dąbrowa Górnicza

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


Sposób na upload pliku na serwer zakładając, że stworzyłeś już formularz z polem w którm podaje się link do pliku i przesyłasz taki formularz do skryptu który ma zrealizować zapisanie pliku na serwerze:

  1. <?php
  2. $max_rozmiar = 1000000;
  3.  
  4. if (is_uploaded_file($_FILES['plik']['tmp_name']))
  5. {
  6. $naz=$_FILES['plik']['name'];
  7.  
  8. if ($_FILES['plik']['size'] > $max_rozmiar)
  9. {
  10.  echo 'Plik jest za duży!';
  11. }
  12. elseif (file_exists( "zdjecia/$naz" ))
  13.  {
  14.  echo 'ISTNIEJE JUŻ PLIK O PODANEJ NAZWIE !<BR>ZMIEŃ NAZWĘ PLIKU';
  15.  
  16. }
  17.  else
  18. {
  19.  echo 'Odebrano zdjecie. <BR>Nazwa: '.$_FILES['plik']['name'];
  20.  
  21.  if (isset($_FILES['plik']['type']))
  22.  {
  23.  echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  24. }
  25.  
  26.  
  27.  
  28.  move_uploaded_file($_FILES['plik']['tmp_name'],"zdjecia/".$naz);
  29.  }
  30.  
  31.  }
  32. ?>


To oczywiście tylko schematyczny kod, a nie gotowy skrypt ....

Ten post edytował noels 16.01.2007, 14:29:02


--------------------
www.noels.ovh.org
Go to the top of the page
+Quote Post
kononowicz
post
Post #11





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


uzyłem Twoj skrypt jednak wychodzi mi:

Odebrano zdjecie.
Nazwa: 2r.jpgTyp: image/jpeg

Warning: move_uploaded_file(upload/): failed to open stream: Is a directory in /home/*****/*********/public_html/******/x.php on line 45

Warning: move_uploaded_file(): Unable to move '/tmp/phpuY3IMZ' to 'upload/' in /home/*****/******/public_html/*****/x.php on line 45

  1. <?php
  2. <form enctype="multipart/form-data" action="x.php" method="POST">
  3. <input type="hidden" name="MAX_FILE_SIZE" value="50000" />
  4. <input name="plik" type="file" />
  5. <input type="submit" value="Wyślij plik" />
  6. </form>';
  7.  
  8. $max_rozmiar = 1000000;
  9.  
  10. if (is_uploaded_file($_FILES['plik']['tmp_name']))
  11. {
  12. $naz=$_FILES['plik']['name'];
  13.  
  14. if ($_FILES['plik']['size'] > $max_rozmiar)
  15. {
  16.  echo 'Plik jest za duży!';
  17. }
  18. elseif (file_exists( "upload/$naz" ))
  19.  {
  20.  echo 'ISTNIEJE JUŻ PLIK O PODANEJ NAZWIE !<BR>ZMIEŃ NAZWĘ PLIKU';
  21.  
  22. }
  23.  else
  24. {
  25.  echo 'Odebrano zdjecie. <BR>Nazwa: '.$_FILES['plik']['name'];
  26.  
  27.  if (isset($_FILES['plik']['type']))
  28.  {
  29.  echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  30. }
  31.  
  32. $q=$nazwa_docelowa;
  33. $r=$_FILES['plik']['size'];
  34. $data=time();
  35. $d=date("Y m d, H:i:s",$data);
  36.  
  37. if (file_exists("zdjecia/$nazwa_docelowa"))
  38.  {
  39. unlink("zdjecia/$nazwa_docelowa");
  40.  }
  41.  
  42.  move_uploaded_file($_FILES['plik']['tmp_name'],"upload/".$q);
  43.  }
  44.  
  45.  }
  46. ?>


nie wiem za bardzo co robi ten kod dokladnie i czy dobrze uzupełniłem ale pwenie zle skoro nie działa...

Ten post edytował kononowicz 16.01.2007, 14:49:15


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
kossa
post
Post #12





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Musisz mieć katalog upload z prawami zapisu.

Warto pouczyć się też php...

Łukasz


--------------------
Go to the top of the page
+Quote Post
kononowicz
post
Post #13





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(kossa @ 16.01.2007, 14:57:15 ) *
Musisz mieć katalog upload z prawami zapisu.

Warto pouczyć się też php...

Łukasz



zrobiłem taki katalog ... wiem ,że warto


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
noels
post
Post #14





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2007
Skąd: Dąbrowa Górnicza

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


Dlatego ze masz katalog zabezpieczony przed zapisem :-) Ustaw atrybuty katalogu aby nie były na "tylko do odczytu" powinno pomóc....

Aha wykorzystales kod ktory ja potem jeszcze zminilem ... zobacz jaki jest teraz po edycji bo w tym ktorego uzyles wystepowaly zmienne ktore ja przesylalem z formularza a nie sa one potrzebne .... wykorzystaj ten ktory jest teraz na forum

Ten post edytował noels 16.01.2007, 15:01:56


--------------------
www.noels.ovh.org
Go to the top of the page
+Quote Post
kononowicz
post
Post #15





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(noels @ 16.01.2007, 14:59:02 ) *
Dlatego ze masz katalog zabezpieczony przed zapisem :-) Ustaw atrybuty katalogu aby nie były na "tylko do odczytu" powinno pomóc....


ustawiłem prawa 777 i dalej nic

Ten post edytował kononowicz 16.01.2007, 15:02:44


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
noels
post
Post #16





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2007
Skąd: Dąbrowa Górnicza

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


Tak, ale wez wykorzystaj kod, który teraz aktualnie znajduje sie na formum bo zmienilem go jeszcze po fakcje jak go wkleilem ze wzgledu na wystepowanie w nim niepotrzebnych zmiennych


--------------------
www.noels.ovh.org
Go to the top of the page
+Quote Post
kononowicz
post
Post #17





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(noels @ 16.01.2007, 15:03:22 ) *
Tak, ale wez wykorzystaj kod, który teraz aktualnie znajduje sie na formum bo zmienilem go jeszcze po fakcje jak go wkleilem ze wzgledu na wystepowanie w nim niepotrzebnych zmiennych


po poprawieniu wychodzi takie cos:
Odebrano zdjecie.
Nazwa: 3dserce.jpgTyp: image/jpeg

Warning: move_uploaded_file(update/3dserce.jpg): failed to open stream: No such file or directory in /***************************/x.php on line 35

Warning: move_uploaded_file(): Unable to move '/tmp/phpXk9Cue' to 'update/3dserce.jpg' in /**************************/x.php on line 35


a linijka 35 to jest
  1. <?php
  2. move_uploaded_file($_FILES['plik']['tmp_name'],"update/".$naz);
  3. ?>



a tak w ogole to dlaczego najpierw uploaduje sie to tmp_name questionmark.gif a nie od razu do katalogu??

Ten post edytował kononowicz 16.01.2007, 15:28:19


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
babejsza
post
Post #18





Grupa: Zarejestrowani
Postów: 407
Pomógł: 1
Dołączył: 4.03.2003
Skąd: warszawa

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


wygląda na to, że nie masz uprawnień do katalogu /tmp/. To jest katalog gdzie plik jest domyślnie załadowywany przez serwer. Potem ten plik z tmp przenosisz no docelowego.
Go to the top of the page
+Quote Post
kononowicz
post
Post #19





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(babejsza @ 16.01.2007, 15:48:22 ) *
wygląda na to, że nie masz uprawnień do katalogu /tmp/. To jest katalog gdzie plik jest domyślnie załadowywany przez serwer. Potem ten plik z tmp przenosisz no docelowego.


bo to jest konto shelowe szkolne i raczej nie mam mozliwosci zmiany tych ustawien. mam racje??


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
noels
post
Post #20





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2007
Skąd: Dąbrowa Górnicza

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


Myślę, że masz racje dlatego, że ten komunikat pojawia się właśnie wtedy gdy nie można uzyskać dostępu do katalogu w którym ma być przechowywany plik, a skoro zmieniłeś już atrybutu folderu to nic innego nie przychodzi mi na myśl, a skrypt z powodzeniem działa u mnie.

Przetestowałem w następującej postaci:

  1. <?php
  2. print'<form enctype="multipart/form-data" action="index.php" method="POST">
  3. <input type="hidden" />
  4. <input name="plik" type="file" />
  5. <input type="submit" value="Wyślij plik" />
  6. </form>';
  7.  
  8. $max_rozmiar = 1000000;
  9.  
  10. if (is_uploaded_file($_FILES['plik']['tmp_name']))
  11.  {
  12. $naz=$_FILES['plik']['name'];
  13.  
  14. if ($_FILES['plik']['size'] > $max_rozmiar)
  15.  {
  16.  echo 'Plik jest za duży!';
  17.  }
  18. elseif (file_exists( "upload/$naz" ))
  19.  {
  20.  echo 'ISTNIEJE JUŻ PLIK O PODANEJ NAZWIE';
  21.  }
  22. else
  23.  {
  24.  echo 'Odebrano zdjecie. <BR>Nazwa: '.$_FILES['plik']['name'];
  25.  
  26.  if (isset($_FILES['plik']['type']))
  27. {
  28. echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  29. }
  30.  
  31.  
  32.  
  33.  move_uploaded_file($_FILES['plik']['tmp_name'],"upload/".$naz);
  34.  }
  35.  }
  36. ?>


--------------------
www.noels.ovh.org
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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 Aktualny czas: 21.08.2025 - 15:23