Създаване на форма за абониране

Gamerz

Registered
Някой може ли да ми даде код за абониране. Той трябва да е съвсем елементарен. Да си въвеждам мейла вътре и когато излезе нещо от някоя конкретна категория, аз да получавам имейл с линк и някакъв текс.

Благодаря!
 
Направих си формата за абониране, а някой може ли да ми каже сега какви полета трябва да създам в базата данни и т.н.
 
Ако нямаш система с която разпращаш мейли, а ползваш MS Office не ти трябва база данни - може да си ги съхраняваш в CSV и преди изпращането да ги теглиш и да актуализирш шийта с адреси. Аз лично бих си написал нещо такова:

PHP:
file_put_contents('newsletter.csv',"$mail\t$name\t".date('Y-m-d H:i:s')."\n",FILE_APPEND);
mail('mymail@mydomain.tld',"New subscription","New subscription arrived from $name with e-mail $mail");

което ще пълни newsletter.csv и ще ми праща мейл с новия абонат. Естествено добре е да провериш преди това дали този абонат не ти е абонат вече.

Проверката при положение че очакваш под 10000 абоната можеш да я направиш така:
PHP:
$subscribers = file_get_contents('newsletter.csv');
if (strpos($subscribers,$mail)!==false) {
  //abonament
} else {
  echo 'You are already subscriber. Thank you!';
}
 
Нямам много познания в областта на php, затова ако ми направиш кода ще съм много благодарен, естествено ако не си много зает.

HTML:
<link href="subscribe.css" rel="stylesheet" />
<div id="hpSignUp">
	<form method="post" name="hpEmSubscrForm" action="/contact/signup" id="hpEmSubscrForm">
		<input type="hidden" value="info" name="groups">		

			<p id="hpEmSubscrForm-p">
				
			</p>
			<p>
				<label for="hpEmSubscrForm-first" style="display: none;">Име</label>
				<input type="text" size="30" value="" id="hpEmSubscrForm-first" name="first_name" class="validate[required] hpEmSubscrForm-inactive">
			</p>
			<p>
				<label for="hpEmSubscrForm-last" style="display: none;">Фамилия</label>
				<input type="text" size="30" value="" id="hpEmSubscrForm-last" name="last_name" class="validate[required] hpEmSubscrForm-inactive">
			</p>
			<p>
				<label for="hpEmSubscrForm-email" style="display: none;">Имейл</label>
				<input type="text" size="30" value="" id="hpEmSubscrForm-email" name="email_address" class="validate[required,custom[email]] hpEmSubscrForm-inactive">
			</p>
			<p class="send">
				<button id="hpEmSubscrForm-submit" title="Click Here to Register!" type="submit">АБОНИРАЙ СЕ</button>
			</p>
	
	</form>
</div>
 
Ок, трябва да сложиш това в скрипта, който ти обработва формуляра. След като се събмитне ще имаш файл newsletter. csv там където е скрипта. Виждам че в самата форма обработката се извършва от /contact/signup/index.php, но може в javascripta, който валидира да има друг адрес, така че изследвай къде точно се обработва формуляра. Във функцията mail() смени mymail@mydomain.tld с адреса на който искаш да получаваш известията.

Между другото сравнително читава и проста система за newsletter можеш да намериш на http://www.bestfreewaredownload.com/freeware/t-free-phpkode-newsletter-x-freeware-uzzcvvaj.html . В нея има и автоматично генериране на формуляр за сайта ти.

PHP:
$first_name = (isset($_REQUEST['first_name'])) ? addslashes($_REQUEST['first_name']) : '';
$last_name = (isset($_REQUEST['last_name'])) ? addslashes($_REQUEST['last_name']) : '';
$mail = (isset($_REQUEST['email_address'])) ? addslashes($_REQUEST['email_address']) : '';
$subscribers = (file_exists('newsletter.csv')) ? file_get_contents('newsletter.csv') : '';
if (strpos($subscribers,$mail)!==false) { // If not already in database 
	file_put_contents('newsletter.csv',"$mail\t$name\t".date('Y-m-d H:i:s')."\n",FILE_APPEND);
	mail('mymail@mydomain.tld',"New subscription","New subscription arrived from $name with e-mail $mail");
}
 

Back
Горе