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