![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 16.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Jestem początkujący w PHP jednakże mam pewne zadanie do wykonania i cały czas szukam rozwiązania. Najprościej rzecz ujmując: -mamy formularz do wysyłania danych do bazy (w tym pliki zdjęć których nazwy mają się pojawić w polach img1, img...., img10 w tabeli produkty_uzywane -mamy program w php który obsługuje formularz i wysyła dane do bazy mysql -mam plik który ma wyświetlać dane w tym zdjęcia poszczególnego produktu wraz z odsyłaczem do pliku który wyświetla większe informacje (np. rok produkcji, cena, przebieg) Oto mój kod: formularz (dodaj_u.html) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Panel administracyjny</title> <link href="css/style_admin.css" rel="stylesheet" type="text/css" /> </head> <body> Dodaj ogłoszenie z używanym pojazdem.<br /> Wypełnij formularz:<br /> <form action="wstaw_uzywany.php" enctype="multipart/form-data" method="post"><br /> <input type="hidden" name="MAX_FILE_SIZE" value="300000"> Marka: <input type="text" name="marka" size="30" /><br /> Model: <input type="text" name="model" size="30" /><br /> Rok produkcji: <input type="text" name="rok" size="4" /><br /> Cena: <input type="text" name="cena" size="30" /><br /> Kod: <input type="text" name="kod" size="10" /><br /> Zdjęcia:<br /> Zdjęcie 1: <input type="file" name="img0"/><br /> Zdjęcie 2: <input type="file" name="img1"/><br /> Zdjęcie 3: <input type="file" name="img2"/><br /> Zdjęcie 4: <input type="file" name="img3"/><br /> Zdjęcie 5: <input type="file" name="img4"/><br /> Zdjęcie 6: <input type="file" name="img5"/><br /> Zdjęcie 7: <input type="file" name="img6"/><br /> Zdjęcie 8: <input type="file" name="img7"/><br /> Zdjęcie 9: <input type="file" name="img8"/><br /> Zdjęcie 10: <input type="file" name="img9"/><br /> Opis1: <input type="text" name="opis1" size="80" /><br /> Opis2: <input type="text" name="opis2" size="100" /><br /> <input type="submit" name="wyslij" value="Dodaj ogłoszenie" /> </form> </body> </html> Kolejny plik wstaw_uzywany.php (do obsługi formularza) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Untitled Document</title> </head> <body> <?php require_once('config.php'); ini_set( 'display_errors', 'On' ); error_reporting( E_ALL ); /* $sql='INSERT INTO produkt_uzywany values ('.$_POST['marka'].', '.$_POST['model'].', '.$_POST['rok'].', '.$_POST['cena'].', '.$_POST['kod'].', '.$_FILES['img0']['name'].', '.$_FILES['img1']['name'].', '.$_FILES['img2']['name'].', '.$_FILES['img3']['name'].', '.$_FILES['img4']['name'].', '.$_FILES['img5']['name'].', '.$_FILES['img6']['name'].', '.$_FILES['img7']['name'].', '.$_FILES['img8']['name'].', '.$_FILES['img9']['name'].', '.$_POST['opis1'].', '.$_POST['opis2'].')';*/ $sql2="INSERT INTO produkt_uzywany values ('','$_POST[marka]', '$_POST[model]', '$_POST[rok]', '$_POST[cena]', '$_POST[kod]', '$_FILES[img0][name]', '$_FILES[img1][name]', '$_FILES[img2][name]', '$_FILES[img3][name]', '$_FILES[img4][name]', '$_FILES[img5][name]', '$_FILES[img6][name]', '$_FILES[img7][name]', '$_FILES[img8][name]', '$_FILES[img9][name]', '$_POST[opis1]', '$_POST[opis2]')"; $err = false; for ($i=0; $i<10; $i++) if ($_FILES['img'.$i]['tmp_name'] && !is_uploaded_file($_FILES['img'.$i]['tmp_name'])) { echo "Plik ". $_FILES['img'.$i]['name'] ." NIE został załadowany na serwer prawidłowo.<br />\n"; $err = true; } if ($err) { echo "Nie można dodać ogłoszenia do bazy danych! Nie wszystkie pliki zostały wgrane!<br />"; echo "<a href=\"http://kuba-express.pl/admin/admin.php?id=dodaj_u\">Wstecz</a>"; } else { for ($i=0; $i<10; $i++) { if ($_FILES['img'.$i]['tmp_name'] && !move_uploaded_file($_FILES['img'.$i]['tmp_name'], '../images/uzywane/big/'.basename($_FILES['img'.$i]['name']))) { echo "Wystąpił problem przy przenoszeniu zdjęć do odpowiedniego katalogu. Prawdopodobnie źle ustawione prawa katalogu!"; echo "<a href=\"http://kuba-express.pl/admin/admin.php?id=dodaj_u\">Wstecz</a>"; die; } } if (mysql_query($sql2,$polaczenie)) { echo "Dodano ogłoszenie!"; } else { echo "Pliki załadowano poprawnie, nie można dodać ogłoszenia do bazy danych!"; } } ?> <a href="http://kuba-express.pl/admin/admin.php?id=dodaj_u">Wstecz</a> </body> </html> i ostatni kup_u.php (wyświetlający ogłoszenie na stronce): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Untitled Document</title> </head> <body> <?php require_once('admin/config.php'); //SPRAWDZAMY, CZY JEST POKAZANY NUMER ZDJĘCIA, KTÓRE CHCEMY OBEJRZEĆ if(!isset($_GET['zdj'])) //jeśli nie jest zdefiniowane zdjęcie, które mamy pokazać... { $sql=mysql_query("SELECT * FROM produkt_uzywany LIMIT 1");//...to pobierz dane o pierwszym zdjęciu z tabeli } else { $zdj=$_GET['zdj']; $zapytanie=mysql_query("SELECT * FROM galeria WHERE id='$zdj'");//...w przeciwnym wypadku pokaż dane zdefiniowanego zdjęcia } //I WYŚWIETLAMY TABELKĘ (NA RAZIE 1 WIERSZ) echo '<table border=1>'; //wyświetlamy tabelkę echo '<tr border=0>'; echo '<td colspan="3" border=0 align="center">'; $dane=mysql_fetch_array($sql); //przekształć zapytanie w tablicę echo '<img src=images/uzywane/big/'.$dane['img1'].' width=100 border=0>'; //wyświetl zdjęcie echo '<br>'; //enterek echo '<b>Model: '.$dane['model'].'</b><br />'; echo '<b>Opis: '.$dane['opis1'].'</b><br />'; echo '<b>Kod: '.$dane['kod'].'<br />'; //i opis do zdjęcia echo '</td>'; //zamknij komórkę i wiersz //A TERAZ POZOSTAŁE WIERSZE (PO 3 KOMÓRKI W WIERSZU) $sql=mysql_query("SELECT * FROM produkt_uzywany"); //znowu pobieramy wszystko z bazy $il=mysql_num_rows($sql); //sprawdzamy ile w tabeli jest zdjęć $wiersze=ceil($il/3); //i dzielimy to przez 3, z nadmiarem for ($a=0;$a<$wiersze;$a++) //otwieramy pętlę, będzie się robiła tyle razy, ile jest wierszy { //echo '<tr align=center>'; //wyświetlamy nowy wiersz $b=$a*3; //będą pobierane z tabeli po 3 zdjęcia $sql="SELECT * FROM produkt_uzywany LIMIT $b,3"; //zapytanie $a=mysql_query($sql); //pobieramy po 3 zdjęcia while($row=mysql_fetch_array($a)) { echo '<td>'; //otwieramy nową komórkę echo '<a href=produkt_info.php?zdj='.$row['id'].'><img src=images/uzywane/big/'.$row['img1'].' border=0 width=100></a><br />'; //hiperłącze do zdjęcia + zdjęcie echo '<b>Model: '.$dane['model'].'</b><br />'; echo '<b>Opis: '.$dane['opis1'].'<b><br />'; echo '<b>Kod: '.$dane['kod'].'<b><br />'; echo '</td>'; //zamykamy komórkę } echo '</tr>'; //zamykamy wiersz } echo '</table>'; //zamykamy tabelę mysql_close($polaczenie); //zamykamy połączenie z bazą danych ?> </body> </html> Problem polega na tym iż w phpmyadmin w polach img0, img1,... pojawia się napis Array[name] zamiast nazwy pliku graficznego no i potem kup_u.php nie pobiera zdjęcia. ponadto pobiera cały czas pierwszy rekord co jest oczywistym błędem. Proszę o pomoc satch83 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 4 Dołączył: 9.10.2007 Skąd: Morąg Ostrzeżenie: (0%) ![]() ![]() |
zrob print_r($_FILES) i zobacz jak skladnia tablicy wyglada moze po prostu zle odnosisz sie do tablicy!
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
Cytat for ($a=0;$a<$wiersze;$a++) //otwieramy pętlę, będzie się robiła tyle razy, ile jest wierszy { //echo '<tr align=center>'; //wyświetlamy nowy wiersz $b=$a*3; //będą pobierane z tabeli po 3 zdjęcia $sql="SELECT * FROM produkt_uzywany LIMIT $b,3"; //zapytanie $a = mysql_query($sql); //pobieramy po 3 zdjęcia WIDZISZ BŁĄD ![]() -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:14 |