ограничаване на възрастта за регистриране с php

prima08

Registered
Е сайта си трябва да имам форма за регистрация на участници във фестивала. Но могат да участват единствено деца, които имат навършени 15 години или ще ги навършат до или на 16-ти юли 2011г. или нямат навършени 20 години на тази дата.Как да направя такъв скрипт, който да ми проверява за тези 2 условия и ако са изпълнени да изпрати формата за регистрация.
 
Имаш ли вече изградена форма за регистрация ? Ако "Да" пусни кода и тук . А проверката става лесно с "if" на "value" input полето примерно ...
 
Код:
<?php
	
	#prisvoqvane na stoinosti ot formulqr
	$self = $_SERVER['PHP_SELF'];
	$ime = $_POST['ime'];
	$prezime = $_POST['prezime'];
	$grad = $_POST['grad'];
	$adress = $_POST['adress'];
	$telefon = $_POST['gsm'];
	$skype = $_POST['skype'];
	$rodime = $_POST['rodime'];
	$rodtel = $_POST['rodtel'];
	$familia = $_POST['familia'];
	$email = $_POST['email'];
	$rabotilnica = $_POST['rabotilnica'];
	$palatka = $_POST['palatka'];
	$izprateno = $_POST['izprateno'];
	$gsm = $_POST['gsm'];
	$uchilishte = $_POST['uchilishte'];
	$den = $_POST['den'];
	$mesec = $_POST['mesec'];
	$godina = $_POST['godina'];
	
	
	$form = "<form action=\"$self\" method=\"post\">
	<table width=\"350px\" height=\"auto\" border=\"0\" cellpadding=\"2\" cellspacing=\"2\" valign=\"top\" align=\"center\">
	  <tr>
	     <td>Име:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"ime\" size=\"25\"></td></tr>
	  <tr><td>Презиме:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"prezime\" size=\"25\"></td></tr>
	  <tr><td>Фамилия:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"familia\" size=\"25\"></td></tr>
	  <tr><td valign=\"top\">Роден през:<font color=\"red\">*</font></td><td>
	  ден:<input type=\"text\" name='den' size=\"2\">
	  месец:<input type=\"text\" name='mesec' size=\"2\"><br>
	  година:<input type=\"text\" name='godina' size=\"4\">
	  <tr><td>Email:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"email\" size=\"25\"></td></tr>
	  <tr><td>Град:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"grad\" size=\"25\"></td></tr>
	  <tr><td>Училище:</td><td><input type=\"text\" name=\"uchilishte\" size=\"25\"></td></tr>
	  <tr><td>Адрес:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"adress\" size=\"25\"></td></tr>
	  <tr><td>Мобилен телефон:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"gsm\" size=\"25\"></td></tr>
	  <tr><td>skype:</td><td><input type=\"text\" name=\"skype\" size=\"25\"></td></tr>
	  <tr><td>Трите имена на един от родителите:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"rodime\" size=\"25\"></td></tr>
	  <tr><td>Телефон на родител:<font color=\"red\">*</font></td><td><input type=\"text\" name=\"rodtel\" size=\"25\"></td></tr>
	  <tr><td>Палатка:<font color=\"red\">*</font></td><td>
	  <input type='radio' name=\"palatka\" value=\"da\">ДА, ще съм на палатка<br>
	  <input type='radio' name=\"palatka\" value=\"ne\">НЕ, няма да съм</td></tr>
	  <tr><td>Работилница:<font color=\"red\">*</font></td><td>
	  <select name='rabotilnica'>
	  <option value=\"\">Избери си работилница</option>
	  <option value=\"китара\">Китара</option>
	  <option value=\"бас китара\">Бас китара</option>
                   <option value=\"барабани\"> Барабани</option>
	  <option value=\"пиано\">Пиано</option>
	  <option value=\"хип-хоп\">Хип-хоп</option>
	  <option value=\"dj\">DJ</option>
	  <option value=\"beatbox\">Beatbox</option>
	  <option value=\"авторска музика\">Авторска музика</option>
	  <option value=\"рисуване\">Рисуване</option>
	  <option value=\"фотография\">Фотография</option>
	  <option value=\"видео\">Видео</option>
	  <option value=\"бижута\">Бижута</option>
	  <option value=\"инсталации и играчки\">Инсталации и играчки</option>
	  <option value=\"графити\">Графити</option>
	  <option value=\"модерен танц\">Модерен танц</option>
	  <option value=\"театър\">Театър</option>
	  <option value=\"фрийрън\">Фрийрън</option>
	  <option value=\"творческо писане\">Творческо писане</option>
	  </select></td></tr>
	  <tr><td><br>
	  <input type='submit' name=\"izprateno\" value='Изпрати регистрацията'>
	  </td></tr>
	  </table>
	</form>";
	
	if ($izprateno)
	  { $val = true;
	  
	  
	    //proverki za gre6ki
	 include ('greshkareg.php');
 
 	 
	  }
	  
	  $kandidat = "Имена:";
	  $kandidat.= $ime.$prezime.$familia;
	  $kandidat.= "<br>";
	  $kandidat.= "--Роден през:";
	  $kandidat.= $den;
	  $kandidat.= ".";
	  $kandidat.= $mesec;
	  $kandidat.= ".";
	  $kandidat.= $godina;
	  $kandidat.= "година";
	  	  $kandidat.= "<br>";
	  $kandidat.="--Град:";
	  $kandidat.= $grad;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--Адрес:";
	  $kandidat.= $adress;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--E-mail:";
	  $kandidat.= $email;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--Мобилен телефон:";
	  $kandidat.= $gsm;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--Учи в училище";
	  $kandidat.= $uchilishte;
	  $kandidat.= "в";
	  $kandidat.= $klas;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--skype:";
	  $kandidat.= $skype;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--Трите имена на един от родителите:";
	  $kandidat.= $rodime;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--Мобилен телефон на родителя:";
	  $kandidat.= $rodtel;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--Палатка:";
	  $kandidat.= $palatka;
	  	  $kandidat.= "<br>";
	  $kandidat.= "--Работилница:*";
	  $kandidat.= $rabotilnica;
	  
	  
	  
	  if($val != true)
	  { echo($greshka.$form);}
	  else
	  {
	  $do = "mihail.stefanov@gmail.com";
	  $tema = "Регистрация на ";
	  $tema.= $ime.$prezime.$familia;
	  $zaqvkata = $kandidat;
	  
	  $zagl = "MIME-Version: 1.0\r\n";
	  $zagl.="Content-type: text/html;";
	  $zagl.="charset=\"windows-1251\"\r\n";
	  
	  if(mail($do, $tema, $zaqvkata, $zagl))
	  { echo ("Благодарим ви за регистрацията");}
	  
	  echo ($kandidat);
	  
	  }
	  
	
	
	
	?>
 
