Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Closed TopicStart new topic
> [PHP][HTML][JavaScript]Formularz pocztowy, Problem z formularzem pocztowym
obelix94
post
Post #1





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


Witam!

Zrobiłem sobie taki skrypcik na podstawie ksiązki. Przerobiłem go trochę i nie wiem gdzie mam błąd. Poniżej zamieszczam skrypty. 

I jeszcze takie dwa pytanka:

- jak znaleźć w ciągu znaków (w zmiennej) jakąś literę

- jak porównać czy pola nie są puste (na liczbach wiem, a na ciągu?)

- jak zrobic w js że po wypełnieniu pól pojawia się wyślij? (przy czym zaznaczam że w js jestem zielony  (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) )



  1. <?php
  2.   // utworzenie krótkich nazw zmiennych
  3.   $imie=$_POST['imie'];
  4.   $email=$_POST['email'];
  5.   $wiadomosc=$_POST['wiadomosc'];
  6.   $temat = 'Wiadmość ze strony mateuszkow.oz.pl'.$_POST['temat'];
  7.   $adres = 'mateuszkow@oz.pl';
  8.   $tresc = 'Imie: '.$imie.&#092;"\n\"
  9.                .'Adres pocztowy: '.$email.&#092;"\n\"
  10.                .&#092;"Wiadmość: \n\".$wiadomosc.\"\n\";
  11.   $nadawca = $email;
  12.  
  13.   mail($adres, $temat, $tresc, $nadawca);
  14. ?>



  1. <form action="specjalne/formularz.php" method="post">
  2.   <p><label for="name">Imię:</label><input type="text" id="imie" /></p>
  3.   <p><label for="email">Email:</label><input type="text" id="email" /></p>
  4.   <p><label for="temat">Temat:</label><input type="text" id="temat" /></p>
  5.   <p><label for="message">Wiadomość:</label><textarea id="wiadomosc" rows="5" cols="28"></textarea></p>
  6.   <p><input type="submit" id="submit" value="Wyślij" /></p>
  7.   </form>



Błąd:

Notice: Undefined index: imie in C:\STRONA\specjalne\formularz.php on line 3
Notice: Undefined index: email in C:\STRONA\specjalne\formularz.php on line 4
Notice: Undefined index: wiadomosc in C:\STRONA\specjalne\formularz.php on line 5
Notice: Undefined index: temat in C:\STRONA\specjalne\formularz.php on line 6
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\STRONA\specjalne\formularz.php on line 13

Ten post edytował obelix94 16.11.2008, 12:04:35
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Nie ma zmiennych $_POST. Daj coś takiego i powinno prażyć:P

  1. <form action="specjalne/formularz.php" method="post">
  2.  
  3.  
  4.   <p><label for="name">Imię:</label><input type="text" name="imie" /></p>
  5.   <p><label for="email">Email:</label><input type="text" name="email" /></p>
  6.   <p><label for="temat">Temat:</label><input type="text" name="temat" /></p>
  7.   <p><label for="message">Wiadomość:</label><textarea name
  8. ="wiadomosc" rows="5" cols="28"></textarea></p>
  9.  
  10.  
  11.   <p><input type="submit" id="submit" value="Wyślij" /></p>
  12.   </form>

i zmienna $nadawca zmien na $nadawca = 'From:'.$email;

Ten post edytował Mlodycompany 16.11.2008, 12:07:20
Go to the top of the page
+Quote Post
obelix94
post
Post #3





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


nawet jak zmienie nadawce to nie działa  (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)
ale skoro nie ma zmiennej $_POST to jak wyciągnąć te dane z formularza do przetworzenia

Ten post edytował obelix94 16.11.2008, 12:10:56
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #4





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


