![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 11.10.2004 Skąd: 3c Ostrzeżenie: (0%) ![]() ![]() |
napisalem sobie taki kod:
Na jednym serwerze dziala bez problemu - chociaz tez byly problem ale global dla zmiennych pomoglo, natomaist a na drugim serwerze na ktorym formularz ma byc nawet to nie pomoglo... Co jeszcze moze byc nie tak z tymi zmiennymi ze nie chca sie przekazywac. Funkcja mail na tym serwerze dziala bo wysyla bez problemu wszystkie dane jak wpisze bezposrednio bez zmiennych do funkcji mail(...) do tego wszystko co jest poza zmiennymi sie wysyla, wiec problem chyba musi byc w tych zmeinnych.... edit: ok prodzailem sobie - wszystkie zmienne przekazywane dalem w postacie $_POST[''] Ten post edytował Volume 7.11.2009, 20:15:58 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
A skąd bierzesz te zmienne?
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ludzie sobie niepotrzebnie tak utrudniają... Mail jest użyty tylko raz to po kiego grzyba robisz z tego osobną funkcję? W ten sposób nie musisz się grzebać w żadna srale-globale
![]() ![]() ![]() Ten post edytował thek 7.11.2009, 22:30:15 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 11.10.2004 Skąd: 3c Ostrzeżenie: (0%) ![]() ![]() |
A skąd bierzesz te zmienne? wartosci parametrow name="..." w formularzu - masz na mysli ze ta zmienna np. $nick nie jest tym samym co $_POST['nick']? Cytat Ludzie sobie niepotrzebnie tak utrudniają... Mail jest użyty tylko raz to po kiego grzyba robisz z tego osobną funkcję? W ten sposób nie musisz się grzebać w żadna srale-globale Tylko walidujesz odpowiednie pola POST i ładujesz we właściwe miejsce w kodzie. Takie wariactwa z pisaniem funkcji, które wykonują się raz to ja też widziałem i przekopać się przez kod tego typu to tragedia. Albo piszesz całość porządnie, albo robisz osobne pliki (jeszcze lepiej po prostu jeden) z używanymi funkcjami i je includujesz w razie potrzeby. Niestety z takimi serwisami miałem do czynienia i nadal mam 20 plików srodek(kolejny_numer_począwszy_od_1).php i w każdym na nowo definiowana ta sama funkcja Do tego samego zmierzasz? Takie serwisy robili ludzie nie rozumiejący php jakieś 5 lat temu na tabelkach. Nie idź ich śladem. Uzywam 2x tej funkcji EmAil(); Wlasnie zrobilem to po to by nie pisac 2x tego samego kodu, najpierw uzywam ta funkcje gdy pole z mailem jest puste a potem drugi raz jak nie jest puste - wtedy dodatkowo jest sprawdzanie czy email ma poprawny format zapisu. Chyba ze masz co innego na mysli, ja nie wpadlem na lepszy pomysl choc zapewne jest inne rozwiazanie ale ciagle poczatkuje w php, nie mam zbyt duzo czasu na jego scisle studiowanie a szczerze powiem ze by mi sie przydalo :/ Ten post edytował Volume 8.11.2009, 13:30:30 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
masz na mysli ze ta zmienna np. $nick nie jest tym samym co $_POST['nick']? Otóż to, w większości konfiguracji właśnie nie jest, a nawet jeśli masz konfigurację, że jest, to zmień ją na taką żeby nie było Uzywam 2x tej funkcji EmAil(); To na prawdę nie jest bardzo skomplikowana funkcja, żeby wrzucać ją w oddzielną, ale skoro już tak chcesz to zrób to bardziej tak:
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Nie rozumiem sensu wysyłania mail gdy ktoś nie podał danych do maila
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 11.10.2004 Skąd: 3c Ostrzeżenie: (0%) ![]() ![]() |
W penym sensie masz racje ale pod formularzem robie zmianke ze w razie braku maila - co sie zdaza - prosze o inna forme kontaktu w tresci widaomosci np. nr telefonu
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
W takim razie te informacje idą jeszcze do bazy jak mniemam, do Twojej wiadomości tylko bo jak inaczej chcesz zachować przesłaną treść nie wysyłając jej do nikogo z powodu braku maila kontaktowego?
![]() Ja to zaś widzę jeszcze prościej. Już na starcie informuję użytkownika w jakimś miejscu nad polami formularza: "Informacje zostaną przesłane na podany mail. W razie jego braku należy umieścić w treści zgłoszenia numer telefonu lub inną, dogodną formę kontaktu" i całość walę do ramki opatrzonej literką i w dymku oraz na niebieskim tle z ciemnoniebieską ramką. Taki dobór sugeruje informację dla użytkownika ![]() Ewentualnie jakaś wariacja tego. Formatowanie więc jest tylko dla usera i może być wykonane jednokrotnie. A nawet jeśli ma być i do admina posyłane to wal w headerze dodatkowe Kopia ukryta i zapomnij o wszystkim. Nie po to są w standardzie maila dodatkowe pola poza Od i Do by tylko sobie istniały ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam maly problem wlasnie odnosnie formularza kontaktowego w php i gdy natrafilem na ten post pomyslalem, ze moze ktos mi pomoze. Moj problem jest nastepujacy: po wypelnieniu wszystkich pol i nacisnieciu "wyslij" jestem przekierowywany na pusta strone, jedynie z napisem "wyslano maila" i zeby wrocic do poprzedniego widoku trzeba dac "wstecz". Chcialbym, zeby ten napis "wyslano maila" pojawial sie na tej samej stronie po nacisnieciu wyslij, a nie przekierowywal do pustej. Moze ewentualnie zeby przekierowywal do nastepnej strony, ale zeby mozna cos bylo tam wstawic oprocz tego komunikatu, np. jakis link do strony glownej itp. Niestety nie znam sie na tym, bo dopiero zaczynam swoja przygode z PHP, kombinowalem jak moglem i nic. Prosze o pomoc. Ponizej co mam w kodzie: <? $mail_odbiorcy = "mojmail@gmail.com"; $email_nadawcy = $_POST['email_nadawcy']; $temat = $_POST['temat']; $tresc = $_POST['tresc']; $akcja= $_POST['akcja']; if ($akcja == "wyslij") { $tresc = wordwrap($tresc, 70); mail($mail_odbiorcy, $temat, $tresc, $email_nadawcy); echo "Wyslano maila"; } else { ?> <form action="index.php" method="post"> Informacje zostaną przesłane na podany mail. W razie jego braku należy umieścić w treści zgłoszenia numer telefonu lub inną, dogodną formę kontaktu E-Mail: <INPUT TYPE="TEXT" NAME="email_nadawcy" size=60> Temat: <input type="text" name="temat"><br> Tresc maila:<br> <TEXTAREA NAME="tresc" rows=10 cols=30></TEXTAREA><br> <input type="hidden" name="akcja" value="wyslij"> <input type="submit" value="Wyslij"></form> <? } ?> dobra, juz mam jak zrobic zeby na stronie z potwierdzeniem wyslania byl link powrotny. Ale dalej glowie sie, jak zrobic, zeby w ogole nie bylo przekierowywania do nastepnej strony i zeby komunikat "wyslano" pojawial sie bezposrednio na stronie z formularzem. Any ideas? ![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 6.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Powinieneś zamknąć PHP przed formularzem, wtedy formularz cały czas będzie widoczny i komunikat "wysłano" będzie wyświetlany nad formularzem.
Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:05 |