Błąd odczytu zmiennej, walidacja 'from' |
Błąd odczytu zmiennej, walidacja 'from' |
9.12.2008, 13:48:49
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) |
Witam wszystkich
Jestem początkującym zawodnikiem jeśli chodzi o PHP i zmuszony jestem poprosić o pomoc gdyż mimo, że problem dla Was banalny to dla mnie jest trochę zagadkowy Poniżej mój formularz i skrypt php do kontaktu mailowego Otóż problem wygląda następująco: 1)Brak w wiadomościach odebranych treści $message Screen problemu 2)Prośba w pomocy napisaniu walidacji dla zmiennej predefiniowanej pola from $_POST["from"]; (aby mail zwrotny zawierał odpowiednie znaki) SKRYPT Kod <html> <head><title>Wiadomość wysłana</title></head> <body> <?php $from = $_POST["from"]; $subcject = $_POST["subject"]; $message = "From: ".$from."\r\n"; $mailsent = mail('m6jmejl@xx.xx', $subject, $message, $headers); if ($mailsent) { echo "gratulację wiadomość wysłana"; echo "<b>odbiorca</b> $to"; echo "<b>nadawca</b> $from"; echo "<b>temat</b> $subject"; echo "<b>tresc</b> $to"; echo $message; //nie wyświetla w odbiorze maila tej zmiennej } else { echo "wiadomość wysłana"; } ?> </body> </html> FORMULARZ Kod <html> <head> <title>Wyslij wiadomosc-test</title> </head> <body> <form name="theform" method="post" action="wyslijpoczte.php"> <table> <tr> <td>Nadawca: </td> <td><input type="text" name="from" size="50"></td> </tr> <tr> <td>Temat: </td> <td><input type="text" name="subject" size="50"></td> </tr> <tr> <td valign="top">Wiadomość: </td> <td> <textarea cols="60" rows="10" name="$message"> Tu wpisz treść swojej wiadomości </textarea> <td> </tr> <td></td> <td> <input type="submit" value="Wyślij"> <input type="reset" value="Wyczyść"> </td> </tr> </table> </form> </body> </html> Pozdrawiam i mam nadzieję, że ktoś znajdzie chwilę i pomoże |
|
|
9.12.2008, 14:00:38
Post
#2
|
|
Grupa: Zarejestrowani Postów: 202 Pomógł: 3 Dołączył: 6.01.2008 Skąd: Mazowieckie Ostrzeżenie: (0%) |
moze spróbuj dać przy wyswietlaniu zmiennej $message jakie ciapki
cos takiego echo "$message" czy echo '.$message.' echo "'.$message.'" pokombinuj wpierw z tym..... a ogółem to coś Ci sie wyświetla (jakas inf., błąd) czy nic... ? Ten post edytował em-ba 9.12.2008, 14:15:25 |
|
|
9.12.2008, 14:17:34
Post
#3
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 7 Dołączył: 12.09.2008 Skąd: localhost Ostrzeżenie: (0%) |
|
|
|
9.12.2008, 14:26:32
Post
#4
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 17 Dołączył: 28.12.2005 Skąd: Warszawa Ostrzeżenie: (0%) |
|
|
|
9.12.2008, 14:34:36
Post
#5
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 7 Dołączył: 12.09.2008 Skąd: localhost Ostrzeżenie: (0%) |
Napisałem dobrze, $message i $headers zawierają osobne dane dla użytej funkcji mail()
$_POST["message"] przenosi treść z FORM "From: ".$message."\r\n" jest typową składnią Mail Headers Ten post edytował HellRider 9.12.2008, 14:38:57 |
|
|
11.12.2008, 01:42:53
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) |
HellRider, wielkie dzięki za pomoc - faktycznie teraz już śmiga, musiałem nie doczytać tego manuala funkcji mail+ta zmienna w formularzu która powinna być nazwą. Super wyłapałeś te wszystkie błędy.
...teraz zacznę próby z walidacją jakby co to dalej będę się zwracał o pomoc ---------------------------- EDIT Czy znalazł by ktoś chwilę dla napisanie walidacji sprawdzającej pole z mailem nadawcy - pole from powyższego skryptu Byłbym bardzo wdzięczny Pozdrawiam Ten post edytował BombaPHP 11.12.2008, 01:42:34 |
|
|
11.12.2008, 09:05:35
Post
#7
|
|
Grupa: Zarejestrowani Postów: 300 Pomógł: 32 Dołączył: 31.07.2006 Ostrzeżenie: (0%) |
Szczerze - nie waliduj, sprawdz tylko czy jest "@". Formalne warunki co do adresu email to "coś@coś" - a ludzie sprawdzają czy jest dość ".", ograniczają login tylko do liter i cyfr itp. - co tylko problemy powoduje. Pewnie w ciągu paru lat możemy się spodziewać adresów "login@gmail", ciekaw jestem na ilu stronach przez formularz to przejdzie
|
|
|
11.12.2008, 11:56:36
Post
#8
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) |
W sumie faktycznie zależy mi aby był znaczek @ - czyli taka podstawa
Prosiłbym o pomoc bo chyba coś pokręciłem w poniższym kodzie Kod function walidacja($from) { $test = "@"; if(preg_match($test, $from) { return true; } else { return false; echo "Wprowadzony adres e-mail jest nieprawidłowy"; echo "Spróbuj ponownie"."<a href='poczta.php'>wyślij</a>"; } Pozdrawiam |
|
|
11.12.2008, 11:58:34
Post
#9
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków |
Zacznij używać odpowiedniego bbCode i dodaj tag do tematu.
strstr" title="Zobacz w manualu PHP" target="_manual |
|
|
11.12.2008, 14:54:01
Post
#10
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków |
jeśli walidacja w php Ci nie "pyknie" to możesz użyć js: http://www.easyjavascript.begin.pl/?q=node/12
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 22:43 |