Poslao: 11 Nov 2013 15:30
|
offline
- Pridružio: 28 Avg 2009
- Poruke: 196
|
Skinuo sam tutorijal i odradio sve po uputstvu, sve piše da je uredu ali pošta ne stiže:
Ovo je HTML stranica koja je iskorištena u tekstu:
<html>
<head>
</head>
<body>
<center>Pozdrav! </br>
Ovo je jedna od prvih PHP skripta koje radim.</br>
Slijedite upute i istrazite..</br>
</br>
Unesite za pocetak vase ime i email</center>
<form action="email_skripta.php" method="POST">
<p><center>Ime: <input type:"text" name="ime" size="30"</center></p>
<p><center>Email: <input type:"text" name="email" size="30"</center></p>
<input type="submit" name="submit" value="Posalji"></br>
</br>
<center>Ova kratka skripta ce poslati email poruku na adresu koju upisete.</br>
</br>
<h1>Na email cu vam poslati vrijedan ebook!</h1></br>
<h1>Probajte!</h1></center>
</body>
</html>
Ovo je PHP kod iz email_skripta.php :
<?php
// Dodavanje varijabli
$from="moj@email.com";// ovde sam stvavio moj mejl
$email=$_POST['email'];
$name=$_POST['ime'];
$subject="$name, uspjesno smo zaprimili vasu email adresu!";
$link='http://www.croativepartners.co..._Glupih_Blog_Kikseva_final.pdf';
$message = "Postovani $name , </br>
</br>
zahvaljujemo na upisu na nasu email listu!</br>
</br>
Kliknite na link i preuzmite besplatan ebook kojeg ste trazili: </br>
</br>
$link";
// Funkcija strip_tags za micanje HTML taga </br> i uspot kreiranje nove varijable
$strip = strip_tags($message, '</br>');
echo '<center>' . $name .', primili smo vas email!</br>
</br>
Preuzmite besplatan ebook - BONUS poklon!</br>
</br>
<a href="' . $link . '"><b>17 super glupih blog kikseva</b></a></center>';
// Funkcija mail za slanje email poruke
mail($email, $subject, $strip, "From:".$from);
// Funkcija file_put_contenst za dodavanje podataka u datoteku
$file = "imedatotekegdjespremateinformacije.html";
file_put_contents($file, $name . ', ' . $email . ', </br>' . PHP_EOL, FILE_APPEND);
?>
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 11 Nov 2013 15:56
|
offline
- FoxVanis
- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
Evo ti jedan moj kod koji ja koristim...
function send_mail($from, $to, $subject="(No subject)", $content="", $html=TRUE, $charset="utf-8")
{
$header=array
(
"MIME-Version: 1.0",
"Content-type: ".(($html) ? "text/html" : "text/plain")."; charset=".$charset,
(($charset=='utf-8')?"Content-Transfer-Encoding: 8bit":NULL),
"Date: ".date('r', $_SERVER['REQUEST_TIME']),
"Message-ID: <" . $_SERVER['REQUEST_TIME'] . md5($_SERVER['REQUEST_TIME']) . '@' . $_SERVER['SERVER_NAME'] . ">",
"From: ".$from,
"Reply-To: ".$from,
"Return-Path: ".$from,
"X-Mailer: PHP v".phpversion(),
"X-Originating-IP: ".$_SERVER['SERVER_ADDR']
);
$headers=array();
foreach($header as $x=>$y){if(!empty($header[$x])){$headers[]=$header[$x];}}
$subject=(($charset=='utf-8')?"=?UTF-8?B?" . base64_encode(trim($subject)) . "?=":trim($subject));
return mail($to, $subject, $content, implode("\r\n",$headers)) ? true : false;
}
Onda stavi tvoj kod ovako:
<?php
if(isset($_POST['email']))
{
// Dodavanje varijabli
$from="moj@email.com";// ovde sam stvavio moj mejl
$email=$_POST['email'];
$name=$_POST['ime'];
## OVDE STAVI NEKE PROVERE AKO SU POLJA PRAZNA DA IZABCI ERRORE ##
## A POSLE NASTAVI SA PRAVLJENJEM EMAILA:
$subject="$name, uspjesno smo zaprimili vasu email adresu!";
$link='http://www.croativepartners.co..._Glupih_Blog_Kikseva_final.pdf';
$message = "
<html>
<body>
<h3>Postovani $name</h3>
Zahvaljujemo na upisu na nasu email listu!<br>
<br>
Kliknite na link i preuzmite besplatan ebook kojeg ste trazili: <br>
<br>
<a href=\"$link\" target=\"_blank\">17 super glupih blog kikseva</a>
</body>
</html>
";
// Funkcija mail za slanje email poruke
if(send_mail($from, $email, $subject, $message))
{
// Funkcija file_put_contenst za dodavanje podataka u datoteku
$file = "imedatotekegdjespremateinformacije.html";
if(file_put_contents($file, $name . ', ' . $email . ', <br>' . PHP_EOL, FILE_APPEND))
{
echo '<center>' . $name .', primili smo vas email!<br>
<br>
Preuzmite besplatan ebook - BONUS poklon!<br>
<br>
<a href="' . $link . '"><b>17 super glupih blog kikseva</b></a></center>';
}
else echo 'Došlo je do greške';
}else echo 'Došlo je do greške';
}
?>
I mislim da bi to bilo to...
Samo napravi provere kada su ti polja prazna da izbaci Error i još par sitnica. Ja nisam proverio tvoj deo ali moja funkcija radi, jedino sad tvoj deo malo bolje formuliši.
I da... BR tag se ne piše </br> već <br> ili <br />.
Stavio sam ti da tvoj email bude poslat u HTML varijanti i UTF8 pa imaš više mogućnosti oblikovanja a ako nećeš onda posle svakog reda stavi \r\n umesto <br> i u funkciji dodaj da $html bude FALSE.
|
|
|
|
Poslao: 11 Nov 2013 16:53
|
offline
- Pridružio: 28 Avg 2009
- Poruke: 196
|
Uspeo sam da podesim samo su mi potrebna razjasnjenja u kodu
<?php
if(isset($_POST['email'])) { [color=]------------------------- ovo je funkija za....
[/color]
// [color=] Post funkcija valjda prihvata mejl ako se nevaram za razliku od get[/color]
$email_to = "bolepks@gmail.com";
$email_subject = "Your email subject line";
function died($error) {[color=]----------------------------------ova neznam zasta sluzi[/color]
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$first_name = $_POST['first_name']; // required
$last_name = $_POST['last_name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';[color=]----------ovo mi nije jasno[/color]
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$first_name)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($string_exp,$last_name)) {
$error_message .= 'The Last Name you entered does not appear to be valid.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($first_name)."\n";
$email_message .= "Last Name: ".clean_string($last_name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Telephone: ".clean_string($telephone)."\n";
$email_message .= "Comments: ".clean_string($comments)."\n";
// create email headers[color=]-------------------ovo mi nije jasno[/color]
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- include your own success html here -->
Thank you for contacting us. We will be in touch with you very soon.
<?php
}
?>
Crvenom bojom sam obeležio ako možeš da mi objasniš
|
|
|
|
Poslao: 12 Nov 2013 15:22
|
offline
- FoxVanis
- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
Vidim da si početnik... Huh... Treba mnogo vremena za objašnjavanje ali...
isset()
if(){}else{}
function()
$_POST[]
preg_match()
echo
$stringovi
Pomogao bih ti više ali moraš se sa osnovama upoznati da bi znao da se baviš PHP-om.
Praktično ti u kodu sve piše tamo ali na engleskom. Ako je neka funkcija nazvana died($error) i u njoj postoji nešto što ispisuje tu grešku, onda na određenim delovima PHP-a pozivaš tu funkciju i sebi obeležavaš koja je vrsta greške i to se prikazuje na sajtu.
Idi korak po korak od gore prema dole i čitaj. PHP je lagan:
$broj=5;
if($broj==5)
{
echo 'rezultat je 10';
}
else
{
echo 'Rezultat nije tačan';
}
Što znači: ako je 5 jednako sa 5 onda je rezultat deset ili nije tačan.
-Ovo je najgrublji glupav primer ali PHP je potpuno glupav i moraš ga "naučiti". Zato je jako dobar jer radi sve što mu kažeš pa ako mu kažeš da je plavo u stvari žuto, on će reći da jeste ma šta drugi mislili.
Pročitaj par tutorijala o PHP i pokušaj sam napisati par stvari, napraviti provere i funkcije koje nešto rade, poigraj se sa if...else... while, loop, array, empty(), isset()... da bih shvatio osnove. Posle je sve na tebi. Dobra logika, mnogo razmišljanja i mnogo rada...
|
|
|
|