x-kom hosting

Formularze w HTML

Izabella
utworzono
utworzono

Witam wszystkich serdecznie. Jestem studentką pierwszego roku informatyki i na zaliczenie mieliśmy zadanie, które niestety przerasta moją nabytą wiedzę a muszę je zrobić żeby zaliczyć semestr ;-(
Tak to wygląda:
Muszę zrobić stronę (zaczęłam w NVU), na której wstawiony miał być formularz rejestrujący następujące dane:

Imię
Nazwisko
Płeć
Data ur.
Adres
Kod pocztowy, miejscowosc
Wojewodztwo
Tel kontaktowy
e-mail
Dotychczasowe doświadczenie
Zdjęcie (tutaj ma być okienko PRZEGLĄDAJ żeby można było załadować fotkę z dysku).

Na końcu ma też być takie okienko na ptaszka ;-) że jak się kliknie to potwierdzamy, zgodę na przetwarzanie np. danych osobowych itd.

No i na końcu guzik ZAREJESTRUJ.

Powyższe dane powinny być wysyłane na maila a jeśli chce dostać lepszą ocenę to mają się znaleść na serwerze sql.

Kolega mówił mi, że powinnam mieć jakiegoś Krasnala i zrobić jakiś skrypt ale to już dla mnie kosmos.

Jak znajdzie się taki fajny ktoś kto mi pomoże to w rewanżu posprzątam mu pokój hehe ;-)

Maly1990
komentarz
komentarz

Ciezko zeby ktos ci napisał cały kod. A powiedz na kiedy to masz zrobic?

  • Dobra wypowiedź 1
Izabella
komentarz
komentarz

Na 17 marca mam poprawkę. Całego kodu nie potrzebuje. Teraz chodzi mi o to co mam zrobić jak już mam w html zrobiony ten formularz, tzn. można wpisywać wszystkie dane, są odpowiednie guziki (zarejestruj) ale po kliknięciu powinno to się odwoływać do pliku PHP, żeby wysłać dane z tego forularza na maila. Problem tkwi w tym, że nie wiem co dalej. Mam zainstalowanego Krasnala ale to mi mało daje bo tutaj już się totalnie gubie.
Aha ważne jest też to żeby wysyłać dane z formularza bez użycia programu pocztowego.
Jeśli będzie potrzeba to poźniej wkleje kod html do oceny.
PS Wielkie dzięki że odpowiedziałeś bo studiuje zaocznie , nie mając w tygodniu kontaktu z ludzmi z roku i nikt mi nie pomoże.

Maly1990
komentarz
komentarz

Ok popatrze i odpisze ci w weekend bo teraz czasu nie mam. Fajkie ze napisalas chodziaz kod HTML, jak mozesz to wklej kod na forum bo bedzie potrzebny mi do dalszego pisania w kodzie php, chodzi tu o nazwy poszczegolnych inputow

  • Dobra wypowiedź 1
Izabella
komentarz
komentarz

[i][b]OTO KOD jaki sama przygotowałam:[/b][/i]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-type"
content="text/html; charset=iso-8859-2">
<style type="text/css">
input.imie, input.email {
border: green solid 1px;
width: 200px
}
textarea {
border: green solid 1px;
width: 650px;
height: 250px
}
</style>
<title>formularz</title>
</head>
<body>
<form enctype="text/plain" action="mailto:m@il"
method="post">
Imię i nazwisko:<br>
<input class="imie"><br>
Data urodzenia<br>
<input class="email"><br>
Adres<br>
<input class="email"><br>
Kod pocztowy<br>
<input class="email"><br>
Miejscowość<br>
<input class="email"><br>
Tel. kontaktowy<br>
<input class="email"><br>
E-mail<br>
<input class="email"><br>
<br>
<input value="Rejestruj" type="submit">albo
<input src="plik" type="image"></form>
<form method="post" action="grupakobieca@wp.pl"
name="Formularz rejestracyjny"></form>
</body>
</html>

