Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP] Potrzebna pomoc przy formularzu
--Mike--
post
Post #1





Goście







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
Go to the top of the page
+Quote Post
ostrylg
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 18
Dołączył: 11.12.2005
Skąd: Gdańsk

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


sprawdź var_dumpem co zwraca Ci tablica $_FILES
Go to the top of the page
+Quote Post
Sephirus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


1. Masz odpowiedni Enctype w FORM?
2. Chcesz wysyłać pliki korzystając z wielu <input type="file"/> czy z jednego MULTI?


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
--Mike--
post
Post #4





Goście







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.
Go to the top of the page
+Quote Post
--Mike--
post
Post #5





Goście







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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 20:25