• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak stworzyć działający formularz kontaktowy z możliwością dołączenia (upload) pliku?

Object Storage Arubacloud
0 głosów
1,116 wizyt
pytanie zadane 30 marca 2016 w PHP przez Łukasz Kasza Początkujący (460 p.)

Dzień dobry,

jestem w trakcie robienia strony, głównie statycznej, opartej front-endowo na frameworku Bootstrap. Mam na niej jednak do wykonania dwa elementy wymuszające napisanie skryptu PHP - języka, którego praktycznie nie umiem.

1. Formularz kontaktowy - to już zrobiłem, po długim wysiłku.

2. Drugi formularz kontaktowy, obejmujący dwa elementy:

a.) wybór jednej z kilku opcji z listy

b.) dołączenie pliku z dysku

Funkcjonalności a.) i b.) związane są z tym, że skrypt ten ma obsługiwać proces rekrutacyjny - a.) jest potrzebne do wyboru stanowiska, na które aplikujemy, a b.) na przesłanie swojego CV.

 

Stworzyłem już do tego front-end w Bootstrapie, ale utknąłem na back-endzie w PHP. Po prostu nie umiem zaprogramować tego tak, żeby dało się wybrać jedną z opcji z listy a następnie dołączyć plik z dysku. 

 

Jeżeli ktoś może mi podpowiedzieć, jak napisać taki skrypt, to będę bardzo wdzięczny. Będę wdzięczny za jakiekolwiek wskazówki, linki, podpowiedzi, fragmenty kodu itd. - zrobiłem już w tym temacie dłuższy research ale bezskutecznie. 

Pozdrawiam,

Łukasz

1 odpowiedź

0 głosów
odpowiedź 30 marca 2016 przez ormu16 Gaduła (4,980 p.)
To zależy czy wystarczy Ci do tego pliku zwykły input type=file czy chcesz robić na przykład dropzone. Dobrze się składa bo właśnie tworzę tego typu skrypt.
komentarz 30 marca 2016 przez Łukasz Kasza Początkujący (460 p.)

Dziękuję za zainteresowanie się tematem, ormu16!

 

Tak, dokładnie, mi wystarczy zwykły input=file, nawet przygotowany w Bootstrapie front-end mam już tak (podaję w skrócie) rozpisany:

 

<a class="btn btn-1>

dołącz CV

<input type="file">

</a>

 

komentarz 30 marca 2016 przez ormu16 Gaduła (4,980 p.)
Jeszcze jedno pytanie. Formularz chcesz wysyłać poprzez ajax czy po prostu jak każdy inny formularz?
komentarz 30 marca 2016 przez ormu16 Gaduła (4,980 p.)

Robiąc to poprzez wysłanie metodą POST i przeładowanie strony można to zrobić w ten sposób: 

<form action="upload.php" method="POST" ENCTYPE="multipart/form-data">
   <input type="file" name="plik"/>
   <input type="submit" value="Wyślij plik"/>
  </form>

teraz w pliku php trzeba odebrać plik (zakładając, że dopuszczasz do wysłania tylko 1 pliku w tym samym formularzu)

if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
   //walidacja
}

teraz czas na wlidacje

if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
    if ($_FILES['plik']['size'] > 2097152) {
        // Wiadomość o tym że plik powinien ważyć mniej niż 2 GB
    } else {
        if (isset($_FILES['plik']['type'])) {
            if ($_FILES['plik']['type']!="typ pliku" || $_FILES['plik']['type']!="typ pliku2')
            {
                 //zły typ pliku    
            }
            else {
                if (move_uploaded_file($_FILES['plik']['tmp_name'], 'uploads/images/'.$_FILES['plik']['name']) {
                     // plik został wysłany
                  }
            }
        }
    }
} else {
  //wystąpił błąd!
}

Możesz to zrobić też przez JS, będzie bardziej przyjaźnie dla użytkownika, jednak jeżeli nie czujesz się na siłach by robić walidację przez javascript i wysyłać plik ajaxem potraktuj to jak dodatek i coś czym możesz zająć się pobocznie. Mam nadzieję, że pomogłem. W razie napisz do mnie.

Podobne pytania

+1 głos
2 odpowiedzi 1,203 wizyt
pytanie zadane 24 czerwca 2016 w PHP przez Ziuziek Mądrala (5,140 p.)
0 głosów
1 odpowiedź 96 wizyt
pytanie zadane 4 grudnia 2023 w PHP przez pm.epoczta Nowicjusz (120 p.)
+1 głos
0 odpowiedzi 186 wizyt
pytanie zadane 11 stycznia 2023 w PHP przez Tadeusz Kwoka Nowicjusz (170 p.)

92,536 zapytań

141,377 odpowiedzi

319,452 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...