Može neki tutorijal za izradu kontakt obrasca na stranici!
Hvala!
Može neki tutorijal za izradu kontakt obrasca na stranici!
Hvala!
Napisi dali zelis u PHP, ASP.NET, ili pak u nekoj trecoj tehnologiji (CGI?)
Možda JSP? Ruby? Python?
ispricavam se sta to odmah nisam napisao.
PHP
Dali ti treba samo PHP kod za kontakt obrazac?
Gdje misliš koristiti taj obrazac?
Oćeš to koristiti kao modul ili kao zasebnu stranicu?
Ali dobro evo ti generalna uputstva.
Prvo ti treba html fajl.
Dakle, otvori notepad i kopiraj ovo u njega.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Mailer - forma</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<form name="form1" method="post" action="slanje.php">
<p>Ime:
<input name="ime" type="text" id="ime">
</p>
<p>Subject:
<input name="subj" type="text" id="subj">
</p>
<p>Vaą e-mail:
<input name="vemail" type="text" id="vemail">
</p>
<p>Text:
<textarea name="text" id="text"></textarea>
</p>
<p>
<input type="submit" name="Submit" value="Šalji">
</p>
</form>
</body>
</html>
Spremi taj fajl gdje ti paše pod imenom kontakt.html na primjer.
Sada ti treba .php fajl.
<?php
$ime = $HTTP_POST_VARS['ime'];
$subj = $HTTP_POST_VARS['subj'];
$vemail = $HTTP_POST_VARS['vemail'];
$text = $HTTP_POST_VARS['text'];
$email = "tvoj@mail.com"; // ovdje staviti e-mail adresu na koju zelite da dolaze e-mailovi
$headers = "From: \"" . $ime . "\"<" . $vemail . ">\r\nReply-To: $v_email\r\n"; ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Mailer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<div align="center">
<p> </p>
<?php if(mail($email, $subj, $text , $headers)){?>
<p>Mail je uspješno poslan!</p>
<?php } else {?>
<p>Greška, mail nije poslan!</p>
<?php } ?>
<p>
<input type="submit" name="Submit" value="OK" onmouseup="location='http://www.tvojsajt.com'">
</p>
</div>
</body>
</html>
Ovo spremi npr kao slanje.php
Ako želiš dodati još polja u text - odnosno body e-maila, dodaj $text .= $HTTP_GET_VARS['imepolja']; - time ćeš staviti vrijednost polja "imepolja" iz forme na $text varijablu. Ako ih želiš odvojiti razmakom dodajte $text .= "\r\n"; prije $text .= $HTTP_GET_VARS['imepolja'].
Zapamti samo, ukoliko dodaješ u file forma.html još polja, bitno je da ih dodaš i ovdje.
kao zasebnu stranicu.
na index.html imam navigaciju na kojoj je link kontak, i sada sam napravio formu i sve samo mi treba php skripta koju cu povezati s formom da to funkcionira.
Moze neki primjer samo da se podsjetim kako to ide ako imate, ako ne nista.
hvala Danny, idem probati!
E jos samo postaviti sljedece filtre
- pripaziti da je email valid
- pripaziti da nema praznih polja
- pripaziti da se ne spominju spam wordsi kao viagra, cialis i slicno
Nije tesko implementirati, ne radim u PHP-u pa cu dati primjer u vb.netu (necu raditi preko validation kontrola nego onako na ruke - seljacki)
<%
dim msgvalid as integer = 1
if email.text.lenght=0 OR ime.text.lenght=0 or tekst.text.lenght=0 THEN msgvalid = 0 'provjerava dal su sva polja ispunjena
Dim filter_words as string = "cialis viagra" 'filter rijeci, dodaje ih se proizvoljno, izmedju rijeci razmak (space)
Dim filtar_word() as string = split(filtar_words) 'definira listu filtar rijeci
Dim i as integer = 0
Dim filtar_pass as integer = 1
for each word in filtar_word
i = i + 1
if instr(lcase(tekst),lcase(word))>0 THEN 'u koliko se filtar rijec spominje u tekstu izbacuje iz petlje, tekst nije prosao
filtar_pass = 0
exit for
end if
next
' e sad... prosli smo provjere, idemo vidit dal saljemo mail ili ne
IF filtar_pass = 0 THEN msgvalid = 0
IF msgvalid = 1 THEN
'posalji poruku
ELSE
'redirektaj negdje gdje ce javit da nije uredno ispunjen formular ili su se koristile nedozvoljene rijeci
END IF
%>
ispricavam se ako ima gresaka, samo sam htio izbaciti koncept.
Online forme se OBAVEZNO koriste sa nekakvom validacijom ili filtriranjem jer zlocesti spammeri brzo namirisu online formu i ubrzo vam zatrpaju email sanducic. Takodjer ce vam neki hosteri kenjkati ako preko vase stranice ide spama ko u prici.
Danny sve stima. Hvala!
a kako bi se na onaj prethodni PHP mogla postaviti neka validacija ili nesto sl ?
Danny, kada stisnem submit na kraju kad ispunim obrazac sve stima sve mi se posalje na mail, samo na stranici koja mi se pokaze da je sve uspjesno poslano, gumb OK ne funkcionira nece da mi zatvori prozor sa windows.close();
Sorry, ono je krivo, to je za pop up.
Makni u PHP fajlu onMouseUp="window.close() i stavi umjesto toga onmouseup="location='http://www.tvojsajt.com'"
Evo ti PHP. Radi, provjereno.
<?
if(isset($_POST['slanje_poste'])){
$ime=$_POST[ime];
$za=$_POST[za];
$tekst=$_POST[poruka];
$email=$_POST[email];
$datum=(date("d.m.Y"));
$poruka ="$tekst\n Poslano: $datum";
if (mail($za, "$ime", $poruka, "From: $email\n" )) {
echo "<p><h3>Poruka poslana</h3><p>"; }
else { echo "Doslo je do pogreške!"; }
}
?>
<form name="form1" method="post" action="">
Ime:<br />
<input name="ime" type="text" id="ime" size="50"><br />
E-mail:<br />
<input name="email" type="text" id="email" size="50"><br />
Naslov poruke:<br />
<input name="subject" type="text" id="subject" size="50"><br />
Vrsta kontakta:<br />
<select name="za" size="1">
<option value="vaš@mail.hr">vaš@mail.hr</option>
</select> <br />
Poruka<br />
<textarea name="poruka" cols="50" rows="4" id="poruka"></textarea>
<br /><br />
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="3">
<tr>
<td><input name="slanje_poste" type="submit" value="Pošalji" /></td>
<td><input name="Submit2" type="reset" value="Poništi" /></td>
</tr>
</table><br /><br />
</form>
Da podijelim nekoliko antispam trikova sa vama.
1. neka vase obrazce ispisuje javascript kod
(spam botovi čitaju html kod, ako je za ispis obrazca koristen javascript, onda spam masine nece vidjeti iste)
2. postavite jedno skriveno polje za unos podataka.
(polje u obrazcu nazovite npr 'email' i pomocu css stavite da je nevidljivo tj skriveno. Ovako skriveno polje, posjetitelji web stranice nece vidjeti, ali ce biti odlican mamac za spam botove.
Dalje, u php kodu napravite mali filter, ako je ovo polje popunjeno, zaustavlja se unos podataka, tj podatci nece biti uneseni u bazu ili poslan email ako je u pitanju kontakt obrazac.
3. napravite da se obrazac nemoze poslati 10-15 sec nakon otvaranja stranice.
(spam botovi popunjavaju i salju obrazce cim ih nanjuse)
primjer mozete pogledati na http://www.clubrevolution.org/comments.php
i kako to vide botovi
http://www.seo-browser.com/index.php?address=http%3A%2F%2Fclubrevolution.org%2Fcomments.php&action=Parse+URL
Nix dobre ideje!!! To se uopce nisam sjetio :)
jbg, spambotovi su mi zagorcali jedan dio zivota nisu pomagale ni captche, sad spama nema tj 2 godine
spam free
Molio bih samo da provjerite jesam ja ovo dobro slozio.. i da li bi to sada trebalo raditi ovako offline, dok jos nisam digao stranicu na server, jer za sada ne radi kada stisnem na submit..upisao sam ispravnu adresu i nista..
Nisam siguran da li upisujem adresu za slanje ovdje u HTML ili mozda to treba definirati negdje u JS??
Ovo je kod:
<div class="btns">
<a href="mailto:nesto@gmail.com" data-type="submit" class="btn btn-primary btn2"> Submit</a>
Molio bih samo da provjerite jesam ja ovo dobro slozio.. i da li bi to sada trebalo raditi ovako offline, dok jos nisam digao stranicu na server, jer za sada ne radi kada stisnem na submit..upisao sam ispravnu adresu i nista..
Nisam siguran da li upisujem adresu za slanje ovdje u HTML ili mozda to treba definirati negdje u JS??
Ovo je kod:
<div class="btns">
<a href="mailto:nesto@gmail.com" data-type="submit" class="btn btn-primary btn2"> Submit</a>
Sad tek vidim da sam krivo napisao.. dakle to je forma za kontakt, i sada mi treba da ubacim negdje mail adresu na koju se ti podaci salju.. sad vidim da sam pogresno napravio..
Dakle ja trebam negdje njemu reci, kada se stisne ovaj gumb SUBMIT, gdje da se salju podaci..
Jel to ide u HTML ili JS?
Hvala na pomoci