» »

PHP - nujno! - email forma

PHP - nujno! - email forma

DonMatejo ::

Zdravo!

najprej se oproščam ker je nova tema, ampak nočem smetit komu drugemu... uglavnem, iz strani KLIK KLIK bom naredil email formo, ki bo na nekem mailu beležila pritožbe in pohvale. Zdj pa ne razumem čisto, pa vem, mogu bi iti skozi tutoriale, ampak imam pomanjkanje časa, pa bi rad naredil malo hitrejše.
Zdj znam narediti formo v stilu tabelic, pa da potem, ko klikneš SUBMIT da se odpre outlook ali pa thunderbird, pač odjemalec pošte, ki vnese mail, pa zadevo, pa besedilo in vse... ampak imam občutek, da ima zelo malo ljudi to tudi dejansko uporabljeno, zato bi rad naredil, da se vse dogaja na netu, kot imajo kontakt recimo Angee. da pač napišeš vse na strani, pa potem klikneš in voila, sporočilo je v mailboxu... in se mi zdi, da bi to naredil preko te skripte.

problem nastane, ker jo shranim vse, tako kot je treba, ne vem pa kako skripto contact.php vključiti v .html stran... le-ta izgleda takole:


div id="page">
div id="logo">
/div>
div id="menu">
ul>
li>a href="index.html" title="">Predstavitev/a>/li>
li>a href="storitve.html" title="">Storitve/a>/li>
li>a href="kaj_storiti.html" title="">Kaj storiti v primeru/a>/li>
li class="active first">a href="pohvaleinpripombe.html" title="">Pripombe/pohvale/a>/li>
li>a href="vizitka.html" title="">Vizitka/a>/li>
/ul>
/div>
div id="content">
br />
div id="vsebina">
TUKAJ MORA PRITI KODA.
/div>
br />
/div>
div id="footer">
/div>/div>



torej, kako narediti stran, da bo deloval gumb Send mail, ker ko kliknem to, se pojavi okno za shranjevanje, kot predmet shranjevanja (v Mozilli) se pojavi drugi .php file (sendeail.php) ter povprašuje po programu za odpiranje.

imate kakšno drugo, bolj preprosto možnost?

hvala vsakomur... matej

DonMatejo ::

se oproščam za kodo, ker je malo zmetana, ampak tale forum resno jebe kodo... sploh noče spustit skozi... popravlja atribute, ko so pa popravljeni, pa reče, da so neveljavni :D

tony1 ::

Od mojih spletnih časov je že nekaj minilo ampak nekje rabiš v .html stran vključiti obrazec (form):

<form method="post" action="/cgi-bin/kontakt_splosni.pl">

</form>

Vmes pa pač namečeš vnosna polja, radiobuttons, gumb za pošlji in zbriši itn.

Če delaš .html fajle z Dreamweaverjem lahko tudi obrazec (form) narediš z njim, tudi noter daš vse vnosna polja in gumbe, ter zlinkaš .PHP fajl.

OmegaBlue ::

DonMatejo OBVEZNO branje
Never attribute to malice that which can be adequately explained by stupidity.

DonMatejo ::

OmegaBlue... sm se opravičil, ker mi ni hotel oddati posta, pa sem pač brisal na random, da bi vsaj bistvo strani ohranil... sepravi, da morm potem .php shranit, potem pa taisti .php zlinkat v .html?

DonMatejo ::

ob kliku na pošlji mail se zgodi tole..

kaj narediti?

Zgodovina sprememb…

  • zavaroval slike: OmegaBlue ()

Gost ::

Najprej se nauči osnove php-ja. Php deluje server side, html pa client side.

DonMatejo ::

škoda k berete... res... dj konkretn predlog, kaj nj izboljšam, kaj nj popravm... jebesh osnove, če mam rok čez dva dni za oddajo.. pa bi rad popedenal, ni problema oddat normalno za outlook varianto s tabelami, ampak če lahko, zakaj ne bi... in namesto, da bi povedal točno kaj narest (lahko tud v treh korakih), ne pa d sanjaš o server side... vse preveč je takih slo-techovcev... včasih sem res z veseljem prebiral slo-tech, ker so bli gor geeki, pa freaki, k so PRVIČ vedl, DRUGIČ znal, pa k so TRETJIČ imel čut in voljo za učenje, razlaganje drugim...

če znaš napiši:
-naredi tole,
-nareti to
-poglej si to stran kot primer
-mogoče še tole
-potem preuredi tole
-rajš napiši tako in tako
-....

če ne znaš, pa sploh ne spamej moje teme, nasmehni se, si misli, še en luzr, pa prtisni ctrl+w...

