регистрационната форма не е както трябва

dunix

Registered
Това ми е SQL
Код:
CREATE TABLE members (
		member_id int(11) unsigned NOT NULL auto_increment,
		group_id int(5) unsigned NOT NULL default 0,
		username varchar(32) NOT NULL default '', //име
		password varchar(32) NOT NULL default '', //парола
		email varchar(64) NOT NULL default '', //имейл
		register tinyint(1) unsigned NOT NULL default 1, //дата на регистриране
		ipaddress varchar(16) NOT NULL default 'no login', //ip адрен на последно влизане
		age varchar(32) NOT NULL default '', //години
		city varchar(32) NOT NULL default '', //град
		gender varchar(32) NOT NULL default '', //пол
		PRIMARY KEY  (member_id),
		KEY group_id (group_id),
		KEY username (username)
		)

register.php:
Код:
<?php
ob_start();
$conn = mysql_connect("localhost","root","12345");
mysql_select_db(dandl) or die(mysql_error());

$date = date('D, M, Y'); 
if ($_POST[register]) {
	$username = $_POST[username];
	$password = $_POST[pass];
	$cpassword = $_POST[cpass];
	$email = $_POST[email];
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
	echo "Има непопълнение полета.";
		}else{
if($password != $cpassword) {
	echo "Паролите не съвпадат";
		}else{
			$password = md5($password);
			$checkname = mysql_query("SELECT username FROM users WHERE username='$username'");
			$checkname= mysql_num_rows($checkname);
			$checkemail = mysql_query("SELECT email FROM users WHERE email='$email'");
			$checkemail = mysql_num_rows($checkemail);
		if(strlen($pass)<4){echo "паролата трябва да е по дълга от 4 символа!" ;exit();}

if ($checkemail>0|$checkname>0) {
	echo "Потребителското име или имейл са заети";
		}else{
			$username = htmlspecialchars($username);
			$password = htmlspecialchars($password);
			$email = htmlspecialchars($email);

$query = mysql_query("INSERT INTO users (username, password, email) VALUES('$username','$password','$email')");
echo "Рашата регисрация е успешна";
}
}
}
}
else
{
echo ("
<center>
<form method='POST'>
Потребителско име: <input type='text' size='15' maxlength='25' name='username'><br/>
Парола: <input type='password' size='15' maxlength='25' name='pass'><br />
Повторете паролата: <input type='password' size='15' maxlength='25' name='cpass'><br />
Email адрес: <input type='text' size='15' maxlength='25' name='emai1'><br /><br /><br />
Аз съм 							
	<select name='gender1'><option value='1' selected='selected'>мъж</option><option value='2'>жена</option></select><br />

Години	
	<select name='age_month'><option value='1'>Януари</option><option value='2'>Февруари</option><option value='3'>Март</option><option value='4'>Април</option><option value='5'>Май</option><option value='6'>Юни</option><option value='7'>Юли</option><option value='8'>Август</option><option value='9'>Септември</option><option value='10'>Октомври</option><option value='11'>Ноември</option><option value='12'>Декември</option></select>
	<select name='age_day'><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='11'>11</option><option value='12'>12</option><option value='13'>13</option><option value='14'>14</option><option value='15'>15</option><option value='16'>16</option><option value='17'>17</option><option value='18'>18</option><option value='19'>19</option><option value='20'>20</option><option value='21'>21</option><option value='22'>22</option><option value='23'>23</option><option value='24'>24</option><option value='25'>25</option><option value='26'>26</option><option value='27'>27</option><option value='28'>28</option><option value='29'>29</option><option value='30'>30</option><option value='31'>31</option></select>
	<select name='age_year'><option value='1997'>1997</option><option value='1996'>1996</option><option value='1995'>1995</option><option value='1994'>1994</option><option value='1993'>1993</option><option value='1992'>1992</option><option value='1991'>1991</option><option value='1990'>1990</option><option value='1989'>1989</option><option value='1988'>1988</option><option value='1987'>1987</option><option value='1986'>1986</option><option value='1985'>1985</option><option value='1984'>1984</option><option value='1983'>1983</option><option value='1982'>1982</option><option value='1981'>1981</option><option value='1980'>1980</option><option value='1979'>1979</option><option value='1978'>1978</option><option value='1977'>1977</option><option value='1976'>1976</option></select><br /><br />
Град																			
	<select name='country'><option value='486' selected='selected'>София</option><option value='771'>Варна</option><option value='772'>Бургас</option><option value='756'>Пловдив</option><option value='773'>Русе</option></select><br/>
	<INPUT NAME='form'  TYPE='checkbox' CHECKED> Прочетох и се съгласих с <a target='_blank' href='#'>правилата на сайта</a><br />
<input type='hidden' name='date' value='$date'>
<input name=\"register\" type=\"submit\" value=\"Регистрирай се\">
</form><br />
</center>
");
}
?>

Сега като пробвам да регистрирам потребител ми казва "Има непопълнение полета." Проверих проверката за полетата
Код:
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL)
и гледам че всичко е попълнено.
Ако може да ме светнете как да направя и запис на останалите неща.
Вмомента би трябвало (след успешна регистрация) да записва в базата данни "потребителско име", "парола", "Имейл" и "дата на регистриране".
Аз съм въвел и други полета които трябва да се записват - "пол", "години" и "град". Също така не знам как да направя и проверката за "съгласен съм с правилата" и "не съм съгласен с тях" (чекбокса), ако има отметка да приема регистрацията, а като я няма отметката да казва - не сте приели правилата.
Също така може ли да ми кажете как да съкратя кода за годините, месец и дата на раждане... би трябвало да има и друг начин ?
 
Пробвах по двата начина

Код:
 if($username==""||$password==""||$cpassword==""||$email=="")
и

Код:
if($username==NULL || $password==NULL || $cpassword==NULL || $email==NULL)

пак ми дава "Има непопълнение полета."
 
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\site\register.php on line 20

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\site\register.php on line 22
паролата трябва да е по дълга от 4 символа!

ми дава сега...
там е

20: $
Код:
$checkname= mysql_num_rows($checkname);
22:
Код:
$checkemail = mysql_num_rows($checkemail);
 
не съм сигурен дали от там идва грешката но пробвай този ред който ти си си добавил да махнеш ексит и да затвориш скобата долу където са затворени другите if(strlen($pass)<4){echo "паролата трябва да е по дълга от 4 символа!" ;exit();}

надявам се си разбрал какво имам предвид
 
Ей сега ще направя нова форма за регистрация, че тая я копирах от сайта и добавих нуждите ми, но сега като чета книжката която съм си купил гледам, че и базата данни не ми е както трябва... та като оправя първо базата ще гледам регистрационната форма.
Благодаря ви!
 

Back
Горе