Ne stiže mi pošta preko e-mail forme u čemu je problem?

Ne stiže mi pošta preko e-mail forme u čemu je problem?

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.
offline
  • 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.
Wink



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š Smile

offline
  • 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...

Ko je trenutno na forumu
 

Ukupno su 849 korisnika na forumu :: 5 registrovanih, 0 sakrivenih i 844 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: draggan, MilosKop, Shilok, simazr, zlaya011