ne pa, d človek v 1. postu pove, d se ne more naučit phpja do roka, se vmes še dvakrat opraviči, potem pa dobi tole... djte no ljudje, sj se bom še sekirat začel :) če si ti tako učen, pa mi ti povej rešitev, pa se meni ne bo treba učiti osnov, al pa se jih bom kasneje, al pa na podlagi tvojega, izrednodobrega primera, k ga boš pokazal... moj meil je: donmatejo@gmail.com, pa mi piši, če si zainteresiran, da mi pokažeš svoje znanje.

pa srečno, f.

p.s.: če se pa najde slučajno kdo (ker dvomim, d g.Gost bo) k bo mel tiste tri zgoraj naštete lastnosti, pa nj piše kkšno dobro rešitev, sem vedno odprt za nove predloge, kaj še poskusiti...

t3hn0 ::

da se resit tud tko da pod action v formu das kar e-mail naslov, sam v tem primeru ne mores nc oblikovat besedila kako bo zgledalo...

drugace pa s phpjem (streznik mora imeti podporo za php, drugace ne bo delalo!!)

// datoteka z obrazcem, za primer ti dam 2 polja notr
<form action="poslji.php" method="post"
Ime in priimek: <input type="text" name="imePriimek" /><br />
Sporočilo: <textarea type="text" name="sporocilo" cols="20" rows="15"></textarea>
</form>


// datoteka poslji.php
<?php

// dobis vsebino ki jo je uporabnik napisal
$imePriimek = addslashes($_POST['imePriimek']);
$sporocilo = addslashes(nl2br($_POST['sporocilo']));

$to = 'nobody@example.com'; // komu bos poslal
$subject = 'the subject'; // subject maila
$message = "Oseba ".$imePriimek.", posilja naslednje sporocilo:<br />".$sporocilo; // sporocilo

$headers = 'From: no-reply@example.com' . "\r\n" .
'Reply-To: no-reply@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

// preveris ce je bilo uspesno poslano
if(mail($to, $subject, $message, $headers)) {
echo "Posiljanje je uspelo!";
} else {
echo "Napaka pri posiljanju sporocila!";
}

?>
^.^

bluefish ::

@DonMatejo: Gost je želel v svojem postu povedati to, da na serverju (oz. tvoj računalnik), kjer to testiraš, ni omogočene podpore za PHP.
Če imaš nameščen Apache server je potem namestitev PHP-ja enostavna - le slediš navodilom, ki so podana na netu.

BluPhenix ::

Kot že povedano, ponudi ti, da shrani php file, ker pač tvoj browser ne ve kaj bi naredil s tistim filom.

Če hočeš da ti bo delalo, moraš imeti na strežniku omogočen na voljo php. Če delaš to na svojem računalniku moraš imeti recimo xampp, ki vsebuje apache strežnik, php ter mysql.

Če tega vsega ne znaš je prav, da se naučiš, preden sprejemaš projekte. NE pa da zadeve sprejmeš, potem ko pa zagusti govoriš ljudem na forumih da naj ti po korakih povejo kako narediš zadevo ... pokasiraš pa ti. Nekako to ne gre skupaj. Če ne znaš nekaj, je bolje, da daš narediti nekomu, ki to zna, bo manj problemov in stranka navadno bolj zadovoljna, je pa res, da boš ob del dobička.

In čeprav se ti ne zdi, da so ti ljudje poskušali pomagati so natančno to delali, problem je to, ker si z njihovimi informacijami nisi znal pomagati.
Podpisa ni več, ker so me poskušali asimilirati.

DonMatejo ::

no hvala... končno sem se nekaj naučil... Tehno, hvala... poskusil bom implementirati to kodo... svaka čast... jasno in razumljivo...

BluPhenix - se popolnoma strinjam, ni lepo, ni pa tudi fino. Poznam samo dva, ki se malo bolj bolj ukvarjata z programiranjem, ampak mi nihče ni hotel izdelati tega, tudi ob ponujenem plačilu ne. Zato sem se pač oglasil tukaj, ker več glav več ve... Imam pa občutek, da se najlažje naučiš, če delaš na nekem projektu, ker če ne delaš "zares" ni take motivacije, vsaj pri meni... je pa zanimivo, da tebe razumem, uporabnika Gost pa še vedno ne...

Gost - se opravičujem za včerajšni izbruh, neznanje in pozna ura...

važno, da sem dobil step-by-step... in če fant zna, ali pa je že kdaj to delal, mu ni bilo težko!

LP, f.

Binji ::

Ej... sori sam da pa tega nisi znal pogruntat sam po tutorialih potem ti ze v osnovi nekaj fali. In tu moras najprej osnove osvojit, ne pa da se "ucis pri projektu".
Kdor ne navija ni Slovenc, hej, hej, hej!

