PDA

Prikaži potpunu verziju : [PHP] Slanje maila sa unosom podataka putem forme


Alex82
4.11.2006, 1:43
Interesuje me kako da napravim u dreamweaveru kontakt formular koji bi sadrzao tri polja:

Ime:
e-mail:
Poruka:

Znam da bih mogao preko onuh formi ali kad sve to postavim kako da postavim u funkciju da to i radi? Znaci kad postavim sve to na odredjeni deo stranice, kad korisnik popuni sva potrebna polja, kako da podesim da mi to posalje na e-mail? sta mi je potrebno da uradim?

E da i kako da zadam recimo dugmetu koje sam napravim kao sliku da vrsi ovaj proces slanja poruke, imena i e-mail, meni na e-mail?

Hvala u napred

nighthawk
4.11.2006, 18:08
Treba ti malo znanja php-a

prvo napises formular u html-u:

<form action="naziv_fajla.php" method="post">
<input type="text" name="ime" /> unesi ime<br />
<input type="text" name="email" /> unesi email<br />
<input type="text" name="poruka" />poruka<br />
<input type="submit" name="posalji" />
</form>

onda iza toga ubacis php:


<?php

$ime=$_POST['ime'];
$email=$_POST['email'];
$poruka=$_POST['poruka'];

$from='tvoja_adresa@tvoj_sajt.com';
$adresa='adresa_na_koju_se_salje@sajt.com';
$subject='naslov poruke';

$content= 'ime: '.$ime."\n".
"\n".$email."\n"
."\n".$poruka."\n";

mail($adresa,$subject,$content,$from);

?>



sve to snimis sa .php ekstenzijom i uploadujes na server. Trebalo bi da radi.


da bi koristio sliku kao submit digme treba da stavis umesto

<input type="submit" name="posalji" />

ovaj kod:
<input type="image" name="submit" src="slika.jpg" style="border:0;" />
P.S. Za poruku je mozda bolje koristiti <textarea>.

Alex82
4.11.2006, 20:09
Hvala puno na odgovoru:aplauz:
Nadam se da ce mi uspeti.
Pozdrav:ciao:

Alex82
15.11.2006, 13:55
da bi koristio sliku kao submit digme treba da stavis umesto

<input type="submit" name="posalji" />

ovaj kod:
<input type="image" name="submit" src="slika.jpg" style="border:0;" />


Konkretno me intersuje nesto ovako:
Imam stranicu kao sliku koju sam iseckao u photoshop-u.
Na sredini stranica sam ostavio praznu tabelu u koju bih ubacio konakt formular ali kao sto sam i pitao gore, mozda neprecizno doduse, kako da postavim sliku kao dugme za slanje? Tj. to dugme odnosno slika ne bi bila u okviru ove forme gore. Malo je komplikovano objasniti recima. Evo slike pa ces mozda povezati o cemu pricam.

nighthawk
19.11.2006, 18:52
Ne razumem sta ti nije jasno. Jedino sto ce se razlikovati se vrednost src atributa, ostalo sve prekopiraj kao sto pise. Naravno ovo treba da se nalazi izmedju <form> i </form>. Vrednost src atributa treba da bude relativni url slike koju hoces da postavis, sto znaci "ime_foldera/slika.jpg", ako treba da se vratis u koreni direktorijum onda koristi ../, a ako ima space u nazivu foldera ili slike space zamenis sa "%20"

Alex82
19.11.2006, 20:08
Ne razumem sta ti nije jasno. Jedino sto ce se razlikovati se vrednost src atributa, ostalo sve prekopiraj kao sto pise. Naravno ovo treba da se nalazi izmedju <form> i </form>. Vrednost src atributa treba da bude relativni url slike koju hoces da postavis, sto znaci "ime_foldera/slika.jpg", ako treba da se vratis u koreni direktorijum onda koristi ../, a ako ima space u nazivu foldera ili slike space zamenis sa "%20"
nighthawk, izvini ako te smaram mada mislim da se nismo lepo razumeli, evo sta mene konkretno buni:

Video si sliku, to je slika koju sam sredio(slice-ovao i izvezao u HTML formatu) u photoshopu. E sad, kad ja to prebacim u dreamweaver i tamo odbacim ovo belo polje koje sam predvideo za kontakt formular, to mi je jasno ali me buni to kako da povezem nezavisnu sliku kao sto je dugme(slicica SEND) sa ovom formom ako je to po pravilu kako mi ti kazes da sve treba da bude u oviru form polja. Pitam zato sto su mi belo polje(slika) i SEND(slika) rasporedjene u dve odvojene tabele?:icon_scra To me buni:-( Kako podesiti, kad neko popuni formular i zatim klikne na dugme SEND, da ta slicica izvrsi naredbu da sve te podatke prosledi na tu drugu formu za obradu podataka. Nadam se da sam ti bar priblizno objasnio sta me muci.
Jos jednom ti hvala u svakom slucaju bilo da li mi pomogao ili ne:ciao:

nighthawk
20.11.2006, 0:17
Najbolje stavi ceo source pa da to lepo sredimo.

To sto su polja u razlicitim tabelama ne bi trebalo da pravi problem osim ako tagove negde ne overlapuju.

holodoc
20.11.2006, 13:18
Veoma jednostavno i sa stilom :) Mnogo bolja varijanta bi bila da koristiš CSS klase ali pretpostavljam da to još nisi koristio pa ću za sada da se zadržim samo na jednostavnoj doradi stila dugmeta koje ćeš da koristiš.

