Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Checkbox i text razem na maila, Jak wysłać tylko te, które sa zaznaczone?
varulven
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.09.2008

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


Witam Szanownych Forumowiczów!

Mam formularz z polami checkbox (produkty do wyboru) i text (ilośc sztuk). Udało mi się (z nieocenioną pomocą przyjaznych ludzi) zbudować go tak, że wysyła na mojego maila oraz na "stronę dziękującą" tylko te punkty z 'checkbox' ( w tym wypadku produkty), które zaznaczył użytkownik. Niestety, nie mogę dojść, w jaki sposób zrobić to samo z polami 'text'. Tzn. tak, żeby w "stronie zwrotnej" i mailu pokazały się tylko produkty z 'checkbox' wraz z podaną ilością sztuk.

W jaki sposób mogę wykonać takie coś? Podkreślam, że jestem jasnozielony z PHP:(
Może gdzieś mogę poczytać o takich przypadkach?

Dziękuję z góry za wszelkie podpowiedzi i wskazówki!

html:
  1. <form enctype='multipart/form-data' name="produkty[]" action='process.php' method='post'>
  2. <input type=text name='email' /><br />
  3.  
  4. <input type='checkbox' name='produkty[]' value='produkt1' />produkt1
  5. <input name="sztuk" type="text" class="sztuki" id="sztuk" />sztuk<br />
  6.  
  7. <input type='checkbox' name='produkty[]' value='produkt2' />produkt2
  8. <input name="sztuk" type="text" class="sztuki" id="sztuk2" />sztuk<br />
  9.  
  10. <input type='checkbox' name='produkty[]' value='produkt3' />produkt2
  11. <input name="sztuk" type="text" class="sztuki" id="sztuk3" />sztuk<br />
  12.  
  13. <input type='checkbox' name='produkty[]' value='produkt4' />produkt4
  14. <input name="sztuk" type="text" class="sztuki" id="sztuk4" />sztuk<br />
  15.  
  16. <input type='checkbox' name='produkty[]' value='produkt5' />produkt5
  17. <input name="sztuk" type="text" class="sztuki" id="sztuk5" />sztuk<br />
  18.  
  19. <input type='checkbox' name='produkty[]' value='produkt6' />produkt6
  20. <input name="sztuk" type="text" class="sztuki" id="sztuk6" />sztuk<br />
  21.  
  22. <textarea name='wiadomosc' rows=5 cols=20></textarea>
  23. <input type='hidden' name='envvariable' value='date_stamp' />
  24. <input type=submit value='Submit Form' onclick="return confirm('Wysłać formularz?');"/>
  25. <input type=reset value='Reset Form' />
  26.  
  27. </form>


php:
  1. <?php
  2. $wiadomosc = htmlspecialchars($_POST['wiadomosc']);
  3. $produkty = $_POST['produkty'];
  4. $mail = htmlspecialchars($_POST['mail']);
  5. $data = date('l jS of F Y h:i:s A');
  6. date_default_timezone_set('Europe/Warsaw');
  7.  
  8. // miejsce na test e-maila
  9.  
  10. for($i=0; $i<sizeof($produkty); $i++)
  11.    $produkty_mail .= $i.' '.htmlspecialchars($produkty[$i])."\n";
  12.    
  13. $tresc_maila = "$data\n\n Mail: $mail \n\nProdukty:\n $produkty_mail\n Wiadomosc:\n".$wiadomosc;
  14. mail("[email="moj@mail.com"]moj@mail.com","From[/email] Submitted at your website", $tresc_maila, "From: zamowienie towaru");
  15.  
  16. $wiad_dla_uzyt = '<h2>Thank you!</h2><ul><li>mail: '.$mail.'</li>';
  17. for($i=0; $i<sizeof($produkty); $i++)
  18.    $wiad_dla_uzyt .= '<li>'.htmlspecialchars($produkty[$i]).'</li>';
  19. $wiad_dla_uzyt .= '<li>wiadomosc: '.$wiadomosc.'</li><li>czas: '.$data.'</li></ul>';
  20. ?>
  21.  
  22. // miejsce na gorny kod strony
  23. <?php echo $wiad_dla_uzyt; ?>
  24. // miejsce na dolny kod strony


Pozdrawiam!
Go to the top of the page
+Quote Post
guilty82
post
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 31
Dołączył: 26.03.2007

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


  1. <?php
  2. <form enctype='multipart/form-data' name="produkty" action='process.php' method='post'>
  3.  
  4. ...
  5.  
  6. <input type='checkbox' name='produkty[0]' value='produkt1' />produkt1
  7. <input name="sztuk[]" type="text" class="sztuki" id="sztuk" />sztuk<br />
  8.  
  9. ...
  10.  
  11. <input type='checkbox' name='produkty[5]' value='produkt6' />produkt6
  12. <input name="sztuk[]" type="text" class="sztuki" id="sztuk6" />sztuk<br />
  13. ?>


Teraz

  1. <?php
  2. $prod = $_POST['produkty'];
  3. $sztuk = $_POST['sztuk'];
  4.  
  5. foreach ($prod as $key => $val) {
  6.    echo "Prod: ".$val;
  7.    if (isset($sztuk[$key])) {
  8.            echo " Ilosc: ".$sztuk[$key]."<br />";
  9.    }
  10. }
  11. ?>
Go to the top of the page
+Quote Post
WojtasSP320
post
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 13
Dołączył: 13.08.2008
Skąd: Chełmno

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


  1. <form enctype='multipart/form-data' name="produkty" action='process.php' method='post'>
  2. <input type=text name='email' /><br />
  3.  
  4. <input type='checkbox' name='produkty[]' value='produkt1' />produkt1
  5. <input name="sztuk[]" type="text" class="sztuki" id="sztuk" />sztuk<br />
  6.  
  7. <input type='checkbox' name='produkty[]' value='produkt2' />produkt2
  8. <input name="sztuk[]" type="text" class="sztuki" id="sztuk2" />sztuk<br />
  9.  
  10. <input type='checkbox' name='produkty[]' value='produkt3' />produkt2
  11. <input name="sztuk[]" type="text" class="sztuki" id="sztuk3" />sztuk<br />
  12.  
  13. <input type='checkbox' name='produkty[]' value='produkt4' />produkt4
  14. <input name="sztuk[]" type="text" class="sztuki" id="sztuk4" />sztuk<br />
  15.  
  16. <input type='checkbox' name='produkty[]' value='produkt5' />produkt5
  17. <input name="sztuk[]" type="text" class="sztuki" id="sztuk5" />sztuk<br />
  18.  
  19. <input type='checkbox' name='produkty[]' value='produkt6' />produkt6
  20. <input name="sztuk[]" type="text" class="sztuki" id="sztuk6" />sztuk<br />
  21.  
  22. <textarea name='wiadomosc' rows=5 cols=20></textarea>
  23. <input type='hidden' name='envvariable' value='date_stamp' />
  24. <input type=submit value='Submit Form' onclick="return confirm('Wysłać formularz?');"/>
  25. <input type=reset value='Reset Form' />
  26.  
  27. </form>


  1. <?php
  2. for ($i=0;$i<count($_POST['produkty'];$i++)
  3. {
  4. if ($_POST['produkty'][$i] != '') echo $_POST['sztuk'][$i];
  5. }
  6. ?>


Czy jakoś tak...

Pisałem z głowy, nie koniecznie musi działać - sprawdź.

Ten post edytował WojtasSP320 1.10.2008, 11:15:18
Go to the top of the page
+Quote Post
varulven
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.09.2008

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


Dziękuję Wam Panowie wielce!

Pozostaje tylko ta kwestia z mailem wysylanym do mnie (wraz z tymi danymi). W jaki sposob trzeba to polaczyc? Wybaczcie, ale ja naprawde patrze na kod PHP, jak krowa w niemalowane wrota...

PS.Niebawem rozpoczynam glebsza nauke, ale akurat teraz wyskoczylo mi takie cos, co musze dodac do stronki i klapa. Zanim do tego dojde podczas nauki z ksiazek, to troche minie:(
Go to the top of the page
+Quote Post
WojtasSP320
post
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 13
Dołączył: 13.08.2008
Skąd: Chełmno

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


  1. <?php
  2. $to = 'twoj@adres.pl';
  3. $from = 'From: adres@zwrotny'."\n"; //może być taki sam jak $to
  4. $subject = 'Wiadomość ze strony www'; //temat
  5.  
  6. $message = wordwrap(print_r($_POST),70);
  7.  
  8. $result = mail($to,$subject,$message,$from);
  9. ?>


Najprościej jak się da (możesz wypisać po kolei wszystkie pola $_POST['produkty'][] i $_POST['sztuk'][], żeby to jakoś wyglądało)...

Ten post edytował WojtasSP320 1.10.2008, 12:27:21
Go to the top of the page
+Quote Post
varulven
post
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.09.2008

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


Dzięki za pomoc WojtasSP320, ale chyba coś źle robię, bo u mnie to nie działa. Jestem za tępy w PHP. Po wysłaniu formularza, w przeglądarce pojawia mi sie takie coś:
Kod
Array ( [email] => [produkty] => Array ( [0] => produkt1 [1] => produkt2 [2] => produkt3 ) [sztuk] => Array ( [0] => 15 [1] => 5 [2] => 9 [3] => [4] => [5] => ) [wiadomosc] => [envvariable] => date_stamp )


Nie ma tutaj działu "żłobek"? winksmiley.jpg

Ten post edytował varulven 1.10.2008, 13:04:03
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: 22.08.2025 - 10:03