DonMatejo ::

t3hn0 - še eno vprašanje... če v prvo formo (na .html) vključim še
<input type="submit" value="Pošlji sporočilo" />
mi bo prek tega gumba avtomatsko poslalo na meil, ali moram še kaj spremeniti v poslji.php?

drugače sem pa imel že vse narejeno tudi včeraj, samo na malo drugačen način potem.
se učimo se učimo, bom že še naštudiral ta PHP.

BluPhenix - še to sm hotu rečt. naročnik je zahteval samo možnost pošiljanja pošte, za tole pa sem rekel, da če bom dobil kje kakšen dober tutorial, bom naredil, drugače bo pa tako, kot je... direkt iz outlooka. :) zdj sm dobil, bomo pa vidl, če ma Google apps podporo za PHP.

t3hn0 ::

@Binji jst sm sam zacel z ucenjem phpja na primeru kako narest npr. guest book...seveda ob branju raznih tutorialov brez cesar seveda na zacetku ne gre ;)

@DonMatejo: jst osebno ti priporocam da si zadas en cilj (projekt) in se ob tem ucis...seveda je najprej fajn prebrat vsaj ciste osnove phpja (kaksne so spremenljivke, kaj lahko z njimi delas, vejitvene ukaze (if, for, foreach...), pa funkcije). ko si enkrat to pregledas in nekak znas to...rabis pa samo se mal logike za vse skupaj, potem pa si na dobri poti. vsekakor bo tvoj "homepage" ratu php.net, kjer imas super razlage implementiranih funkcij, katere ti olajsajo delo...
^.^

t3hn0 ::

@DonMatejo, s submit gumbom, samo poves brskalniku da zelis izvest karkoli je pac vpisano pod action.

lahko mas ubistvu ta form in posiljanje maila v enem fajlu, kjer pol preverjas a je bil obrazec oddan ali ne. v tem primeru moras submit gumbu dolocit ime (to je itak zelo fajn met :)) in zgleda nekako tako:

recimo da imas ime fajla "kontakt.php"

<?php

// ce se nisi kliknil na submit gumb, se izvede kar je tukaj
if(!isset($POST['posljiSporocilo'])) {

// pri action potem v tem primeru klice datoteka sama sebe
?>

<form action="kontakt.php" method="post">
Ime in priimek: <input type="text" name="imePriimek" /><br />
Sporočilo: <textarea type="text" name="sporocilo" cols="20" rows="15"></textarea><br />
<input type="submit" name="posljiSporocilo" value="Poslji" />
</form>

<?
// ce pa si kliknil na gumb submit, pa se bo izvedla spodnja koda (poslje se mail), form pa se skrije
} else {

	// dobis vsebino ki jo je uporabnik napisal
	$imePriimek = addslashes($_POST['imePriimek']);
	$sporocilo = addslashes(nl2br($_POST['sporocilo']));

	$to = 'nobody@example.com'; // komu bos poslal
	$subject = 'the subject'; // subject maila
	$message = "Oseba ".$imePriimek.", posilja naslednje sporocilo:<br />".$sporocilo; // sporocilo

	$headers = 'From: no-reply@example.com' . "\r\n" .
	'Reply-To: no-reply@example.com' . "\r\n" .
	'X-Mailer: PHP/' . phpversion();

	// preveris ce je bilo uspesno poslano
	if(mail($to, $subject, $message, $headers)) {
		echo "Posiljanje je uspelo!";
	} else {
		echo "Napaka pri posiljanju sporocila!";
	}

}
?>
^.^

Zgodovina sprememb…

  • spremenil: t3hn0 ()

Gost ::

Uh, joj. Kaka tečkasta tečka. :) Tudi takih je slo-tech poln, ja.

Saj ti bom rad pomagal, vendar mešaš osnove html, php in Google Apps-a, sedaj pa pričakuješ, da ti razložimo step by step. Saj imaš vse razloženo na linku, ki si ga podal.

No, lepo, da si rešil potem. Kako si pa rešil potem?

DonMatejo ::

ja glej... edino kar nism vedu, je blo to, da php deluje samo ne serverju... res, me je čist šokiralo zjutri, ker res nism vedu, iz tvojega stavka pa nism znal si pomagat... neki sm že delal v phpju, eno podobno kodico, samo v šoli in je šlo čisto lepo in je tudi vse delovalo, potem mi pa tuki teži pa teži, da nj shranim... valda d ne... :D no zdj vem, še1x se ti opravičujem...

uglavnem rešu sm tkole zadevo:

1. kreiral sem pošlji.php takole:

<?php