Postupak je sledeći. Otvoriš kompletnu slice-ovanu stranicu u Dreamveawer-u i obrišeš taj deo koji treba da bude dugme. Pretpostavljam da kada si radio seču da si sliceo-ove provukao tačno po ivicama dugmeta tj. da kada obrišeš onu sliku od malopre da ti je nestalo samo dugme tj. ne „krnjiš“ ovu spoljašnju plavu boju. Sad lepo negde uzmi dimenzije tog obrisanog dela i zapiši ih negde.

Dodaj jedno form dugme u tu ćeliju gde si obrisao deo malopre. Promeni u Properties-u dole stavku Value da u njoj piše „Send“ bez navodnika. Klikni sad na dugme ponovo i pređi u „Code view“. Trebalo bi da bude označen deo koda nešto u ovom fazonu
<input type="submit" value="Send">
Red izmeni da izgleda ovako.
<input type="submit" value="Send" style="background image:url(parce_koje_fali.jpg); width: 100px; height: 100px;">
Umesto „100px“ kod width-a stavi širinu slike koju si malopre zapisao a umesto „100px“ kod height stavi visinu iste. Nemoj da zaboraviš da staviš px-ove jer će Explorer da se buni kao i obično :) Umesto „parce_koje_fali.jpg“ stavi putanju do slike koju si malopre merio tj. koju si izbacio sa tog mesta.

I to je to. Imaš sliku koja se ponaša kao dugme. Čak nije potrebno ni da definišeš bilo kakav skript koji će biti zadužen za slanje forme jer je dugme i dalje tipa submit pa nema potrebe za dodatnim operacijama. Mogao si i da dodaš border okolo putem stilova ali ovde se javlja ponovo problem da dugme ne bi bilo pravilno prikazano u Exploreru pa bi morao da ubaciš tzv. Explorer CSS hackove a to ti definitivno ne treba za sada :)

Alex82
20.11.2006, 13:26
Pozdrav:)
probao sam da ubacim ceo cource na stranicu ovde ali me ogranicava sa brojem dostupnih karaktera, tako da ti saljem source u notepad-u.
Inace holodoc hvala na savetu probacu i to:ciao:

Alex82
22.11.2006, 18:01
E narode, uspeo sam da resim problem!:alealeee:
Jedino sto me sad muci :confused: , jeste to sto kad god posaljem poruku sa sajta na e-mail(na koji sam preusmerio poruke) mi stizu dva mail-a. U jednom se nalazi prazna forma a u drugom sa istim naslovom ono sto sam i pisao na sajtu kao poruku. U cemu je tu stos?!:confused:

nighthawk
22.11.2006, 23:34
Verovatno si nesto izbrljao sa tim send dugmetom, pa pritiskajuci jednom ono se u stvari pritiska dva puta, prvo ti posalje tekst, a drugi je prazan.

Alex82
23.11.2006, 13:36
Verovatno si nesto izbrljao sa tim send dugmetom, pa pritiskajuci jednom ono se u stvari pritiska dva puta, prvo ti posalje tekst, a drugi je prazan.

Znam da sam nesto zeznuo ali mi nije jasno sta!nighthawk kaže:


da bi koristio sliku kao submit digme treba da stavis umesto
Ubacio sam onaj php kod koji si mi napisao


PHP kod:
<input type="submit" name="posalji" />


ovaj kod:

PHP kod:
<input type="image" name="submit" src="slika.jpg" style="border:0;" />

pa zato pitam sta bi moglo da bude proble.
Stalno mi stizu duple poruke od cega je jedna prazna a druga sa sadrzajem koji sam napisao.

Alex82
23.11.2006, 16:41
Zapazio sam da kad god neko ucita onu contact.php stranicu koju sam postavio kao kontakt formu, meni stigne na mail obavestenje od apache sa praznom formom! Sto se to desava? nista mi nije jasno:confused:

al0cunit
23.11.2006, 16:51
hm.. mozda da stavis neku proveru .. npr.

$referer = $_SERVER["HTTP_REFERER"];
if($ref=='http://www.blabla.com/contact.php')
{
echo "blabla... salji mail";
}
else
echo "blabla";

ja sam to zamislio kao ovo .. http://www.blabla.com/contact.php?do=posaljimail&mail=aaa@spinter.net&text=xsdsaasdasd

i sad kad god refresh ovu stranu on ce da ti salje mail na aaa@spinter.net sa porukom aasdaablabla :) ...

al0cunit
23.11.2006, 16:54
a moguce je i da si u body tagu stavio nesto tipa .. onLoad=saljimail() .. ne bih znao dok ne stavis source ... postoji milion razloga ..:)

Alex82
24.11.2006, 16:31
a moguce je i da si u body tagu stavio nesto tipa .. onLoad=saljimail() .. ne bih znao dok ne stavis source ... postoji milion razloga ..:)
nisam te bas najbolje razumeo... da li si mislio da kad neko posalje poruku preko sajta i ponovo ucita contact.php stranu da onda posalje tu praznu formu na neki mail tipa ovoga gore sto si naveo?
Za source bih ti poslao preko MSN-a kad budes bio na netu pa da vidis o cemu je rec ako ti to nije tesko

al0cunit
24.11.2006, 21:49
ok .. nie problem ... ako stvarno ne mozes resiti posalji mi source .. ja sam uvek na netu .. :)
aleksekovici@hotmail.com