Zasto ova mail forma ne radi?

1

Zasto ova mail forma ne radi?

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Napravio sam najjednostavniji mail formu koja nece da sljaka. Da zlo bude gore to je forma koja je radjena u najpoznatijoj knjizi iz ove oblasti PHP&MySQL Luke Welling and Laura Thomson.

kontakt.php
<FORM method="POST" action="mail.php"> <P>Ваше име:<br> <INPUT type="text" name="sender_name" size=30> </p> <P>Ваша емаил адреса:<br> <INPUT type="text" name="sender_email" size=30> </p> <P>Порука:<br> <textarea name="message" cols=30 rows=5></textarea> </p><INPUT type="submit" value="Пошаљи поруку"> </FORM>

mail.php
<?php $msg = "Име пошиљаоца:\t$sender_name\n"; $msg .= "Емаил пошиљаоца:\t$sender_email\n"; $msg .= "Порука:\t$message\n\n"; $recipient = "slavkank@yahoo.com"; $subject = "Питање"; $mailheaders = "From: СТЕЛЕКС<> \n"; $mailheaders .= "Reply-To: $sender_email\n\n"; mail($recipient, $subject, $msg, $mailheaders); echo "<HTML><HEAD>"; echo "<TITLE>Контакт</TITLE></HEAD><BODY>"; echo "<H1 align=center>ХВАЛА</H1>"; echo "<P align=center>"; echo "Ваша порука је послата!</P>"; echo "</BODY></HTML>"; ?>

To je inace moj mail na koji trebaju da dolaze poruke. Forma odradi svoje, mail se kao posalje ali ne dodje na tu adresu. Inace host nije free, mail server sigurno radi, prije sam koristio neku formu koja je bila dosta slozenija i provjeravala je da li su sva polja popunjena i radila je, ali ova nece. Ne znam u cemu je fora.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Koliko ja vidim fali ti $_POST['sender_name'] i $_POST['sender_email']. Dodeli te vrednosti promenljivama $sender_name i $sender_email pa probaj onda.



offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Probao sam al nece opet! Da li ima neka caka oko ove mail funkcije, da li su joj dobro prosledjeni argumenti?

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Da li izbaci neku gresku i ako izbacuje koja je?

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Ne, nema gresaka, odradi skripta sve ali nema nista na mail da dodje!
Znaci dobijem, Poruka je poslata, Hvala ali nista Smile

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Jesi li dodao ovako nesto na početku mail.php?

$sender_name = $_POST['sender_name']; $sender_email = $_POST['sender_email']; $message = $_POST['message'];

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Napisano: 12 Feb 2010 23:21

Jesam naravno i nece, uzasno. Da li moze biti da je neki kvar sa mail serverom pa mi ovde sad samo bukvalno prolazimo glavom kroz zid?

Dopuna: 12 Feb 2010 23:23

Mene vise zanima to kako je pre jedna skripta koju sam nasao na netu mogla da radi a ova nece. Bas cudno.

offline
  • Piksi  Male
  • Elitni građanin
  • Pridružio: 13 Nov 2003
  • Poruke: 2435

Jesi li siguran da je kod tvog hosting provajdera omogućena funkcija mail()?

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

E ovako. Posto znam da moj hosting ima 100% mail server i da mail funkcija radi jer kazem vam pre nekad sam imao kontakt formu koja je radila na stranici koju hostujem na ovom serveru. Setio sam se neceg jo a to je da sam napravio jednostavan script i postavio ga i na free server i na ovaj moj koji nije free

<?php
phpinfo();
<?

Na free serveru dobijam pod disable function bruku zabranjebih funkcija izmedju ostalog i mail funkcije , a na ovom mom nema nista zabranjeno ali opet ne radi. Evo screenshootova:






Nadam se da je ovo polje gde se gleda sta je sve zabranjeno. Izmedju ostalog lista na free hostu zabranjenih funkcija podugacka i izgleda ovako:

system,exec,phpinfo,escapeshellarg,upload_file,rmdir,escapeshellcmd,passthru,proc_close,proc_open,shell_exec,chmod,chown,chroot,chgrp,fsockopen,ftp_connect,ftp_ssl_connect,pfsockopen,socket_connect,socket_create,socket_listen,socket_bind,socket_accept,socket_create_listen,socket_send,socket_write,socket_read,symlink,mail,phpinfo,dl,system,info,upload,system,exec,passthru,eval,is_uploaded_file,move_uploaded_file,escapeshellcmd,popen,pcntl_exec,shell_exec,escapeshellarg,proc_close,proc_open,ini_alter,popen,show_source,curl_exec