Може със сесия преди да излезе страницата за регистрация , както в phpbb2 има: "Съгласявам се с условията и възрастта ми е над % години " или да се добави поле "Години: " във формата за регистрация и там да става проверката ? Според мен е по-добре със сесия да стане , защото ще се използва само един път предполагам при регистрация ?

Нещо такова :

Преди страницата за регистрация :
Примерно verify.php :
PHP:
<?php
session_start();
if ($_REQUEST["over18"] == 1) {
    $_SESSION["over18"] = 1;
    header("Location: " . $_REQUEST["redirect"]);
}
?>
<html>
    <head>
        <title>Проверка за годините:</title>
    </head>
    <body>
        <a href="verify.php?over18=1&redirect=<?=$redirect?>">Моята възраст е над 18 години</a> | 
        <a href="http://www.да отива някъде на индекса примерно/">Моята възраст е под 18 години</a>
    </body>
</html>


а на страницата за регистрация :
PHP:
<?php
session_start();
if ($_SESSION["over18"] != 1) {
    header("Location: verify.php?redirect=" . $PHP_SELF);
}
?>

Върши ли ти работа този принцип или да го направя с запис на годините в БД ?
 
Само че не се проверява дали имаш 18, а дали до 16-ти юли 2011 ще навършиш 15 години.След това втори път се проверява дали до 16-ти юли ще навършиш 20.Само тези хора между 15 и 20 им е позволено да го използват.
 

Back
Горе