Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz
Forum PHP.pl > Forum > Przedszkole
Philes
Mam formularz:

  1. <table border="0" width="600" align="left" id="table1">
  2. <form name="form" method="post" action="formularz.php3">
  3. <tr>
  4. <td width="586" colspan="4">DOCHODY - kredytobiorca</td>
  5. </tr>
  6. <tr>
  7. <td width="586" colspan="4">Umowa o pracę</td>
  8. </tr>
  9. <tr>
  10. <td width="211" colspan="2">umowa od kiedy/do kiedy:</td>
  11. <td width="379" colspan="2">wynagrodzenie miesięczne netto/brutto:</td>
  12. </tr>
  13. <tr>
  14. <td width="211" colspan="2">
  15. <input type="text" name="pole17" size="35"></td>
  16. <td width="379" colspan="2">
  17. <input type="text" name="pole18" size="45"></td>
  18. </tr>
  19. <tr>
  20. <td width="583" colspan="4">Czy dochody wpływają na rachunek bankowy? <input type="checkbox" name="C1" value="ON"></td>
  21. </tr>
  22. </form>


Formularz.php3 wygląda tak:

  1. <?
  2.  
  3. if (($imie == "") || ($pole1 == "") || ($pole2 == "") || ($pole3 == "") || ($pole4 == "") || ($pole5 == "") || ($pole6 == "") || ($pole7 == ""))//jeśli jakiekolwiek z pól zostało pominięte tworzymy formularz
  4. {
  5. echo "<form name=form method=post action=mail.php>";
  6. echo "<center><b>Nie wypełniłeś wszystkich pól formularza! Uzupełnij brakujące pola!</b><br>";
  7. }
  8. if ($imie == "")//sprawdzamy czy pole imie jest puste
  9. {
  10. echo "Podaj swoje imię:<br><input type=text name=imie><br>";//jeśli pole imie jest puste wyświetlamy pole imie itd...
  11. }
  12. else
  13. {
  14. echo "<input type=hidden name=imie value=$imie>";
  15. }
  16.  
  17. if (($imie == "") || ($pole1 == "") || ($pole2 == "") || ($pole3 == "") || ($pole4 == "") || ($pole5 == "") || ($pole6 == "") || ($pole7 == ""))
  18. {
  19. echo "<input type=submit name=submit value=wyślij>";
  20. echo "<input type=reset name=reset value=wyczyść>";
  21. echo "</form>";//zamykamy formularz
  22. }
  23. else
  24. {
  25. $wiadomosc = "DANE OSOBOWEnImię i nazwisko: $imienTelefon kontaktowy: $pole1nStan cywilny
    : $pole2nDzieci: $pole3nStosunki majątkowe: $pole4nData urodzenia: $pole5nMiejsce
     urodzenia: $pole6nStosunki do służby wojskowej: $pole7nnnINPUT : $C1"
    ;
  26. mail ("mail@mail.pl", "Temat", $wiadomosc, $header, ( $_POST[ 'C1' ] == 'ON' ) ? 'tak' : 'nie' );
  27. echo "<center>Dziękujemy za zamówienie <b>$imie</b>.<br>Jeśli nie popełniłeś(aś) błędów w danych osobowych odezwiemy się do Ciebie w ciagu 24 godzin.";
  28. }
  29.  
  30. ?>


Problem twki w tym kodzie :

  1. <?php
  2. ( $_POST[ 'C1' ] == 'ON' ) ? 'tak' : 'nie'
  3. ?>


Gdy pole input "C1" jest zaznaczone to na maila przychodzi słowo "ON" zamiast "tak", a jeśli pole nie jest zaznaczone to nic sie nie pokazuje a powinno "nie".

Co jest nie tak?
Proszę o pomoc! sad.gif
nospor
wszystko jest w nalezytym porządku. checkboxy maja to do siebie, ze gdy sa zaznaczone to przesylana jest wartosc value (czyli w tym przypadku ON). A gdy nie jest zaznaczony to nie jest nic wysylane smile.gif

czyli warunek isset($_POST['C1']) zwroci true gdy zaznaczysz czeckbocxa
lenczewski
zastanów się co robi:
  1. <?php
  2. ( $_POST[ 'C1' ] == 'ON' ) ? 'tak' : 'nie'
  3. ?>

czy nie powinno być
  1. <?php
  2. ( $_POST[ 'C1' ] == 'ON' ) ? print('tak') : print('nie')
  3. ?>

...a zwraca Ci ON, zapewne dlatego, że taka jest wartośc C1
spróbuj:
  1. <?php
  2. if($_POST[ 'C1' ] == 'ON')  $_POST[ 'C1' ] == 'tak';
  3. else $_POST[ 'C1' ] == 'nie';
  4. ?>