[/img]

offline
  • zend  Male
  • Počasni građanin
  • Pridružio: 22 Okt 2009
  • Poruke: 900
  • Gde živiš: Pancevo

Ajde dodaj ovu formu u html kodu

 <form name="mail" action="mail.php" method="post"> <table border="0" width="300" align="center">    <tr>       <td>Vaše ime</td>       <td><input type="text" name="ime"></td>    </tr>    <tr>       <td>E-mail</td>       <td><input type="text" name="email"></td>    </tr>    <tr>       <td>Naslov</td>       <td><input type="text" name="naslov"></td>    </tr>    <tr>       <td colspan="2">       <fieldset>            <legend class="leftm">Poruka</legend>            <textarea name="poruka" cols="30" rows="4"></textarea>       </fieldset>       </td>    </tr>    <tr>       <td colspan="2"><input type="submit" value="Pošalji" onClick="return provera();"></td>    </tr> </table> </form>

I dodaj PHP scriptu za slanje imenuj je kako hoces samo onda u formi gori gde je action promeni naziv .

<?php $to = 'office.stojmenovic@gmail.com '; // unesi tvoj mail na koji zelis da dobijes svu postu //Preuzimanje podataka iz HTML forme sa sajta $ime = $HTTP_POST_VARS['ime']; $email = $HTTP_POST_VARS['email']; $nasvlov = $HTTP_POST_VARS['naslov']; $poruka = $HTTP_POST_VARS['poruka']; $message = "Mail forma site http://www.barum-barum.com/Peages/Kontakt.html" . $poruka . "\n\nIme: " . $ime . "\nKorisniku možes odgovoriti na ovaj mail: " . $email; //provera validnost maila - malo bugovito ali boze moj ima zastite i u javascriptu if (!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $email)) {    echo "<p align='center'>Nije vam tacan mail !</p>";    echo "<a  href='javascript:history.back(1);'>Back</a>"; } // provera vase ime elseif ($ime == "") {    echo "<p align='center'>Niste uneli ime !</p>";    echo "<a href='javascript:history.back(1);'>Back</a>"; } // proverava naslov elseif ($nasvlov == "") {    echo "<p align='center'>Nema naslova</p>";    echo "<a href='javascript:history.back(1);'>Back</a>"; } // provera poruka elseif ($poruka == "") {    echo "<p align='center'>Niste uneli tekst poruke !</p>";    echo "<a href='javascript:history.back(1);'>Back</a>"; } //salje elseif (mail($to,$nasvlov,$message)) {   echo "<p align='center'>Mail je prosledjen</p>";   echo "<a href='index.html'>Pocetna</a>"; } else {   echo "<p align='center'>Neka greska</p>"; } ?>

Ako hoces da smanjis broj polja u formi onda moras i u php-u da smanjis broj polja
$ime = $HTTP_POST_VARS['ime']; $email = $HTTP_POST_VARS['email']; $nasvlov = $HTTP_POST_VARS['naslov']; $poruka = $HTTP_POST_VARS['poruka'];
Ovde samo izbrises polje ili dodas novo polje ako oces da smanjujes i povecavas ali naravno i u html-u dodajes novo polje i imenujes isto kao i u php-u
Ovo su ti polja u php-u od forme...

Sada bi trebalo da radi ne moze da neradi ti ipak javi ok!!!
Pozdrav!!!

Ko je trenutno na forumu
 

Ukupno su 1120 korisnika na forumu :: 52 registrovanih, 8 sakrivenih i 1060 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: _Rade, A.R.Chafee.Jr., aleksmajstor, Apok, babaroga, Battlehammer, bestguarder, bojank, Boris90, BRATORIII, ccoogg123, Dimitrise93, dmdr, dragoljub11987, flash12, Frunze, Georgius, goxin, ikan, ILGromovnik, janbo, Karla, kjkszpj, Koridor 11, Lošmi, Marko Marković, MB120mm, Mi lao shu, milutin134, nemkea71, Neutral-M, nuke92, ObelixSRB, opt1, Parker, raso7, rasok, RJ, Rogan33, sasa87, sevenino, shone34, Smiljke, Srky Boy, Tvrtko I, uruk, vathra, voja64, W123, wizzardone, wolf431, 1107