2015-03-26 3 views
-1

Я пытаюсь настроить задание cron, которое отправляет электронное письмо один раз в день еженедельно, из моих знаний о настройке задания cron, задание cron должно выполнять скрипт.как правильно настроить мое задание cron

Так вот что я сделал.

На моей странице cron.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<script type="text/javascript"> 

    window.onload=function(){ 
    window.setTimeout(function() { document.postniid.submit(); }, 0000); 
}; 

</script> 
    <form name="postniid" id="postniid" method="post" action="cron_post.php" > 

     <input name="email" type="hidden" id="inputInsured Name" value="[email protected]" /> 

    </form> 
</body> 
</html> 

Я имею установку форму с электронной почтой по умолчанию, которые будут размещены на cron_post.php, я также сделал эту форму представить OnLoad, потому что я ожидал, что хрон выполнит мою страницу cron.php.

И моя страница cron_post.php:

<?php 
$reply = $_POST['email']; 



    $replysubject = "Auto-Reply: support | kblinsurance.com"; 
    $replyfrom = "From: [email protected]\r\n"; 
    $replymessage .= "Testing Cron Job.\r\n\r\n"; 




    mail($reply,$replysubject, $replymessage, $replyfrom); 
    ?> 

, который отправляет электронную почту.

Он работает, когда я тестирую из браузера, но не выполняет, когда я установил команду для выполнения моего cron.

30 14 * * 1-5 php /home5/whitech3/public_html/cron/cron.php 

Почему это так?

+1

'onload' - это функция Javascript, которая в любом случае не будет выполнена в скрипте PHP. Почему бы вам не попробовать запустить 'cron_post.php' напрямую с заданным аргументом? – Sugar

+0

пожалуйста, что iv я спросил неправильно, чтобы оправдать большие пальцы в моем вопросе, это сумасшествие –

+0

ok спасибо, я попробую использовать onload с помощью php –

ответ

0

Вы смешиваете клиентский и серверный код. Пожалуйста, объясните разницу.

javascript, который вы написали, будет выполнен только в том случае, если страница загружена через браузер. Все ваши задания cron делают прямо сейчас, это рендеринг страницы с формой и некоторым javascript-кодом в ней, но фактически не выполняет javascript (это работа браузера).

Обратите внимание, что вам не нужно полагаться на POST для выполнения вашего скрипта. На странице cron.php вы можете просто использовать код cron_post.php (и заменить $_POST[] на фактический адрес электронной почты).

+0

Вы понимаете, что с помощью * Пожалуйста, Google для разницы * вы оправдываете все нисходящие вопросы на вопрос, поскольку не хватает усилий для исследования ;-) – jeroen

+0

спасибо за всех ур комменты ребята –

+0

Как он должен знать, что есть разница (или даже имена понятий), если никто не говорит ему? Ни в коем случае ничто не мешает, по крайней мере, сказать ему, что есть разница в комментарии. Это не полезно вообще. – thomasb

Смежные вопросы