Teraz moja niedoróbka :( po prostu nie umiem dodać specyficznych (inputów ???) Jak przeszukiwałam sieć to wszystko mi się pochrzaniło :( tzn.
Brakuje w tym formularzu checkboxów: data urodzenia - takie rozuwane DZIEŃ, MIESIĄC, ROK,
płeć K/M takie okrągłe z czarną kropką
oraz możliwości dodania zdjęcia (żeby można było załadować z dysku) w załączniku.
PRZEPRASZAM, PO PROSTU NIE UMIEM :(

I dziękuję że do mnie wyciągnąłeś pomocną dłoń :)

Maly1990
komentarz
komentarz

Zobaczymy co da sie zrobic, ogolnie to troszeczke jest niepoprawnie napisany ten kod w html strict ale postaramy sie poprawic ;p

  • Dobra wypowiedź 1
Izabella
komentarz
komentarz

[quote name='Maly1990' timestamp='1331328950' post='1460830'] Zobaczymy co da sie zrobic, ogolnie to troszeczke jest niepoprawnie napisany ten kod w html strict ale postaramy sie poprawic ;p [/quote]
Tzn on jest robiony w Compozerze, bo ja to tak z głowy nie umiem napisać kody a tam ma możliwość budowy strony ręcznie i możliwość wglądu w kod.
Jeszcze jedna mała sprawa :) Nie wim czemu jak robię stronę w właśnie w tym kompozerze to firefox poprawnie ją odtwarza a w internet explorer wszystko zamiast być wyśrodkowane to przeciąga do lewej strony ?? :mur::prosi:

Maly1990
komentarz
komentarz

wszystko zależy od przeglądarki, spróbuj ściagnac internet exploler 9 on ma juz bardzo zbliżone standarty do reszty przegladarek. Powinno to pomoc no a jesli nie to trzeba zmienic gora dwie linijki w kodzie

  • Dobra wypowiedź 1
leggo
komentarz
komentarz (edytowane)

Niestety każda przeglądarka może wyświetlać stronę w odrobinę inny sposób. Zwykle wystarczy trzymać się standardów, żeby nie było problemów, czasami trzeba zmienić css specjalnie pod jakąś przeglądarkę.

Co do braków w formularzu:
Rozsuwane na datę to combobox-y:
[CODE]
<select name="nazwa" size="1">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
[/CODE]
Pole na płeć (z możliwością wybrania tylko jednego) to radiobox:
[CODE]
<input type="radio" name="plec" value="kobieta" />kobieta
<input type="radio" name="plec" value="mezczyzna" />meżczyzna
[/CODE]
I na koniec najlepsze - "okienko na ptaszka" :)
[CODE]
<input type="checkbox" name="nazwa" value="wartosc" />Opis[/CODE]

  • Dobra wypowiedź 1
Izabella
komentarz
komentarz

Dzięki[url="http://www.forumpc.pl/index.php?showuser=19566"] Legolass :dance:[/url][url="http://www.forumpc.pl/index.php?showuser=19566"][url="http://www.forumpc.pl/index.php?showuser=19566"] [/url][/url]
Wprowadziłam i pozmieniałam otrzymany od Ciebie kod. A czy w tym kodzie html nie powinno być gdzieś warunku ?? CHodzi mi o to, że jak jakieś pole nie będzie uzupełnione powinien wyświetlić się komunikat - "nie wszystkie pola są uzupełnione" ??

AKTUALNY KOD:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-type"
content="text/html; charset=iso-8859-2">
<style type="text/css">
input.imie, input.email {
border: green solid 1px;
width: 200px
}
textarea {
border: green solid 1px;
width: 650px;
height: 250px
}
</style>
<title>formularz</title>
</head>
<body>
<form enctype="text/plain" action="mailto:m@il"
method="post">
Imię i nazwisko:<br>
<input class="imie"><br>
<br>
Płeć<br>
<input name="plec" value="kobieta" type="radio">kobieta
<input name="plec" value="mezczyzna" type="radio">meżczyzna
<br>
<br>
Data urodzenia<br>
<select name="DZIEŃ" size="1">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="nazwa" size="1">
<option>Styczeń</option>
<option>Luty</option>
<option>Marzec</option>
<option>Kwiecień</option>
<option>Maj</option>
<option>Czerwiec</option>
<option>Lipiec</option>
<option>Sierpień</option>
<option>Wrzesień</option>
<option>Październik</option>
<option>Listopad</option>
<option>Grudzień</option>
</select>
<select name="nazwa" size="1">
<option>1996</option>
<option>1995</option>
<option>1994</option>
<option>1993</option>
<option>1992</option>
<option>1991</option>
<option>1990</option>
<option>1989</option>
<option>1988</option>
<option>1987</option>
<option>1986</option>
<option>1985</option>
<option>1984</option>
<option>1983</option>
<option>1982</option>
<option>1981</option>
<option>1980</option>
<option>1979</option>
<option>1978</option>
<option>1977</option>
<option>1976</option>
<option>1975</option>
<option>1974</option>
<option>1973</option>
</select>
<br>
<br>
Adres (ulica, numer domi i mieszkania)<br>
<input class="email"><br>
Kod pocztowy<br>
<input class="email"><br>
Miejscowość<br>
<input class="email"><br>
Tel. kontaktowy<br>
<input class="email"><br>
E-mail<br>
<input class="email"><br>
<br>
<input name="nazwa" value="wartosc" type="checkbox">Wyrażam
zgodę na przetwarzanie danych osobowych zgodnie z ...<br>
<br>
<input value="Rejestruj" type="submit"> albo
<input src="plik" type="image"></form>
<form method="post" action="grupakobieca@wp.pl"
name="Formularz rejestracyjny"></form>
</body>
</html>


