nietypowy form2mail

0

Potrzebuję stworzyć nietypowy skrypt wysyłający dane z formularza. W formularzu jest tabelka (a nie pola tekstowe, checkboxy itp). Tabelka ta jest generowana za pomocą javascript. Chciałbym wysłać tą tabelę na maila. Mogę skorzystać z funkcji mail w php, ale jak wrzucić do niej cały formularz z tabelą? W internecie są skrypty wrzucające tam wszystkie pola z formularza, ale nigdzie nie znalazłem jak dać tam całą tabelę.
Jak to zrobić?

0

Jesli to generuje javascript to mozesz z jego pomoca przeniesc te dane z tabeli do postaci dajacej sie wyslac getem albo postem (to drugie pojemniejsze). Pokaz taka tabele a najlepiej generujacy ja skrypt i cos sie wymysli. Sam stosowalem takie kombinacje i dzialalo wiec wiem, ze sie da :)

0

TO JEST FORMULARZ Z TABELKĄ, KTÓRY CHCIAŁBYM WYSŁAĆ NA MÓJ E-MAIL:

<form action="form2mail.php" method="post"> Zawartość Twojego zamówienia

                  <table border="1">
                    <tr bgcolor="maroon">
                      <td  width="5%">
                        <b><span style="color: white">Lp</span></b></td>
                      <td  width="75%">
                        <b><span style="color: white">Nazwa</span></b></td>
                      <td  width="15%">
                        <b><span style="color: white">Cena</span></b></td>
                      <td  width="10%"></td>
                    </tr>

                    <SCRIPT  LANGUAGE="JavaScript">
                      DisplayBasket();
                    </SCRIPT>
                  </table>
<input type="submit" value="Wyślij!" /> </form>

/************ WYŚWIETLANIE ZAWARTOŚCI KOSZYKA W JAVASCRIPT

              //  wyswietlenie  tabeli  z  zawartoscia  koszyka
              function  DisplayBasket()
              {
                var  basket  =  new  TShopBasket();
                var  i;
                var  nAmount  =  0;
                basket.Read();
                if  (basket.Count()  <  1)
                {
                  document.write("<b>Zamówienie jest puste!</b>");
                  return  -1;
                }
                for  (i  =  0;  i  <  basket.Count();  i++)
                {
                  document.write("<TR><TD>");
                  document.write(i+1);
                  document.write("</TD>");
                  document.write("<TD>");
                  document.write(basket.GetName(i));
                  document.write("</TD>");
                  document.write("<TD  ALIGN=\"right\">");
                  document.write(FormatNumeric(basket.GetNetAmount(i)));
                  document.write("</TD>");
                  document.write("<TD  ALIGN=\"center\">");
                  document.write("<INPUT  TYPE=\"button\"  NAME=\"REMOVE\"  VALUE=\"Usuń\"");
                  document.write("  onclick='BasketRemoveItem(");
                  document.write(basket.GetId(i));
                  document.write(")'></TD></TR>");
                  nAmount  +=  basket.GetNetAmount(i);
                }
                //  podsumowanie  koszyka
                document.write("<TR><TD  COLSPAN=\"2\">  </TD>");
                document.write("<TD  ALIGN=\"right\"><B>");
                document.write(FormatNumeric(nAmount));
                document.write("</B></TD><TD>  </TD></TR>");
                return  0;
              }

/**************** SKRYPT WYSYŁAJĄCY MAILA W PHP

<? if ($_POST){ // posted information is added to variable message $message=""; foreach ($_POST as $formfieldname => $formfieldvalue){ $message.="$formfieldname \n $formfieldvalue\n\n"; // } // send email with information from the form to mail("[email protected]","Form to Mail", $message,"From: <[email protected]>\nContent-Type: text/plain"); print "The information has been send to webmaster"; }else{ print "No information has been posted"; } ?>
0

No to wystarczy ze wszystkie wartosci jakie wyswietlasz przyporzadkujesz do jakichs zmiennych. Potem w PHP generujesz sobie kod tej tabelki i formularza wstawiajac wartosci ze zmiennych i wysylasz mailem.

np:
Javascript:

var url='http://adres_www/wyslij_maila.php?i=' + (i+1) + '&nazwa=' + basket.GetName(i) + '&ilosc=' + FormatNumeric(basket.GetNetAmount(i)) + '&id=' + basketGetId(i) + '&netamount' + basket.GetNetAmount(i) + '&suma=' + FormatNumeric(nAmount)

po czym dajmy na to masz ukryta IFRAME do ktorej wywulujesz skrypt:

  document.getElementById('ukryta').src=url;

w pliku wyslij_maila.php generujesz sobie tabelke z tymi danymi i wysylasz mailem.

Szczerze mowiac metoda prymitywna ale skuteczna...

Alternatywnie ale analogicznie mozna to zrobic w AJAXie

0

Najsensowniej httprequest - JS pobiera dane, przekazuje do PHP, które je wysyła.

1 użytkowników online, w tym zalogowanych: 0, gości: 1