Formularz kontaktowy (e-mail i GG) w Dodatkowych stronach
|
Pieta |
Dodany dnia 10.09.2009 22:51:00
|
Początkujący
Postów: 113 Pomógł: 6
v9.00.00 Data rejestracji: 12.04.2007 23:54
|
Witam. Mam taki problemik. Otóż przeszukałem forum i niestety nic nie było dotyczącego formularza kontaktowego z zabezpieczeniem antyspamowym w dodatkowych stronach. Więc postanowiłem zrobić na podstawie pliku contact.php. W odwołania do lokali wpisałem bezpośrednio słowa po polsku, poprzerabiałem to w taki sposób jak widać na obrazie, zmieniłem e-mail na swój. Zrobiłem to po to by nie trzeba było tworzyć osobnych plików a jedynie mieć szybki dostęp i możliwość zmieniana do poszczególnych osób na stronie formularza (mam stworzyć ich kilka).
Niestety jak wpiszę interesujące mnie dane w formularz i podam kod antyspamowy to zamiast wysłać wiadomość to mnie na e-maila przekierowuje mnie na główną stronę. I nie bardzo wiem co jest grane dlatego proszę o pomoc.
Załączam obraz i kod który wkleiłem w dodatkowe strony.
<?php
if (isset($_POST['sendmessage'])) {
include_once INCLUDES."securimage/securimage.php";
$error = "";
$mailname = substr(stripinput(trim($_POST['mailname'])), 0, 50);
$email = substr(stripinput(trim($_POST['email'])), 0, 100);
$subject = substr(str_replace(array("\r","\n","@"), "", descript(stripslash(trim($_POST['subject'])))), 0, 50);
$message = descript(stripslash(trim($_POST['message'])));
if ($mailname == "") {
$error .= "· <span class='alt'>nie podano nicku</span><br />\n";
}
if ($email == "" || !preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
$error .= "· <span class='alt'>nie podano poprawnego adresu e-mail</span><br />\n";
}
if ($subject == "") {
$error .= "· <span class='alt'>nie podano tematu</span><br />\n";
}
if ($message == "") {
$error .= "· <span class='alt'>nie podano treści wiadomości</span><br />\n";
}
$securimage = new Securimage();
if (!isset($_POST['captcha_code']) || $securimage->check($_POST['captcha_code']) == false) {
$error .= "· <span class='alt'>nie podano poprawnego kodu potwierdzającego</span><br />\n";
}
if (!$error) {
require_once INCLUDES."sendmail_include.php";
if (!sendemail($settings['siteusername'],"",$mailname,$email,$subject,$message)) {
$error .= "· <span class='alt'>Błąd wewnętrzny! Nie można wysłać wiadomości.</span><br />\n";
}
}
if ($error) {
opentable(Kontakt);
echo "<div style='text-align:center'><br />\n Wiadomość nie została wysłana, ponieważ:<br /><br />\n".$error."<br />\n Spróbuj wysłać jeszcze raz.</div><br />\n";
closetable();
} else {
opentable(Kontakt);
echo "<div style='text-align:center'><br />\n Wiadomość została wysłana.<br /><br />\n Dziękuję</div><br />\n";
closetable();
}
} else {
echo "<center>Ze mną można skontaktować się poprzez:</center>
<ul><li>Bezpośrednie wysłanie e-maila na adres <a href='mailto:'></a>.</li><li>Wysłanie znajdującego się poniżej formularza. Jego treść zostanie dostarczona za pośrednictwem e-maila.</li></ul><br /><br />\n";
echo "<form name='userform' method='post' action='".FUSION_SELF."'>\n";
echo "<table cellpadding='0' cellspacing='0' class='center'>\n<tr>\n";
echo "<td width='100' class='tbl'>Nick:</td>\n";
echo "<td class='tbl'><input type='text' name='mailname' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Adres e-mail:</td>\n";
echo "<td class='tbl'><input type='text' name='email' maxlength='100' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Temat:</td>\n";
echo "<td class='tbl'><input type='text' name='subject' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Trść wiadomości:</td>\n";
echo "<td class='tbl'><textarea name='message' rows='10' class='textbox' style='width: 320px'></textarea></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Kod potwierdzający:</td>\n";
echo "<td class='tbl'>";
echo "<img id='captcha' src='".INCLUDES."securimage/securimage_show.php' alt='' align='left' />\n";
echo "<a href='".INCLUDES."securimage/securimage_play.php'><img src='".INCLUDES."securimage/images/audio_icon.gif' alt='' align='top' class='tbl-border' style='margin-bottom:1px' /></a><br />\n";
echo "<a href='#' onclick=\"document.getElementById('captcha').src = '".INCLUDES."securimage/securimage_show.php?sid=' + Math.random(); return false\"><img src='".INCLUDES."securimage/images/refresh.gif' alt='' align='bottom' class='tbl-border' /></a>\n";
echo "</td>\n</tr>\n<tr>";
echo "<td class='tbl'>Wpisz kod potwierdzający</td>\n";
echo "<td class='tbl'><input type='text' name='captcha_code' class='textbox' style='width:100px' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' colspan='2' class='tbl'>\n";
echo "<input type='submit' name='sendmessage' value='Wyślij' class='button' /></td>\n";
echo "</tr>\n</table>\n</form>\n";
}
?>
Za pomoc z góry dziękuję :)
Edytowane przez Pieka dnia 12.09.2009 00:28:23
Pieta. Ten znad morza
|
|
|
|
Wścibski Gość |
Dodany dnia 24.11.2024 23:50:37
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Seba0p |
Dodany dnia 11.09.2009 16:00:42
|
Początkujący
Postów: 127 Pomógł: 25
Data rejestracji: 24.07.2007 11:28
|
echo "<form name='userform' method='post' action='".FUSION_SELF."'>\n";
Zamień na:
echo "<form name='userform' method='post' action='".FUSION_SELF."?page_id=".$_GET['page_id']."'>\n";
Edytowane przez Seba0p dnia 11.09.2009 16:01:24
|
|
|
|
Pieta |
Dodany dnia 11.09.2009 22:54:21
|
Początkujący
Postów: 113 Pomógł: 6
v9.00.00 Data rejestracji: 12.04.2007 23:54
|
Niestety nie działa :( i dalej przerzuca na stronę główną. I w dodatku wyskakuje taki błąd:
Notice: Undefined index: page_id in /home/hzkzhp/domains/koszalin.zhp.pl/public_html/kontakt.php(34) : eval()'d code on line 46
Nie mam już pojęcia co może być tego przyczyną :(
Edytowane przez Pieta dnia 11.09.2009 22:55:44
Pieta. Ten znad morza
|
|
|
|
Seba0p |
Dodany dnia 11.09.2009 23:52:05
|
Początkujący
Postów: 127 Pomógł: 25
Data rejestracji: 24.07.2007 11:28
|
Jeśli masz zmodyfikowany, domyślny adres linku dodatkowej strony: viewpage.php?page_id=x, to oczywiście nie działa.
echo "<form name='userform' method='post' action='".FUSION_SELF."'>\n";
Zamień na:
echo "<form name='userform' method='post' action='".FUSION_SELF.(FUSION_QUERY ? "?".FUSION_QUERY : "")."'>\n";
Dodatkowo usuń wszystkie funkcje opentable() i closetable(). |
|
|
|
Pieta |
Dodany dnia 12.09.2009 00:26:38
|
Początkujący
Postów: 113 Pomógł: 6
v9.00.00 Data rejestracji: 12.04.2007 23:54
|
OK. Dzięki za pomoc :).
Od razu zapodam kodzik w całości prawidłowy i to z bonusem jakim jest numer gadu-gadu (oczywiście każdy sobie może zmienić to cacko jakim jest e-mail i numer gadu gadu :) ) Może się komuś przyda (a na pewno :)).
<?php
if (isset($_POST['sendmessage'])) {
include_once INCLUDES."securimage/securimage.php";
$error = "";
$mailname = substr(stripinput(trim($_POST['mailname'])), 0, 50);
$email = substr(stripinput(trim($_POST['email'])), 0, 100);
$subject = substr(str_replace(array("\r","\n","@"), "", descript(stripslash(trim($_POST['subject'])))), 0, 50);
$message = descript(stripslash(trim($_POST['message'])));
if ($mailname == "") {
$error .= "· <span class='alt'>nie podano nicku</span><br />\n";
}
if ($email == "" || !preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
$error .= "· <span class='alt'>nie podano poprawnego adresu e-mail</span><br />\n";
}
if ($subject == "") {
$error .= "· <span class='alt'>nie podano tematu</span><br />\n";
}
if ($message == "") {
$error .= "· <span class='alt'>nie podano treści wiadomości</span><br />\n";
}
$securimage = new Securimage();
if (!isset($_POST['captcha_code']) || $securimage->check($_POST['captcha_code']) == false) {
$error .= "· <span class='alt'>nie podano poprawnego kodu potwierdzającego</span><br />\n";
}
if (!$error) {
require_once INCLUDES."sendmail_include.php";
if (!sendemail($settings['siteusername'],"",$mailname,$email,$subject,$message)) {
$error .= "· <span class='alt'>Błąd wewnętrzny! Nie można wysłać wiadomości.</span><br />\n";
}
}
if ($error) {
echo "<div style='text-align:center'><br />\n Wiadomość nie została wysłana, ponieważ:<br /><br />\n".$error."<br />\n Spróbuj wysłać jeszcze raz.</div><br />\n";
} else {
echo "<div style='text-align:center'><br />\n Wiadomość została wysłana.<br /><br />\n Dziękuję</div><br />\n";
}
} else {
echo "<center>Ze mną można skontaktować się poprzez:</center>
<ul><li>Bezpośrednie wysłanie e-maila na adres <a href='mailto:'></a>.</li><li>Komunikator Gadu-Gadu: <a href='gg:6095336' title='Numer GG: 6095336'>6095336</a> <img style='vertical-align:middle;border:none' src='http://www.gadu-gadu.pl/users/status.asp?id=6095336&styl=1' alt='6095336' /></li><li>Wysłanie znajdującego się poniżej formularza. Jego treść zostanie dostarczona za pośrednictwem e-maila.</li></ul><br /><br />\n";
echo "<form name='userform' method='post' action='".FUSION_SELF.(FUSION_QUERY ? "?".FUSION_QUERY : "")."'>\n";
echo "<table cellpadding='0' cellspacing='0' class='center'>\n<tr>\n";
echo "<td width='100' class='tbl'>Nick:</td>\n";
echo "<td class='tbl'><input type='text' name='mailname' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Adres e-mail:</td>\n";
echo "<td class='tbl'><input type='text' name='email' maxlength='100' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Temat:</td>\n";
echo "<td class='tbl'><input type='text' name='subject' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Trść wiadomości:</td>\n";
echo "<td class='tbl'><textarea name='message' rows='10' class='textbox' style='width: 320px'></textarea></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Kod potwierdzający:</td>\n";
echo "<td class='tbl'>";
echo "<img id='captcha' src='".INCLUDES."securimage/securimage_show.php' alt='' align='left' />\n";
echo "<a href='".INCLUDES."securimage/securimage_play.php'><img src='".INCLUDES."securimage/images/audio_icon.gif' alt='' align='top' class='tbl-border' style='margin-bottom:1px' /></a><br />\n";
echo "<a href='#' onclick=\"document.getElementById('captcha').src = '".INCLUDES."securimage/securimage_show.php?sid=' + Math.random(); return false\"><img src='".INCLUDES."securimage/images/refresh.gif' alt='' align='bottom' class='tbl-border' /></a>\n";
echo "</td>\n</tr>\n<tr>";
echo "<td class='tbl'>Wpisz kod potwierdzający</td>\n";
echo "<td class='tbl'><input type='text' name='captcha_code' class='textbox' style='width:100px' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' colspan='2' class='tbl'>\n";
echo "<input type='submit' name='sendmessage' value='Wyślij' class='button' /></td>\n";
echo "</tr>\n</table>\n</form>\n";
}
?>
Pozdrawiam :)
Edytowane przez Pieta dnia 12.09.2009 00:31:39
Pieta. Ten znad morza
|
|
|
|
nQr |
Dodany dnia 01.10.2009 15:31:50
|
Przedszkolak
Postów: 3
Data rejestracji: 28.09.2009 22:08
|
<?php
if (isset($_POST['sendmessage'])) {
include_once INCLUDES."securimage/securimage.php";
$error = "";
$mailname = substr(stripinput(trim($_POST['mailname'])), 0, 50);
$email = substr(stripinput(trim($_POST['email'])), 0, 100);
$subject = substr(str_replace(array("\r","\n","@"), "", descript(stripslash(trim($_POST['subject'])))), 0, 50);
$message = descript(stripslash(trim($_POST['message'])));
if ($mailname == "") {
$error .= "· <span class='alt'>nie podano nicku</span><br />\n";
}
if ($email == "" || !preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
$error .= "· <span class='alt'>nie podano poprawnego adresu e-mail</span><br />\n";
}
if ($subject == "") {
$error .= "· <span class='alt'>nie podano tematu</span><br />\n";
}
if ($message == "") {
$error .= "· <span class='alt'>nie podano treści wiadomości</span><br />\n";
}
$securimage = new Securimage();
if (!isset($_POST['captcha_code']) || $securimage->check($_POST['captcha_code']) == false) {
$error .= "· <span class='alt'>nie podano poprawnego kodu potwierdzającego</span><br />\n";
}
if (!$error) {
require_once INCLUDES."sendmail_include.php";
if (!sendemail($settings['siteusername'],"",$mailname,$email,$subject,$message)) {
$error .= "· <span class='alt'>Błąd wewnętrzny! Nie można wysłać wiadomości.</span><br />\n";
}
}
if ($error) {
echo "<div style='text-align:center'><br />\n Wiadomość nie została wysłana, ponieważ:<br /><br />\n".$error."<br />\n Spróbuj wysłać jeszcze raz.</div><br />\n";
} else {
echo "<div style='text-align:center'><br />\n Wiadomość została wysłana.<br /><br />\n Dziękuję</div><br />\n";
}
} else {
echo "<center>Poniższy formularz służy do zapisu drużyny, prosimy o dokładnie wypełnianie.</center>
<br /><br />\n";
echo "<form name='userform' method='post' action='".FUSION_SELF.(FUSION_QUERY ? "?".FUSION_QUERY : "")."'>\n";
echo "<table cellpadding='0' cellspacing='0' class='center'>\n<tr>\n";
echo "<td width='100' class='tbl'>Nick lidera:</td>\n";
echo "<td class='tbl'><input type='text' name='mailname' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Adres e-mail lidera:</td>\n";
echo "<td class='tbl'><input type='text' name='email' maxlength='100' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Nazwa drużyny:</td>\n";
echo "<td class='tbl'><input type='text' name='subject' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Zawodniczki oraz ich SteamID:</td>\n";
echo "<td class='tbl'><textarea name='message' rows='10' class='textbox' style='width: 320px'></textarea></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>Kod potwierdzający:</td>\n";
echo "<td class='tbl'>";
echo "<img id='captcha' src='".INCLUDES."securimage/securimage_show.php' alt='' align='left' />\n";
echo "<a href='".INCLUDES."securimage/securimage_play.php'><img src='".INCLUDES."securimage/images/audio_icon.gif' alt='' align='top' class='tbl-border' style='margin-bottom:1px' /></a><br />\n";
echo "<a href='#' onclick=\"document.getElementById('captcha').src = '".INCLUDES."securimage/securimage_show.php?sid=' + Math.random(); return false\"><img src='".INCLUDES."securimage/images/refresh.gif' alt='' align='bottom' class='tbl-border' /></a>\n";
echo "</td>\n</tr>\n<tr>";
echo "<td class='tbl'>Wpisz kod potwierdzający</td>\n";
echo "<td class='tbl'><input type='text' name='captcha_code' class='textbox' style='width:100px' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' colspan='2' class='tbl'>\n";
echo "<input type='submit' name='sendmessage' value='Zapisz' class='button' /></td>\n";
echo "</tr>\n</table>\n</form>\n";
}
?>
Ja mam tak i mi nie działa, wyswietla się blad wewnetrzny.
PW od moderatora:
- Ogólna Uwaga - Pieka 01.10 - 16:18
Edytowane przez Pieka dnia 01.10.2009 16:17:34
|
|
|
|
psor |
Dodany dnia 20.04.2010 10:14:42
|
Przedszkolak
Postów: 23 Ostrzeżeń: 4
Data rejestracji: 20.02.2010 09:44
|
Pewnie kod działa, ale jak wstawiam ten kod do news'a wysykuja mi bledy: http://krainawoko...readmore=4
Prosze o pomoc.
Edytowane przez Pieka dnia 20.04.2010 11:22:14
|
|
|
|
DMac |
Dodany dnia 23.07.2010 11:15:40
|
Przedszkolak
Postów: 41 Pomógł: 3
Data rejestracji: 17.10.2007 10:09
|
Co należy zmienić aby formularz z dodatkowej strony był wysyłany na inny adres e-mail niż jest w ustawieniach głównych?
Na pewno trzeba zmienić coś w tej części kodu:
if (!sendemail($settings['siteusername'],"",$mailname,$email,$subject,$message))
Ale nie za bardzo mi wychodzi.
Edytowane przez Pieka dnia 23.07.2010 14:35:11
|
|
|
|
Pieka |
Dodany dnia 23.07.2010 13:16:16
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Zdefiniuj na poczatku kodu (tam gdzie @error etc.) stala np.:
$moj_email = "tu podajesz adres e-mail";
Nastepnie w podanym przez siebie wycinku kodu zastap:
""
zdefiniowana stala. Eta wsio.
Jestem jaki jestem
|
|
|
|
DMac |
Dodany dnia 23.07.2010 14:22:30
|
Przedszkolak
Postów: 41 Pomógł: 3
Data rejestracji: 17.10.2007 10:09
|
Serdecznie dzięki Pieka. Wszystko działa bez zarzutów.
Za dużo kombinowałem wcześniej, nie wpadłem na pomysł ze stałą. |
|
|
|
velpablo |
Dodany dnia 05.02.2011 02:05:16
|
Przedszkolak
Postów: 4
Data rejestracji: 23.01.2011 18:38
|
Witam,
Na podstawie wyżej przedstawionego formularza zrobiłem własny, z większą ilością pól do wypełnienia.
Wypełniony formularza jednak nie chce się wysłać, nie wiem dlaczego...
Mógłby ktoś spojrzeć, co w kodzie jest źle, że nie wysyła maila?
if (!sendemail($settings['siteusername'],$settings['siteemail'],$mailname,$email,$subject,$message,$message1,$message2,$message3,$message4,$message5,$message6,$message7,$message8)) {
$error .= "· <span class='alt'>Błąd wewnętrzny! Nie można wysłać podania. Przepraszamy za usterki.</span><br />\n";
}
Mam określony adres mailowy w Ustawieniach głównych.
Testowałem, czy w ogóle działa wysyłanie maili na tym hostingu. Z domyślnej podstrony Kontakt wiadomość jest wysyłana...
Posiadam najnowszą wersję PHP-Fusion.
http://mrocznebra...online.org |
|
|