Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wysyłanie danych z formularza
Pcbecaw
post
Post #1





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Cześć, zmodyfikowałem trochę skrypt formularza i wyszło coś takiego:
http://wklej.org/id/546664/
Teraz mam problem, bo nie wiem jak dodać zmienne "imie" i "adres", żeby wysyłały się razem z formularzem do maila. Jak to zrobić? Znaczy, gdzie to dopisać?

Ten post edytował Pcbecaw 14.06.2011, 20:50:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Hpsi
post
Post #2





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


1. popraw bbcode ... // miałeś poprawić bbcode a nie dać zewnętrzny odnośnik no ale smile.gif
2. najelepiej zmienić w mailu $_POST['body'] na odpowiednio zmodyfikowany string ? // funckja mail poczytaj jak dziala smile.gif i który element odpowiedzialny jest za którą cześć maila smile.gif

Ten post edytował Hpsi+ 14.06.2011, 20:52:01


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
Pcbecaw
post
Post #3





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


A jakbym to:
  1. if (mail(YOUR_EMAIL, $subj, $_POST['body'], $headers)) {

zamienił na:
  1. if (mail(YOUR_EMAIL, $subj, $imie, $adres, $headers)) {

to zadziała?
Go to the top of the page
+Quote Post
Hpsi
post
Post #4





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


A czy spojrzałeś w manual?
Dwie linijki z manuala powinny Ci uświadomić w czym błąd
Cytat
bool mail ( string $do , string $temat , string $treść [, string $dodatkowe_nagłówki [, string $dodatkowe_parametry ]] )


  1. mail('osoba@example.com', 'Temat wiadomości', $message);


Ten post edytował Hpsi+ 14.06.2011, 21:01:04


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
Pcbecaw
post
Post #5





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Trochę zmodyfikowałem:
  1. $headers = sprintf($imie, $email);
  2.  
  3. if (mail(YOUR_EMAIL, $adres, $subj, $headers)) {

teraz jest ok?
albo tak:
  1. $headers = sprintf("From: %srn", $_POST['imie'], $_POST['email']);
  2.  
  3. if (mail(YOUR_EMAIL, $adres, $subj, $headers)) {

Któraś wersja jest poprawna?

Obecnie nie mam jak przetestować, dlatego pytam, czy poprawnie jest to zapytanie wykonane. Chodzi mi zwłaszcza o to drugie - jest ok?

Ten post edytował Pcbecaw 14.06.2011, 22:28:31
Go to the top of the page
+Quote Post
flejm
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 1
Dołączył: 10.05.2011

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


  1.  
  2. $imie = 'Piotrek';
  3. $nazwisko = 'Kowalski';
  4. $cialo = $_POST['body'];
  5.  
  6. $wszystko = 'Imię'.$imie.'<br/>Nazwisko'.$nazwisko.'<br/>Treść'.$cialo;
  7.  


Myślę, że wszystko zrozumiałeś.

Ten post edytował flejm 14.06.2011, 23:26:52


--------------------
flejm92.eu
Go to the top of the page
+Quote Post
Pcbecaw
post
Post #7





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Nie wiele z tego zrozumiałem, żeby nie powiedzieć nic.
Te zmienne, które tam wpisałem to jest ok, bo zawierają to, co mają zawierać. Moje pytanie natomiast jest takie, czy dobrze te zmienne wpisałem, czyli czy wszystkie dojdą na e-mail.
Go to the top of the page
+Quote Post
flejm
post
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 1
Dołączył: 10.05.2011

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


Ojej, każdego za rączkę prowadzić.

  1.  
  2. } else {
  3.  
  4. $headers = sprintf("From: %srn", $_POST['email']);
  5.  
  6. $imie = $_POST['imie'];
  7. $adres = $_POST['adres'];
  8. $cialo = $_POST['body'];
  9.  
  10. $wszystko = 'Imię'.$imie.'<br/>Adres'.$adres.'<br/>Treść'.$cialo;
  11.  
  12. if (mail(YOUR_EMAIL, $subj, $wszystko, $headers)) {
  13.  
  14. print '<p>Your message was sent.</p>';
  15.  
  16. } else {
  17.  
  18. print '<p>An error occurred while we were attempting to'
  19.  
  20. .' send your message. Please try again later.</p>';
  21.  
  22. }
  23.  
  24. }
  25.  
  26. }
  27.  


Myślę, że powinno być dobrze.


--------------------
flejm92.eu
Go to the top of the page
+Quote Post
Pcbecaw
post
Post #9





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Dzięki.
Dlaczego validator czepia sie tego:
  1. Line 112, Column 42: "1000" is not a member of a group specified for any attribute
  2. <input type="text" name="subj" size="40" 1000" /><br />
?
to zapewne przez to:
  1. define('MAX_SUBJ_LEN', 1000);
Go to the top of the page
+Quote Post
drPayton
post
Post #10





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Skąd Ty wziąłeś ten śmietnikowy kod? thumbsdownsmileyanim.gif

Jeśli już, to zamiast:

Kod
<input type="text" name="subj" size="40" <?php echo MAX_SUBJ_LEN;?>" />

-->
Kod
<input type="text" name="subj" size="40" maxlength="<?php echo MAX_SUBJ_LEN;?>" />


Nie przepisuj bezmyślnie, pomyśl trochę...
Go to the top of the page
+Quote Post
Pcbecaw
post
Post #11





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

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


Dzisiaj mi cały dzień to forum nie działało i pokombinowałem sam. Wywaliłem całe to debilne zapytanie i wpisałem po prostu maxlength, popoprawiałem ogólnie ten formularz i walidator się nie czepia. Problem mam natomiast z przesyłaniem polskich znaków na e-mail. Próbowałem coś kombinować tak:
  1. $headers = sprintf("From: %s", $_POST['imie'], "\nContent-Type:".
  2. ' text/html;charset="utf-8"'.
  3. "\nContent-Transfer-Encoding: 8bit"

ale nie przynosi żadnego efektu. Kodowanie wszędzie mam ustawione na utf8. Jak to rozwiązać?

Kombinowałem jeszcze tak:
  1. $headers = sprintf("From: %s", $_POST['imie'], "\nContent-Type: text/html; charset=utf8");

ale też nic nie daje. Mógłby mi ktoś pomóc?

Albo jakby dodać <>?

To też nie pomaga:
  1. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" accept-charset="utf-8">


Dobra, pozmieniałem wszystko co sie dało i w końcu uzyskałem pożądany efekt.

Ten post edytował Pcbecaw 15.06.2011, 21:59:53
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: 20.08.2025 - 07:56