[JS] Działanie skryptu PHP(wysyłanie plików na serwer)

0

Witam wszystkich ponownie :)

Otóż mam problem nie koniecznie ze skryptem, co z pomysłem jak go napisać. Chodzi o takie coś:

W panelu administratora mam funkcje dodawania do oferty produktów. Więc tak: Wchodzę w ten plik i chcę dodać doniczkę. Wpisuje nazwę, kategorie i teraz mam problem. Chodzi o to, że jedna doniczka może być w kilku kolorach. Przy wyświetlaniu danej doniczki chciałbym zawrzeć wszystkie kolory. Np. dana doniczka jest w 5 kolorach. No to dodaje obrazek doniczki 5 razy: w czerwonym, żółtym, niebieskim, różowym i zielonym. I problem jest w tym skąd skrypt ma wiedzieć ile ma wyświetlić pól input type="file"? Raz przecież będzie doniczka w 5 kolorach, a raz w 35.

Wiem, że trochę to zakręciłem, ale prościej nie potrafię.

Proszę o pomoc :)
Z góry dziękuje :)

Pozdrawiam,
nansss

PS. Jest jeszcze jeden problem. Przy wyświetlania chciałbym jeszcze dać takie kolorowe małe kółka(w kolorze danej doniczki) i po kliknięciu w dane kółko np. żółte w miejscu domyślnej doniczki pojawi się żółta doniczka, później gdy kliknę w niebieskie kółko w miejscu żółtej doniczki pojawi się niebieska itd...

0

możesz na przykład wrzucać po jednej, albo możesz dynamicznie (javascript) dodawać sobie kolejne inputy do strony

0

Właśnie maiłem na myśli dynamicznie coś jak jest na imageshack.us

0

nie zauważyłem PSa w pytaniu, więc odpowiedź na obydwa pytania javascriptem ;D

a z czym jest problem, bo nie za bardzo rozumiem?

0

Dodaj przycisk "wrzuć dodatkowy obrazek" który utworzy dynamicznie dodatkowego inputa...

0

Problem jest z JS. Nie mam pojęcia jak się za to zabrać. Trochę umiem JS, ale nie na tyle żeby poradzić sobie z tym samemu.

0

Mam taki mały skrypt, lecz problem jest w tym, że

Po pierwsze kolejne pole input type file pokazuje mi się pod przyciskiem dodaj kolejne zdjęcie

Po drugie po kliknięciu w przycisk dodaj kolejne zdjęcie pokazuje się ale nagle strona się odświeża to nowe pole znika, a zawartość tego pierwszego co jest na sztywno się czyści. Po prostu strona się przeładowywuje, a ja tego nie chcę w danym momencie

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() 
{
    $('button').click(function() 
    {
        var ilosc=$('input[type=file]').size();
        var ilosc=ilosc+1;
        $(this).after('<br /><input type="file" name="produkt'+ilosc+'"/>'); 
    });
});
</script> 
<div align="center"><br /><br /><form method="post" action="#">
<input type="file" name="produkt1"/><br />
<button>Dodaj kolejny obrazek</button><br /><br />
<input type="submit" /><input type="reset" />
</form></div>
0

Nie używaj:
<input type="file" name="produkt1"/>
Wykorzystaj tablice.
<input type="file" name="produkt[]"/>
Takich pól z nazwą "produkt[]" (nawias kwadratowy oznacza tablicę) możesz se wstawić ile chcesz, a potem z $_FILE będzie można to obsłużyć.

0

Dobra return false; zablokował odświeżanie. Dobra. Napisałem teraz do tego usuwanie i wszystko działa, tylko pytanie teraz jak tym zarządzać przez PHP? :P

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() 
{
    $('button').click(function() 
    {
        var ilosc=$('input[type=file]').size();
        var ilosc=ilosc+1;
        $(this).after('<label><br />Doniczka: <input type="file" name="produkt['+ilosc+']" />Kolor: <input type="file" name="kolor['+ilosc+']" /><a href="#">X</a></label>'); 
        return false;
    });
    $('a').live('click', function()
    {
        $(this).parent('label').remove();
    });
});
</script> 
<?php
echo '<div align="center"><br /><br /><label><form action="index.php?page=cpadmin_oferta_dodaj" enctype="multipart/form-data" method="post">
<button>Dodaj kolejny obrazek</button><br />
Doniczka: <input type="file" name="produkt[]"/> Kolor: <input type="file" name="kolor[]"/><br /><br />
<input name="dodaj" type="submit" value="Dodaj">
<input name="wyczysc" type="reset" value="Wyczyść">
</form></label></div>';
?>
0
var_dump($_FILES);

A dalej powinieneś dojść do tego co i gdzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0