Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z wyswietleniem zdjecia z bazy
kamilkomo
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


Witam

Mam problem z wyswietleniem zdjecia z bazy (wiem ze nie powinno sie ich umieszczac w bazie, wiec prosze bez zbednych komentarzy) (IMG:style_emoticons/default/smile.gif)

Formularz:

Kod
<form action="addedbook.php" method="post" enctype="multipart/form-data" name="changer">
.
.
.
<input name="zdjecie" accept="image/jpeg" type="file">

</form


Zdjecie sie dodaje i jest widoczne w tabeli z poziomu PHPMYADMIN. Problem mam jednak z wyswietleniem, i dostaje komunikat o blednym zapytaniu.

Kod
$id=$_POST['id'];

$result = mysql_query("SELECT zdjecie FROM zdjecia WHERE id=".$_POST['id']."") or die("Błąd podczas wykonywania zapytania");


            if (mysql_num_rows($result) != 0)
        {
                $row = mysql_fetch_assoc($result);
                echo base64_decode($row['zdjecie']);
        }


Bardzo prosze o pomoc (IMG:style_emoticons/default/smile.gif)
I z gory bardzo dziekuje (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zamiast nic nie mowiacego or die("Błąd podczas wykonywania zapytania"); wyswietl sobie blad zapytania. Tu masz wszystko opisane:
Temat: Jak poprawnie zada pytanie
zastosuj sie tez do innych podanych tam wskazowek bo widac są ci niezbędne
Go to the top of the page
+Quote Post
kamilkomo
post
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


wychodzi na to ze ID danego zdjecia nie jest wysylane do addetbook.php, gdyz otrzymalem taki blad :

Notice: Undefined index: id in **************/addedbook.php on line 142
Książkę dodano pomyślnie. Dziękujemy .. .(IMG:style_emoticons/default/exclamation.gif) !
Notice: Undefined index: id in **************/addedbook.php on line 210
Błąd podczas wykonywania zapytania

linia 142: $id=$_POST['id'];
linia 210: $result = mysql_query("SELECT zdjecie FROM zdjecia WHERE id=".$_POST['id']."") or die("Błąd podczas wykonywania zapytania");

Z tego wynika ze id zdjecia dodanej ksiazki na addbook.php nie jest wysylane do addedbook.php

Nie bardzo wiem jak przekazac to id na strone addedbook.php (pole id w tabeli ma Auto increment)

prosze o pomoc jak przekazac to id
Go to the top of the page
+Quote Post
Rid
post
Post #4





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Nie wiem tylko dlaczego przypisujesz zmienną do $id a w zapytaniu używasz $_POST['id'] zamiast $id. (IMG:style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
kamilkomo
post
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


faktycznie sluszna uwaga, ale zmiana nie pomogla, nadal komunikat o bledzie zapytania. Wydaje mi sie nadal ze to id nie jest przekazywane do strony addedbook.php. Nie wiem jak to id przekazac
Go to the top of the page
+Quote Post
modern-web
post
Post #6





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


No to oczywiste, że nie pomogła... po prostu skasowałeś zbędny fragment, który nic nie wnosił (IMG:style_emoticons/default/smile.gif) i zastąpiłeś go zmienną o tej samej wartości...
Pokaż to zapytanie.
Go to the top of the page
+Quote Post
kamilkomo
post
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


Komunikat: Notice: Undefined index: zdjecie in /home/meblepulawy/ftp/books/addedbook.php on line 142
Linia 142: $id=$_POST['id'];


moze tu jest cos nie tak?

Kod
$fhandle = fopen($_FILES['zdjecie']['tmp_name'], "r");
        $content = base64_encode(fread($fhandle, $_FILES['zdjecie']['size']));
        fclose($fhandle);

                $zapytanie = mysql_query("INSERT INTO zdjecia (zdjecie) VALUES (\"".$content."\")");





Kod
{

/*

wczesniejsza czesc kodu wykonana poprawnie rekord dodany

*/



print "rekord dodano .. .(IMG:style_emoticons/default/exclamation.gif) !";
            
            $result = mysql_query("SELECT zdjecie FROM zdjecia WHERE id='$id'") or die("Błąd podczas wykonywania zapytania");


            if (mysql_num_rows($result) != 0)
        {
                $row = mysql_fetch_assoc($result);
                echo base64_decode($row['zdjecie']);

}


Ten post edytował kamilkomo 21.12.2010, 21:35:01
Go to the top of the page
+Quote Post
Rid
post
Post #8





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Z tej części kodu widze że masz zadeklarowany rozmiar pliku, ścieżkę gdzie się znajduje,a masz może zadeklarowany typ pliku ,który dodajesz do bazy??
Go to the top of the page
+Quote Post
kamilkomo
post
Post #9





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


nie jeszcze nie, ale oczywiscie bedzie
Go to the top of the page
+Quote Post
Rid
post
Post #10





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


To dodaj
  1. $_FILES ['zdjecie'][image/gif]
,może to jest powód ,że nie działa ,po prostu nie wie co i jak odczytać.

Ten post edytował Rid 21.12.2010, 22:52:07
Go to the top of the page
+Quote Post
kamilkomo
post
Post #11





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


Kod
            
$result = mysql_query("SELECT zdjecie FROM zdjecia WHERE id='$id'") or die("Błąd podczas wykonywania zapytania");


            if (mysql_num_rows($result) != 0)
        {
                $row = mysql_fetch_assoc($result);
                echo base64_decode($row($_FILES ['zdjecie']['image/gif']));
        }


Notice: Undefined index: id in /home/meblepulawy/ftp/books/addedbook.php on line 142
Książkę dodano pomyślnie. Dziękujemy .. .(IMG:style_emoticons/default/exclamation.gif) !

Zmienilem zapytanie tak aby zobaczyc jakie kolwiek zdjecie na:

Kod
            $result = mysql_query("SELECT zdjecie FROM zdjecia WHERE id='2'") or die("Błąd podczas wykonywania zapytania");


            if (mysql_num_rows($result) != 0)
        {
                $row = mysql_fetch_assoc($result);
                echo base64_decode($row($_FILES ['zdjecie']['image/gif']));
        }


i dostalem krzaki


Ten post edytował kamilkomo 22.12.2010, 00:05:55
Go to the top of the page
+Quote Post
Rid
post
Post #12





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Spróbuj zapisać zdjęcie które.chcesz otworzyć w formacie gif.Krzaki to ,już jakiś postęp:)
Go to the top of the page
+Quote Post
kamilkomo
post
Post #13





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


jeszcze jedna rzecz. Jak dopisze hedera, to wyswietla sie adres strony zamiast zdjecia. Robie zapisywanie zobaczymy

DALEJ NIE DZIALA,MA KTOS JESZCZE JAKIE SPOMYSLY?
Go to the top of the page
+Quote Post
vermis
post
Post #14





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


Dawno nie bawiłem się uploadem, ale nie pamiętam, żeby w tablicy $_FILES był taki klucz $_FILES ['zdjecie']['image/gif'] sugeruję powrócić do $row['zdjecie']
Poza tym $row jest tablicą asocjacyjną a nie funkcją
Cytat
$row($_FILES ['zdjecie']['image/gif'])

Druga sprawa to nie widzę, żebyś wysyłał nagłówki, że to obrazek.
I po trzecie jaki masz typ pola w bazie?
Go to the top of the page
+Quote Post
kamilkomo
post
Post #15





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 13.04.2010

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


wstawialem header("Content-type: image/jpg");

ale zamiast obrazka pojawial sie adres strony.

A tabela ma pola :

id : auto increment int11
zdjecie: mediumblob atrybut: binary
Go to the top of the page
+Quote Post

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: 23.08.2025 - 20:49