przyjrzyj się dokładnie. Zauważ że zmieniłem w inputach coś, ale nie powiem co (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
obelix94
post
Post #5





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


a to dlatego mi nie działało.... (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

zmieniłeś id na name, ale nadal nie wiem o co tobie chodzi z $_POST



teraz wyskakuje tylko takie coś

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\STRONA\specjalne\formularz.php on line 13
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #6





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


a masz na kompie zainstalowany serwer pocztowy? jeśli masz to nie może się z nim polączyć, a z $_POST chodziło mi o to że one były puste. Jak chcesz sprawdzać co jest w tablicy $_POST to zrób sobie print_r($_POST);

Ten post edytował Mlodycompany 16.11.2008, 12:20:12
Go to the top of the page
+Quote Post
obelix94
post
Post #7





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


Dobrze. Dziękuje mlodycompany za pomoc. Na tym etapie wszystko działa.

I jeszcze takie pytanka:

- jak znaleźć w ciągu znaków (w zmiennej) jakąś literę
- jak porównać czy pola nie są puste (na liczbach wiem, a na ciągu?)
- jak zrobic w js że po wypełnieniu pól pojawia się wyślij? (przy czym zaznaczam że w js jestem trochę niedouczony(zielony) )

Ten post edytował obelix94 16.11.2008, 14:55:08
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #8





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


1. strpos

2. tak samo jak na liczbach czyli if(isSet($ciag)){ // zwraca true jeżeli nie jest pusta}

3. na js sie nie znam:p poszukaj w necie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
obelix94
post
Post #9





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


A jak wygląda jej prototyp?

A ktoś inny się zna na JS albo zna takie efekty?

Ten post edytował obelix94 16.11.2008, 16:34:40
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #10





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


jak dla mnie to technicznie by wygladalo to tak: odbiera z inputa dane i zapisuje do zmiennej a potem sprawdza czy zmienna nie jest pusta i zwraca true i false i w zaleznosci od tego pokazuje/ukrywa button. jak to zrobic w js to nie wiem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) :D
Go to the top of the page
+Quote Post
obelix94
post
Post #11





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


A czy jest na tym forum osoba, która miałaby chęć i czas mi objaśnić ten skrypcik ponizej? Co za co odpowiada i jak to dost. do np. texterea i do większej ilosci pól?

CODE
Czy zgadzasz sie na warunki regulaminu?
<form name="aaa"><input type="radio" name="ccc" onclick="document.aaa.fff.disabled='disabled'">nie <input type="radio" name="ccc" onclick="document.aaa.fff.disabled=''" selected>tak <br>
<input type="submit" name="fff" value="OK">
</form>


Wiem jak to powinno wyglądać. Ale nie wiem jak się do tego zabrać.
Analizując kod ponizej doszedłem do wniosku iż:
- funkcja javascript powinna być w osobnym pliku
- ogólna instrukcja to if value==' ' document.aaa.fff.disabled='disabled' else document.aaa.fff.disabled='disabled'
- tak instrukcja wd. mnie jest prawidłowa tylko czy jak będzie kilka deklaracji 'disabled' a jedna '' to co wyjdzie?
- wzorujac się na powyższym powinna być jakaś funkcja sprawdzenie [ if 1 ok 2 ok 3 ok 4ok 5ok ] ... document.aaa.fff.disabled=''
- tylko w jaki sposób przeniesć do funkcji sprawdzenie wartości true czy false?

Proszę was o wskazanie mi jakiś materiałów do poczytania i pomocy w zapisie tego co powyżej.

Myślę że wpadłem na dobry pomysł. Pozdrawiam!

Ten post edytował obelix94 16.11.2008, 17:22:13
Go to the top of the page
+Quote Post
erix
post
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Znowu chcesz gotowca wyżmędać? :|
Moderator już raz Ci zwrócił na to uwagę, gdzie szukać zleceń.

Cytat
Proszę was o wskazanie mi jakiś materiałów do poczytania i pomocy w zapisie tego co powyżej.

Google: kurs javascript

Ten post edytował erix 16.11.2008, 18:00:01
Go to the top of the page
+Quote Post
obelix94
post
Post #13





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


Nie chcę gotowca. Chcę pomocy. Mówiąc o materiałach - miałem na myśli sprawdzone kursy. Nie chce czytać w ciemno czegoś co może być źle opisane. A mówiąc ze potrzebuje pomocy w zapisie to chyba nie jest gotowiec. Wiem jak to trzeba zrobić ale nie wiem jak się do tego zabrać i jak zapisać. Prosiłem tylko o pomoc. Ale widzę że tutaj ciężko o cokolwiek prosić.

Jak mówię "proszę" to prosze. Jak mówie "potrzebuje gotowca" to potrzebuje gotowca. W tym wypadku robię to na swoją stronę.

Ale tamto to musiałem bulić 250zł za opóźnienie!

Pozdrawiam wszystkich którzy mają chęć pomagać
Go to the top of the page
+Quote Post
erix
post
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Ale tamto to musiałem bulić 250zł za opóźnienie!

To jest forum PHP, a o nie dotrzymywaniu czyichś terminów.

Cytat
Wiem jak to trzeba zrobić ale nie wiem jak się do tego zabrać i jak zapisać. Prosiłem tylko o pomoc. Ale widzę że tutaj ciężko o cokolwiek prosić.

Prosiłeś o pomoc, a my Ci jej udzielamy. Gdybyśmy tego nie robili, to by nikt nie odpisywał w tym wątku.

Celowo napisałem kurs javascript, bo aspekty, o które pytasz są wyjaśnione w każdym kursie.
Go to the top of the page
+Quote Post
obelix94
post
Post #15





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


Ale nadal nic nie wiem na temat mojego pomysłu 

Mam takie coś? Czy będzie działać?
  1. <?php
  2. if(imie value==' '){
  3. document.nameformularza.nameprzycisku.disabled='disabled'}
  4. else {
  5. document.nameformularza.nameprzycisku.disabled=' '}
  6. ?>


---------------------------------------

Dlaczego takie coś niedziała? Wziąłem to ze strony http://www.webtips.pl/post2173.html. Tam działa u mnie nie. Tzn. przyciks po naciśnięciu nie nadal jest aktywny.

  1. <?php
  2. <form name="aaa"><input type="radio" name="ccc" onclick="document.aaa.fff.disabled='disabled'">nie
  3. <input type="radio" name="ccc" onclick="document.aaa.fff.disabled=''" selected>tak <br>
  4. <br><br>
  5. <input type="submit" name="fff" value="OK">
  6. </form>
  7. ?>


Ten post edytował obelix94 16.11.2008, 19:32:39
Go to the top of the page
+Quote Post
RLLAMAS
post
Post #16





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 18.03.2007

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


  1. <form action="specjalne/formularz.php" method="post">
  2. <p><label for="name">Imię:</label><input type="text" name="imie" id="imie" onBlur="formverify();" /></p>
  3. <p><label for="email">Email:</label><input type="text" name="email" id="email" onBlur="formverify();" /></p>
  4. <p><label for="temat">Temat:</label><input type="text" name="temat" id="temat" onBlur="formverify();" /></p>
  5. <p><label for="message">Wiadomość:</label><textarea name
  6. ="wiadomosc" rows="5" cols="28" id="wiadomosc" onBlur="formverify();"></textarea></p>
  7. <p><input type="submit" id="send" value="Wyślij" style="display: none;" disable /></p>
  8. </form>


ponadto w ramach <head> </head> dodajesz:
  1. <script type="text/javascript">
  2. function formverify ()
  3. {
  4.  
  5. var im = document.getElementById('imie').value;
  6. var em = document.getElementById('email').value;
  7. var te = document.getElementById('temat').value;
  8. var wia = document.getElementById('wiadomosc').value;
  9. if ( im != "" & em != "" & te != "" & wia !="" )
  10. {
  11. document.getElementById('send').style.display = 'block';
  12. document.getElementById('send').disable = false;
  13. }else
  14. {
  15. document.getElementById('send').style.display = 'none';
  16. document.getElementById('send').disable = true;
  17. }
  18.  
  19. }
  20.  


Edit:
Dodałem ponownie id w kodzie pól formulaza.

zamiast onBlur mozesz użyć onkeypress
róznica polega na tym iż przy onBlur funkcja formverify wykonuje sie po deaktywacji pola a przy onkeypress po wcisnieciu kazdego klawisza

Ten post edytował RLLAMAS 16.11.2008, 20:09:09
Go to the top of the page
+Quote Post
obelix94
post
Post #17





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


co trzeba zmienić aby przycisk był widoczny ale nieaktywny?
Go to the top of the page
+Quote Post
RLLAMAS
post
Post #18





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 18.03.2007

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


usuń style="display: none;" z pola przycisku

i linie ze style.display w kodzie java

jesli nie zadziala to podam rozwiazanie jutro jak wruce z nocki w pracy.
Go to the top of the page
+Quote Post
obelix94
post
Post #19





Grupa: Nieautoryzowani
Postów: 141
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Gdańsk

Ostrzeżenie: (20%)
X----


  1. onblur="if(this.value=='')this.value='Wpisz swoje imię'" onfocus="if(this.value=='Wpisz swoje imię')this.value=''"


wcześniej miałem tak. czy można do tego dodać formverify();?

dzięki za ten kod. ale jak go przerobić? chodzi mi o efekt przycisku taki jak jest tu http://pulsaven.ovh.org/7.html gdy się kliknie nie. i dopiero jak się wypełni wszystkie pola przyją wygląd tak jak na początku gdy się wczyta tamtą stronę. w tym skrypcie nie ma go od początku. jak to zrobić?
Go to the top of the page
+Quote Post
tiraeth
post
Post #20





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Wiesz co? A mi się wydaje, że Ty chcesz gotowca. I tak to wygląda. Drążysz temat po kolei prosząc o kolejną i kolejną poprawkę nic nie dodając od siebie. Wymagasz, aby ktoś wszystko zrobił za Ciebie. Takich osób tutaj nie lubimy, inaczej - ja nie lubię. Dać palec, weźmie całą rękę.

Zacznij myśleć analitycznie i kombinować. Od początku nie włożyłeś nawet części swojej pracy w to, co tutaj wszyscy Ci napisali.

Temat zamykam. Jeśli chcesz mieć wszystko na tacy - pisz na Ogłoszeniach (Poszukuję).

A odnośnie Twoich pretensji, że za opóźnienie w zleceniu zapłaciłeś karę - to jest tylko i wyłącznie Twoja wina. Nikt nie jest zobligowany, by w ciągu kilku minut Ci odpisać, napisać gotowca i poprosić żebyś z niego skorzystał. Ucz się dotrzymywać terminów, które są wyznaczone dla Ciebie, a nie osób trzecich. Kiedyś możesz setki tysięcy złotych stracić. Nie mówiąc o utracie klienta.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.08.2025 - 23:58