PS. Mały1990 pisałeś, że mam jakieś błędy w kodzie i pewnie nadal one gdzieś w nim są. Ale mi to kurde działa :banan:

Maly1990
komentarz
komentarz

w html nie ma warunków.Html to jezyk opisowy

  • Dobra wypowiedź 1
leggo
komentarz
komentarz (edytowane)

[quote name='Izabella' timestamp='1331452840' post='1461731']
CHodzi mi o to, że jak jakieś pole nie będzie uzupełnione powinien wyświetlić się komunikat - "nie wszystkie pola są uzupełnione" ??
[/quote]
Możesz zablokować przycisk "rejestruj" zanim formularz nie będzie cały gotowy.
[CODE]
<input name="nazwa" value="wartosc" type="checkbox" onclick="this.form.elements['przycisk'].disabled = !this.checked" />Wyrażam
zgodę na przetwarzanie danych osobowych zgodnie z ...<br>
<br>
<input value="Rejestruj" type="submit" name="przycisk" disabled="disabled">
[/CODE]

  • Dobra wypowiedź 1
Izabella
komentarz
komentarz

Dzięki wielkie Legolass. Muszę się czymś pochwalić. Sama wstawiłam przycisk wyczyść dane i ... pięknie czyści :hurra:
Staram się jak mogę chłopaki ale stanęłam w miejscu bo nie wiem jak to teraz wysłać na pocztę bez użycia programu pocztowego. Wiem, ze musi być skrypt php ale ... tylko to wiem. Podobno to jest krótki kod ale jak buszowałam po internecie żeby to samodzielnie zrobić to ... nie chu chu

Maly1990 pisaliśmy równocześnie i mnie uprzedziłeś !! :) dziękuje Ci niezmiernie , tzn Wam obojgu dziękuje. Zadomowie się na tym forum bo nawet mnie wciąga grzebanie w tym kodzie hehe (kurde jakie to kobiece) :)

Żeby całość działała to musi być włączony ten program krasnal ?? Bo nie wysyła tej wiadomośći...
Chyba nie każdy ma go zainstalowanego ?

leggo
komentarz
komentarz

Żeby całość działała pliki muszą być umieszczone na serwerze obsługującym php. Krasnal służy do "postawienia" takiego serwera bezpośrednio na komputerze (żeby przetestować działanie skryptów przed wysłaniem plików na serwer).

  • Dobra wypowiedź 1
Izabella
komentarz
komentarz

[quote name='Maly1990' timestamp='1331491453' post='1462279'] na krasnalu nie bedzie wysylal. bo musi byc skonfikurowany serwer smtp a nie weim jak to zrobic szukalem tego ale nie wiem jak skonfigurowac. Natomiast założyłem konto hostingowe i skrypt działa w 100%, wiem bo sprawdzalem [/quote]
Wielkie dzięki. Jeszcze się pomęcze i nie odejdę od kompa dopóki mi nie zadziała ;)
Jeszcze zdam relacje jak poszło i chętnie dam Wam jakiegoś soga czy coś tam innego, żeby docenić Waszą pomoc.

Maly1990
komentarz
komentarz

a co ci jeszcze nie dziala? ;p

