Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Potrzebna pomoc przy formularzu
Forum PHP.pl > Forum > Przedszkole
-Mike-
Witam,

Pewnie będzie to dla Was niezbyt trudną do rozwiązania kwestią, ale ja głowię się nad nią już od tygodnia. Byłbym bardzo wdzięczny za jakąkolwiek pomoc!

A więc tak: mam formularz php wysyłający maila na dany adres, dodatkowo z funkcją, która umożliwia załączenie większej ilości plików.

Wygląda to mniej więcej tak:

Kod
<?For($i=1;$i <= $allowattach; $i++) {?>
<tr>
<td style="text-align: right; font-size: 11px; font-weight: bold;">
<label for="attachment">Zdjęcie lub inny załącznik</label>
</td>
<td>
&nbsp;&nbsp;
<input name="attachment[]" type="file" />
</td>
</tr>
<?}?>


oraz:

Kod
If($allowattach > 0) {
            
            For($i=0; $i <= $allowattach-1; $i++) {
                
                If($_FILES['attachment']['tmp_name'][$i]) {
                    
                    $message.=phattach($_FILES['attachment']['tmp_name'][$i], $_FILES['attachment']['name'][$i], $boundary);
                    
                    
                } //If $_FILES['attachment']['name'][$i]
                
            } //For
            
        } // If



I teraz, chciałbym żeby w przychodzącym mailu znalazła się informacja o nazwach załączonych plików. Na takiej samej zasadzie jak:

Kod
$message.="Nazwisko: ".$_POST['nazwisko']."\n";


wyświetla mi wartość wpisaną w pole nazwisko, chciałbym aby wyświetlały się nazwy plików, na zasadzie: "Lista załączników: plik1.jpg plik2.jpg..."

Gdyby forms miał tylko jeden dozwolony załącznik sprawa byłaby prosta, załatwiła by to zmienna:

Kod
$_FILES['attachment']['name']


Ale w przypadku kilku załączników to nie działa. Powyższa komenda zwraca tylko puste pole. Podobnie jak zmienna:

Kod
$_FILES['attachment']['name'][$i]


Tak samo, puste pole.


Co mogę zrobić, żeby w przychodzącym mailu wyświetlały się nazwy załączonych plików? smile.gif
ostrylg
sprawdź var_dumpem co zwraca Ci tablica $_FILES
Sephirus
1. Masz odpowiedni Enctype w FORM?
2. Chcesz wysyłać pliki korzystając z wielu <input type="file"/> czy z jednego MULTI?
-Mike-
Cytat(Sephirus @ 2.03.2012, 10:08:21 ) *
1. Masz odpowiedni Enctype w FORM?
2. Chcesz wysyłać pliki korzystając z wielu <input type="file"/> czy z jednego MULTI?



1. Tak. Mam enctype="multipart/form-data"

2. Z wielu. smile.gif


var_dump($_FILES) zwraca mi: array(0) { }
a var_dump($_FILES['attachment']['name'][$i]) zwraca: NULL


I ogólnie nie chodzi mi o samo wysłanie plików, bo to działa bez zarzutu. smile.gif Załączniki załączają się. smile.gif Chodzi mi tylko o to, żeby dodatkowo jeszcze pojawiała się informacja o nazwach załączonych plików.
-Mike-
Najśmieszniejsze jest to, że mam tam też alert, który wyskakuje kiedy załączy się plik o niedozwolonym rozszerzeniu

Kod
If(!in_array(get_ext($_FILES['attachment']['name'][$i]), $allowtypes)) {
                
                // ALERT WYSKAKUJĄCY, GDY PRÓBOWANO ZAŁĄCZYĆ PLIK Z NIEDOZWOLONYM ROZSZERZENIEM         
                echo '
                <script type="text/javascript">
                alert("Niedozwolone rozszerzenie pliku:\n'.$_FILES['attachment']['name'][$i].'");
                history.back(-1);
                </script>
                ';


I w tym alercie wyświetla mi nazwy tych plików.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.