php - na mail sa odosielajú prázdne maily

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
deniszeliezka
Level 1
Level 1
Příspěvky: 80
Registrován: 02 úno 2014 19:18

php - na mail sa odosielajú prázdne maily

Příspěvek od deniszeliezka »

Zdravím,

na mail sa mi z môjho webu posielajú prázdne maily... Kód v súbore:

Kód: Vybrat vše

<? if ( Mail("deniszeliezka@gmail.com", MAIL, $text, "From: " . $mail) )
echo "Mail bol odoslaný! Môžeš sa vráti&#357; spä&#357;.";
else echo "Mail sa nepodarilo odosla&#357;!"; ?>

Predmet ukáže, ale odosielatela a správu nie. Neviete v čom mám chybu?

Predom ďakujem za odpovede.
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: php - na mail sa odosielajú prázdne maily

Příspěvek od CZechBoY »

Zdravím,
nejspíš v proměnných nic není.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
deniszeliezka
Level 1
Level 1
Příspěvky: 80
Registrován: 02 úno 2014 19:18

Re: php - na mail sa odosielajú prázdne maily

Příspěvek od deniszeliezka »

A nemohol by si mi poradiť nejaký iný kód ktorý sa odošle z php formuláru?
IDVert3X

Re: php - na mail sa odosielajú prázdne maily

Příspěvek od IDVert3X »

<form action="?akcia=odosli" method="POST">
...
</form>

[code]<?php
if(isset($_GET['akcia']))
{
if($_GET['akcia'] == "odosli")
{
$subject = $_POST['subject'];
$message = $_POST['message'];
mail('jozko@domena.com', $subject, $message) or die("Hups, mail sa neodoslal, niekde nastala chyba");
}
}
?>[/code]

Skus nieco taketo..
Naposledy upravil(a) IDVert3X dne 20 srp 2019 14:47, celkem upraveno 3 x.
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: php - na mail sa odosielajú prázdne maily

Příspěvek od CZechBoY »

No, ještě by to chtělo kontrolovat jestli je vůbec něco vyplněné...
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IDVert3X

Re: php - na mail sa odosielajú prázdne maily

Příspěvek od IDVert3X »

bol to iba priklad (narychlo spisanmy), podmienky pridat je najemenej...
[code]
if(!empty($message))
{
//dalsia podmienka alebo odoslanie
}
ELSE
{
//co sa vykona, ked nevyplnil spravu
}
[/code]
Naposledy upravil(a) IDVert3X dne 20 srp 2019 14:47, celkem upraveno 3 x.
deniszeliezka
Level 1
Level 1
Příspěvky: 80
Registrován: 02 úno 2014 19:18

Re: php - na mail sa odosielajú prázdne maily

Příspěvek od deniszeliezka »

RedMasterSK píše:<form action="?akcia=odosli" method="POST">
...
</form>

Kód: Vybrat vše

<?php
if(isset($_GET['akcia']))
{
    if($_GET['akcia'] == "odosli")
    {
      $subject = $_POST['subject'];
      $message = $_POST['message'];
      mail('jozko@domena.com', $subject, $message) or die("Hups, mail sa neodoslal, niekde nastala chyba");
    }
}
?>


Skus nieco taketo..


To v CODE ma byt v subore neco.php ?
IDVert3X

Re: php - na mail sa odosielajú prázdne maily

Příspěvek od IDVert3X »

Cele je to jeden subor... priklad subor odosliemail.php, ktory zobrazuje formular a ked sa formular odosle, tak sa odosle na subor odoslimail.php?action=odosli, script zdetekuje poziadavku na odoslanie a nasledne sa vyvola kod na odoslanie mailu. Aby si nepovedal, tu mas cely kod, zabezpec a nadesignuj si ho uz sam...

[code]
<?php

//ked nieje poziadavka na akciu
if(!isset($_GET['action']))
{
//vypiseme formular
echo '
<form action="?akcia=odosli" method="POST">
<input type="text" name="subject" placeholder="Predmet" required>
<textarea name="message" rows="3" placeholder="Sprava" required></textarea>
</form>
';
}
ELSE
{
//ked podmienka neplati, tj. nieco sa ziada, tak overime, ci je to odoslanie
if($_GET['action'] == "odosli")
{
//ked sa podmienka splni, takze sa ziada odoslanie, tak odosleme mail
//ulozime si do premennych informacie z formulara
$subject = $_POST['subject'];
$message = $_POST['message'];
//odosleme spravu... v pripade, ze odoslanie neprebehne, vypiseme, ze nastala chyba
mail('TVOJ_EMAIL', $subject, $message) or die("Hups, mail sa neodoslal, niekde nastala chyba");
//v pripade, ze sa mail odosle, cize sa nam nevyhodila chyba napiseme, ze mail bol odoslany
echo 'Mail uspesne odoslany !';
}
}
?>
[/code]

Je to najprimitivnejsia verzia scriptu, pisal som to na rychlo, je mozne, ze su tam chyby, este si pridaj podmienky na kontrolu, ci boli skutocne vyplnene polia atd.
Naposledy upravil(a) IDVert3X dne 20 srp 2019 14:46, celkem upraveno 3 x.
deniszeliezka
Level 1
Level 1
Příspěvky: 80
Registrován: 02 úno 2014 19:18

Re: php - na mail sa odosielajú prázdne maily

Příspěvek od deniszeliezka »

Ok dik.
Odpovědět

Zpět na „Programování a tvorba webu“