Izabella
komentarz
komentarz

No niestety. Jest taki komunikat:

[b]Warning[/b]: mail(): SMTP server response: 550 Invalid recipient: grupakobieca@wp.pl in [b]c:\usr\krasnal\www\form\skrypt.php[/b] on line [b]10[/b]

To się dzieje jak odpalam na moim kompie

Gdzie wg Was mogę to przetestować tzn gdzie wg Was jest najlepszy darmowy hosting (dobrze ?) z obsługą php ?

Maly1990
komentarz
komentarz

No wlasnie bo smtp nie jest skonfigurowane, i niestety nie wiem jak skonfigurować probowalem ale nie działa. Ja sprawdzalem na cba.pl jest obluga php i jak dobrze pamiętam to nawet bazdy danych myslq.

Izabella
komentarz
komentarz (edytowane)

Powoli się rozkręcam bo wszystko działa na cba.pl. Dzięki jeszcze raz. ;)

Znowu sie zamotalam. Chcialam zeby po wyslaniu formularza na poczte pojawial sie komunikat w stylu "dziekujemy za wypelnienie formularza" i pod tym komunikatem pojawil link o opisie "POWROT DO STRONY". Zrobilam tak:

...... tutaj jest koncowka skryptu

'.$_POST['wiadomosc'];
mail('grupakobieca@wp.pl','Temat',$wiadomosc);
echo "<b>dziekujemy za wypelnienie formularza</b>";
echo
echo ("<a href=\"http://www.mojastrona.pl/\">www.mojastrona.pl</a>");
?>

Nie dziala mi tylko jakis syntax error :( co ja znowu robie zle ??

leggo
komentarz
komentarz (edytowane)

Problemem jest linijka trzecia od końca, choć błąd zapewne wyskakuje na przedostatniej. Nie możesz dawać samego [b]echo[/b], jak już to może być [b]echo "";[/b]. Ale to nic nie robi - nie przerzuca do następnej linijki (bo chyba takie było Twoje zamierzenie).
Po prostu wywal tą linijkę i powinno być dobrze.
[CODE]
'.$_POST['wiadomosc'];
mail('grupakobieca@wp.pl','Temat',$wiadomosc);
echo "<b>dziekujemy za wypelnienie formularza</b>";
echo "<a href=\"http://www.mojastrona.pl/\">www.mojastrona.pl</a>";
?>
[/CODE]
Jeśli chcesz link zrzucić do następnej linii, użyj <br />.

  • 2 tygodnie później...
Izabella
komentarz
komentarz

Dzięki[url="http://www.forumpc.pl/index.php?showuser=19566"] Legolass[/url] ! Wszystko działa :)

Najpierw chłopaki chciałam Wam podziękować bo dostałam bdb !! Powinnam Wam jakąś flaszkę postawić ale jeszcze będzie okazja.
Psor powiedział, że powinnam zmienić jeszcze jedną rzecz. Tzn po wysłaniu danych z formularza na pocztę zamiast polskich znaków są jakieś krzaki. Jakie kodowanie i gdzie należy wprowadzić do skryptu żeby było już po polskiemu :) pozdrawiam Iza

benkowik
komentarz
komentarz

Najlepiej w nagłówku wiadomości dać takie jak dokument HTML czyli podejrzewam, że [b]UTF-8[/b].

Izabella
komentarz
komentarz

No tak ale jak sformułować to w nagłówki PHP, poza tym to nie UFT-8 tylko ISO-8859-2
Wpisałam tak:
$headers .= 'Content-type: text/html; charset=iso-8859-2' . "\r\n";

ale nie działa :(

Cały kod:
<?
$headers .= 'Content-type: text/html; charset=iso-8859-2' . "\r\n";
$wiadomosc=$_POST['imie'].'
'.$_POST['email'].'
'.$_POST['wiadomosc'];
mail('formularzzapytanie@gmail.com','Temat',$wiadomosc);
echo "<center><b>Dziekujemy za wypełnienie formularza</b></center>";
echo "<br>";
echo "<center><a href=\"http://wsinf.bydgoszcz.pl/\">POWRÓT DO STRONY</a></center>";
echo "<br>";
?>

A TO JEST KODOWANIE ZE STRONY WWW:
<meta content="text/html; charset=ISO-8859-2"
http-equiv="content-type">

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.