tylko, że dla C1 odrazu możesz (w formularzu) przypisać value=tak, a wtedy
  1. <?php
  2. if($_POST[ 'C1' ] != 'tak')  $_POST[ 'C1' ] == 'nie';
  3. ?>
crash
Nakombinowałeś, nakombinowałeś i nic mądrego nie wymyśliłeś...
  1. <?php
  2. $wiadomosc = "DANE OSOBOWEnImię i nazwisko: $imienTelefon kontaktowy: $pole1nStan cywilny
    : $pole2nDzieci: $pole3nStosunki majątkowe: $pole4nData urodzenia: $pole5nMiejsce
     urodzenia: $pole6nStosunki do służby wojskowej: $pole7nnnINPUT : "
     . ( ( $_POST[ 'C1' ] == 'ON' ) ? 'tak' : 'nie' );
  3. mail ("mail@mail.pl", "Temat", $wiadomosc, $header );
  4. ?>

Radzę też poczytać o register_globals
Philes
Próbuje próbuje i nie wychodzi :/ mógłby ktoś w całości pokazać jak miałby wyglądać plik php3 ?
nospor
lekko zmodyfikowany kod crasha:
  1. <?php
  2. $wiadomosc = "DANE OSOBOWEnImię i nazwisko: $imienTelefon kontaktowy: $pole1nStan cywilny
    : $pole2nDzieci: $pole3nStosunki majątkowe: $pole4nData urodzenia: $pole5nMiejsce
     urodzenia: $pole6nStosunki do służby wojskowej: $pole7nnnINPUT : "
     . ( ( isset($_POST[ 'C1' ]) ) ? 'tak' : 'nie' );
  3. mail ("mail@mail.pl", "Temat", $wiadomosc, $header );
  4. ?>
Philes
  1. <?php
  2. $wiadomosc = "DANE OSOBOWEnImię i nazwisko: $imienTelefon kontaktowy: $pole1nStan cywilny
    : $pole2nDzieci: $pole3nStosunki majątkowe: $pole4nData urodzenia: $pole5nMiejsce
     urodzenia: $pole6nStosunki do służby wojskowej: $pole7nnnINPUT : "
     . ( ( isset($_POST[ 'C1' ]) ) ? 'tak' : 'nie' ); A CO JAK DALEJ CHCEM COŚ JESZCZE DAĆ np $pole21 questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif
  3.  
  4. mail ("mail@mail.pl", "Temat", $wiadomosc, $header );
  5. ?>
nospor
no bez jaj. to jest zwykle lączenie stringow. poczytaj se cos o stringach bo przesadzasz.

  1. <?php
  2. $wiadomosc = "DANE OSOBOWEnImię i nazwisko: $imienTelefon kontaktowy: $pole1nStan cywilny
    : $pole2nDzieci: $pole3nStosunki majątkowe: $pole4nData urodzenia: $pole5nMiejsce
     urodzenia: $pole6nStosunki do służby wojskowej: $pole7nnnINPUT : "
     . ( ( isset($_POST[ 'C1' ])  ) ? 'tak' : 'nie' )."itusewstawresztekodu!!!";
  3.  
  4. mail ("mail@mail.pl", "Temat", $wiadomosc, $header );
  5. ?>
Philes
OK. A mam jeszcze jedno pytanko. Jak dodać BBCODE do wysyłanego maila?
TZN. Żeby te Tak lub Nie np. było pogrubione? W przychodzącym mailu oczywiście.
Jest to możliwe?
nospor
wysylasz mail w postaci html i najzwyklej w swiecie bierzesz to co chcesz w znacznik <b>. Troche mysl. Bym cie odeslal do mego podpisu, ale zmienilem. Zacytuje ci wiec tu Kubusia:
Myśl, myśl, myśl...
Philes
Bardzo mi przykro że jestem początkujący i szukam pomocy na forum... a jak wysłać maila w postaci html?
nospor
Cytat(Philes @ 2006-01-01 20:32:31)
Bardzo mi przykro że jestem początkujący i szukam pomocy na forum...

To ze jestes poczatkujacy nie zwalnia cie z obowiazku znania podstaw. Takie rzeczy jak laczenie stringow to w pierszym lepszym kursie o php w necie znajdziesz. No ale po co czytac skoro mozna ze wszystkim na forum leciec. Ale zebys sie nie zdziwil...

Cytat
a jak wysłać maila w postaci html?
Bylo na forum multum razy. uzyj wyszukiwarki. Troche wysilku ze swojej strony tez byz wlozyl.
lenczewski
http://www.strefaphp.net/artykul25.html
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.