$imePriimek = addslashes($_POST['imePriimek']);
$sporocilo = addslashes(nl2br($_POST['sporocilo']));
$eposta = addslashes($_POST['eposta']);

$to = 'meznarsp@gmail.com'; // komu bos poslal
$subject = 'Pohvale/pritožbe'; // subject maila
$message = "Oseba ".$imePriimek.", posilja naslednje sporocilo:"<br />.$sporocilo.<br /><br />"Odgovorite na:".$eposta; // sporocilo

$headers = 'From: no-reply@example.com' . "\r\n" .
'Reply-To: no-reply@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

// preveris ce je bilo uspesno poslano
if(mail($to, $subject, $message, $headers)) {
echo "Posiljanje je uspelo!";
} else {
echo "Napaka pri posiljanju sporocila!";
}

?>

2.v xyz.html sem dal formo

<form action="poslji.php" method="post">
Ime in priimek: <br /><input type="text" name="imePriimek" /><br />
E-pošta: <br /><input type="text" name="eposta" /><br />
Sporočilo: <br /><textarea type="text" name="sporocilo" cols="50" rows="10"></textarea><br />
<input type="submit" value="Pošlji sporočilo" />
</form>

in po moji logiki bi moralo zdj to delati... to enako sem naredil že včeraj z onim linkom, samo me je potem uni Save as čisto zj*al... :) zdj bom pa dal to nekam na en server (oz. če je kej narobe, lahko še poveste, bom z veseljem popravil.
Google apps sm pa dal samo primer, ker bo najverjetneje tam stran hostana, nič drugega...

torej, kako se ti zdi? sj je res bl copy/paste od t3hn0 ampak dobr... je pa... upam, d tud dela...

lp, f.

DonMatejo ::

a ni zanimivo, da hitri odgovor pusti kodo nedotaknjeno, če pa klikneš gumbek odgovori, pa samo probejte začet kaj pisat... :D nič ne bo prav...

OmegaBlue ::

a ni zanimivo da si še vedno nisi prebral kako pisat kodo na forum?
Never attribute to malice that which can be adequately explained by stupidity.

Gost ::

Na Google Sites nimaš php-ja. Poišči en konkretnejši hosting s php podporo. Cene so res nizke.

P.S. Kar se tiče forme, je načeloma ok. Lahko bi še preverjal, če je email oblike xyz@xyz.com ter če je obiskovalec vpisal vsa polja.

Zgodovina sprememb…

  • spremenil: Gost ()

DonMatejo ::

to je pa res... bom dodal še to... a kej priporočaš glede hostinga? pri nas je bl kriza, mislim glede cen an... ker ne rabim veliko prostora, ker bo cela stran nevem, 50mb velika, ali pa 100največ... :)

glede if stavkov je pa res, da bi bilo fino, če bi preverjali še to, se bom spravil napisati še to... to se mi zdi lažji del, ker imam vsaj nekaj izkušenj iz VS :)

hvala

t3hn0 ::

50 mb za stran...to je ze kar velik...predvidevam da je ful slik? ponavad so skripte 1-2mb max ;)

ostalo so pa sam se slikce...po vecini

** edit **
drugac te pr telemachu pride hosting cca 13.35€/mesec za 100mb placa + 1MySQL baza...kok pride brez nje pa ne vem :P
^.^

Zgodovina sprememb…

  • spremenil: t3hn0 ()

Gost ::

50 mb za stran...to je ze kar velik...predvidevam da je ful slik? ponavad so skripte 1-2mb max ;)

ostalo so pa sam se slikce...po vecini

** edit **
drugac te pr telemachu pride hosting cca 13.35€/mesec za 100mb placa + 1MySQL baza...kok pride brez nje pa ne vem :P



Imaš ogromno cenejših ponudb.

DonMatejo ::

ja sj to sm od oka reku... itak, skripte je za 700 mb... pol je pa ovo ono, mal slik ... pa hoče high quality... pa low budget :D

Gost ::

700 MB skripte? Misliš 700 KB?

DonMatejo ::

ups... typo... tako je... 0,7mb


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Napaka v skripti za pošiljanje podatkov na določen e-mail

Oddelek: Izdelava spletišč
71409 (1409) Bela01
»

Izdelava menija? (strani: 1 2 )

Oddelek: Izdelava spletišč
766861 (5868) Jackass
»

email še enkrat

Oddelek: Izdelava spletišč
71445 (1236) Taras_Bulba
»

dolžina vnešenega teksta

Oddelek: Izdelava spletišč
331634 (1247) darh
»

Skripta za prijavo na žurko...

Oddelek: Programiranje
131444 (1206) TheHijacker

Več podobnih tem