[PHP] Problem z Formularzem |
![]() ![]() |
[PHP] Problem z Formularzem |
31.01.2010 - 15:37
Post
#1
|
|
|
Początkujący ![]() Grupa: Użytkownik Postów: 5 Dołączył: 07.06.2009 Użytkownik nr: 555 |
witam
czy jest ktos na forum by powiedział mi co zrobiłem źle ? jestem dopiero początkującym w PHP ale szybko się uczę i łatwo łapie mam taki formularz : i gdy nie ma tej części : KOD $header ="From : $_POST['imie'] < $_POST['email_nadawcy'] > "; $to ='twojmail@mail.com'; $subject ="Temat : $_POST['temat']"; $wiadomosc ="Treść Wiadomości : $_POST['tresc']"; mail($to, $header, $subject, $wiadomosc ); to chodzi wszystko tylko nie wysyła mail bo to odpowiada za to , a gdy dam wpisze znów ten kod to nie pojawia mi sie nic i nie wiem co zrobic .. Pomoże ktos ? opisze co trzeba zrobic ? ale tak normalnie A o to kod formularza .. KOD <?php $form="<table> <form method=\"post\" action=\"index.php\"> <tr> <td>Imię i Nazwisko</td><td><input type=\"text\" name\"imie\" size=\"60\" /></td> </tr> <tr> <td>E-Mail :</td><td> <input type=\"text\" name=\"email_nadawcy\" size=\"60\"/></td> </tr> <tr> <td>Temat :</td><td> <input type=\"text\" name=\"temat\" size=\"60\" /></td> </tr> <tr> <td>Tresc :</td><td> <textarea name=\"tresc\" rows=\"10\" cols=\"57\"></textarea></td> </tr> <tr> <td>Anty Spam:</td><td>(token)</td> </tr> <tr> <td>Wybierz: </td><td><input type=\"submit\" name=\"wyslij\" value=\"wyslij\" /></td> </tr> </form> </table>"; if($_POST['wyslij']) { if(!$_POST['imie'] && !$_POST['email_nadawcy'] && !$_POST['temat'] && !$_POST['tresc']) { echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>"; }else{ $header ="From : $_POST['imie'] < $_POST['email_nadawcy'] > "; $to ='twojmail@mail.pl'; $subject ="Temat : $_POST['temat']"; $wiadomosc ="Treść Wiadomości : $_POST['tresc']"; mail($to, $header, $subject, $wiadomosc ); } }else{ echo $form; } ?> |
|
|
|
| Reklama |
31.01.2010 - 15:37
Post
#
|
![]() Reklama |
|
|
|
|
31.01.2010 - 15:55
Post
#2
|
|
|
Początkujący ![]() Grupa: Użytkownik Postów: 10 Dołączył: 15.04.2009 Użytkownik nr: 450 |
Po pierwsze:
KOD if(!$_POST['imie'] && !$_POST['email_nadawcy'] && !$_POST['temat'] && !$_POST['tresc']) powinno byc chyba: KOD if(!$_POST['imie'] || !$_POST['email_nadawcy'] || !$_POST['temat'] || !$_POST['tresc']) Po drugie sprawdz czy masz dostepna funkcje mail() bo na wiekszosci darmowych serwerow jest ona zablokowana, moze masz zablokowane tez wyswietlanie bledow i stad nic nie widac. |
|
|
|
31.01.2010 - 16:03
Post
#3
|
|
|
Początkujący ![]() Grupa: Użytkownik Postów: 5 Dołączył: 07.06.2009 Użytkownik nr: 555 |
CYTAT Po drugie sprawdz czy masz dostepna funkcje mail() bo na wiekszosci darmowych serwerow jest ona zablokowana, moze masz zablokowane tez wyswietlanie bledow i stad nic nie widac. mam własny serwer wykupowany od kolegi wiec w to wątpie |
|
|
|
31.01.2010 - 16:06
Post
#4
|
|
|
Początkujący ![]() Grupa: Użytkownik Postów: 5 Dołączył: 07.06.2009 Użytkownik nr: 555 |
chodzi ale wtedy gdy usune
KOD $header ="From : $_POST['imie'] < $_POST['email_nadawcy'] > "; $to ='twojmail@mail.pl'; $subject ="Temat : $_POST['temat']"; $wiadomosc ="Treść Wiadomości : $_POST['tresc']"; a w mail() wpisze adres i $_POST['tresc'], $_POST['imie'] $_POST['email_nadawcy'] ale to i tak nie chodzi tak jak bym chciał |
|
|
|
02.02.2010 - 21:53
Post
#5
|
|
|
Użytkownik ![]() ![]() Grupa: Użytkownik Postów: 70 Dołączył: 14.10.2008 Użytkownik nr: 364 |
może spróbuj coś w tym stylu do nagłówka... u mnie działa ładnie
KOD $headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= "Content-Type: text/html; charset=utf-8\r\n"; $headers .= "Content-Transfer-Encoding: 8bit\r\n"; $headers .= "From: $odkogo" . "\r\n" . "Reply-To: $odkogo" . "\r\n" |
|
|
|
03.03.2010 - 20:54
Post
#6
|
|
|
Początkujący ![]() Grupa: Użytkownik Postów: 2 Dołączył: 03.03.2010 Użytkownik nr: 928 |
chodzi ale wtedy gdy usune KOD $header ="From : $_POST['imie'] < $_POST['email_nadawcy'] > "; $to ='twojmail@mail.pl'; $subject ="Temat : $_POST['temat']"; $wiadomosc ="Treść Wiadomości : $_POST['tresc']"; a w mail() wpisze adres i $_POST['tresc'], $_POST['imie'] $_POST['email_nadawcy'] ale to i tak nie chodzi tak jak bym chciał Pierwsze primo KOD $to ='twojmail@mail.pl'; $to="adresemail" uzywaj " " a nie ' ' drugie primo: KOD $header ="From : $_POST['imie'] < $_POST['email_nadawcy'] > "; zamien na KOD $header ="From : ".$_POST['imie']." < ".$_POST['email_nadawcy']." > "; i daj znać czy działa takie cudo powinno działać KOD $to = "adres@adres.cos";
$subject = "temat"; $message = 'Test wysylki<font color=red>test</font><br><table><tr><td bgcolor=red>HTML</td></tr></table>'; $headers = "From: ".$adres." . "\n"; $headers .= "Content-type: text/html; charset=iso-8859-2"; mail($to, $subject, $message, $headers); |
|
|
|
07.03.2010 - 11:53
Post
#7
|
|
|
Użytkownik ![]() ![]() Grupa: Użytkownik Postów: 58 Dołączył: 05.09.2009 Użytkownik nr: 683 |
Pierwsze primo KOD $to ='twojmail@mail.pl'; $to="adresemail" uzywaj " " a nie ' ' drugie primo: KOD $header ="From : $_POST['imie'] < $_POST['email_nadawcy'] > "; zamien na KOD $header ="From : ".$_POST['imie']." < ".$_POST['email_nadawcy']." > "; i daj znać czy działa Lordzik, ale co ma optymalizacja do działania formularza? Akurat ta część nie robi różnicy jeśli chodzi o działa/nie działa. -------------------- gg -> 1245266
|
|
|
|
13.03.2010 - 17:13
Post
#8
|
|
|
Początkujący ![]() Grupa: Użytkownik Postów: 2 Dołączył: 03.03.2010 Użytkownik nr: 928 |
Lordzik, ale co ma optymalizacja do działania formularza? Akurat ta część nie robi różnicy jeśli chodzi o działa/nie działa. $header ="From : $_POST['imie'] < $_POST['email_nadawcy'] > "; w mojej konfiguracji serwera taki string nie zadziala "$_POST i $_GET" powinny byc miedzy stringiem "cos" . $_POST . "cos" |
|
|
|
20.03.2010 - 12:24
Post
#9
|
|
|
Początkujący ![]() Grupa: Użytkownik Postów: 1 Dołączył: 20.03.2010 Użytkownik nr: 953 |
Witam. Niestety sam mam problemy z formularzami u siebie na stronie. Jeszcze wczoraj formularz dzialaly ok, dzisiaj niestety troszke przy nich grzebalem i od tej pory nie dostaje maili ze strony... Otoz najpierw mialem formularz zapisany w formacie html i mial pobierac informacje z pliku php (robilem to wedlug opisu z kursu html). Jednak po wcisnieciu przycisku wyslania formularz byl czyszczony i otwierala sie podstrona php ktora miala wysylac formularz i moglem tam od nowa wpisac wiadomosc.. Po jej ponownym wpisaniu zapytanie zostalo wysylane i otrzymywalem maila... Postanowilem to zmienic wedlug opisu z innego forum (umieszczenie kodu formularza w kodzie html i zapisanie calosci jako php). Powiedzmy ze dzialalo... Teraz nie dziala niestety bo chcialem pare rzeczy poprawic, ale chyba przedobrzylem.. Nie wiem w czym zrobilem blad..Staralem sie wrocic do tego co dzialalo, ale niestety bez efektu...
Oto kod mojej stronki: KOD <html> <head> <title>Sorglos Umzüge - Kontakt</title> . . . {tutaj jest reszta strony w html} . . <td class="contentr"> <?php if (count($_POST)) { ////////// USTAWIENIA ////////// $email = 'sorglos.umzuege@gmail.com'; // Adres e-mail adresata $subject = 'Kontakt'; // Temat listu $message = '<center><font color="green" size="4"><b>Danke für Ihre Anfrage</b></center></font>'; // Komunikat $error = 'Fehler'; // Komunikat błędu $charset = 'iso-8859-2'; // Strona kodowa ////////////////////////////// $head = "MIME-Version: 1.0\r\n" . "Content-Type: text/plain; charset=$charset\r\n" . "Content-Transfer-Encoding: 8bit"; $body = ''; foreach ($_POST as $name => $value) { if (is_array($value)) { for ($i = 0; $i < count($value); $i++) { $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n"; } } else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n"; } echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error; } else { ?> <form action="?" method="post"> <tr class="top"> <td colspan="2"> </td> <td> </td> <td rowspan="5"> <p class="text3"> <small>Name, Vorname</small><br> <input type="text" class="kontakt" size="30" name="name"><br> <small>Betreff</small><br> <input type="text" class="kontakt" size="30" name="betreff"><br> <small>Nachricht</small><br> <textarea class="kontakt" rows="5" cols="30" name="nrt"></textarea><br> <input type="submit" class="kontaktb"> </p> </td> </form> <?php } ?> {reszta strony w html} . . . . </table> </center> </body> </html> Serwer na ktorym znajduje sie moja strona to byethost i obsluguje webmail, php itd.(sprawdzalem jeszcze teraz i funkcja PHP Sendmail jest wlaczona) Jak juz mowilem formularz dzialal.... Bylbym bardzo wdzieczny za pomoc. Moge rowniez podeslac na maila cala podstrone z formularzem.. Aha, po kliknieciu na wyslanie wiadomosci otrzymuje informacje ze zostala wyslana czyli ta zapisana w ustawieniach jako $message |
|
|
|
22.03.2010 - 11:15
Post
#10
|
|
![]() Bywalec ![]() ![]() ![]() Grupa: Administrator Postów: 372 Dołączył: 30.11.2007 Użytkownik nr: 195 |
Wiesz. Ja Ci tylko pokaże jedną rzecz:
KOD $error; } else { ?> <form action="?" method="post"> <tr class="top"> Według tego, po else zamykasz skrypt. No chyba że coś tam masz czego nie pokazałeś. Tutaj jakiś taki prosty skrypt do rozsyłania mail na podstawie bazy mailngowej: CYTAT <?php $link = @mysql_connect("HOST", "UZYTKOWNIK", "HASLO"); $db_selected = @mysql_select_db("BAZA", $link); $konta = mysql_query("SELECT * FROM emaile"); $send_count = 10; // ilość maili na serie $send_delay = 60; // przerwa miedzy wysyłka - w sekundach $temat = "Temat wiadomości"; $tresc = "Tresc wiadomosci"; while ($row = mysql_fetch_array($konta)) { if($send_count == 0) { $send_count = 10; sleep($send_delay); } $send_count--; $emailall = $row[0]; $tresc = stripslashes($tresc); $head = "From: Od <noreplay@noreplay/[;>\r\n"; $head .= 'X-Mailer: PHP/' . phpversion() ."\r\n"; $head .= 'MIME-Version: 1.0'. "\n"; $head .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $head .= "Content-transfer-encoding: utf-8\r\n"; mail($emailall,$temat,$tresc, $head); } ?> Tak naprawdę doszukiwałbym się tutaj błędu: KOD echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message :
-------------------- |
|
|
|
![]() ![]() |
| Wersja Lo-Fi | Aktualny czas: 23.05.2012 - 11:15 |