Проблем с вписване на стойност

kalpazan4o

Registered
Здравейте, опитвам се да направя една форма за регистрация към сайта ми. Формата има доста полета и всички се записват успешно в базата данни, освен полето за град "city" - винаги остава празно. Блъскам си главата над това половин ден и не мога да видя къде точно е проблема.

Таблицата в базата данни е със следната структура:
id [int10] [autoinc]
firstname [varchar 25]
lastname [varchar 25]
email [varchar 50]
parola [varchar80]
country [int 3]
state [int 10]
city [int 10]
gender [tinyint 1]
bithdate [date]
nickname [varchar 25]
deviz [varchar 100]
acctype [varchar 15]

Таблицата с полетата за градовете е със следната структура:
city_id [int 9] [autoinc]
city_name [varchar 50]
city_country [int 3]
city_state [int 3]

Формата за регистрация съдържа и календар (писан на джава и php, взет е готов). С него календар се избира датата на раждане.

Така, ето и самата форма:

Код:
if($_POST['Submit'])
{ 
$theDate = isset($_REQUEST["date1"]) ? $_REQUEST["date1"] : "";
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$parola = $_POST['parola'];
$parola = md5($parola);
$country = $_POST['country'];
$state = $_POST['state'];
$city = $_POST['city'];
$gender = $_POST['gender'];
$birthdate = $theDate;
$nickname = $_POST['nickname'];
$deviz = $_POST['deviz'];
$acctype = "5";
$ckeck = mysql_fetch_array(mysql_query("SELECT id FROM members WHERE email='$email'"));//проверявам за потребител със същото име 
if($ckeck)//ако има такъв 
{ 
die('Има вече регистриран потребител с този email адрес.');// край на изпълнението
} 
$ok = mysql_query("INSERT INTO members VALUES ('', '$firstname', '$lastname', '$email', '$parola', '$country', '$state', '$city', '$gender', '$birthdate', '$nickname', '$deviz', '$acctype')");// ако всичко е наред добавям записа в дб-то 
if($ok)// ако няма грешки 
{ 
echo "Вашият профил бе създаден успешно!<br> Можете да влезете в профила си от <a href='?go=members&get=login' target='_parent'>тук</a>";
} 
else
{ 
echo "Грешка! Моля, опитайте отново.";
}
} 
else 
{//ако записа не е приет показвам формата за регистрация
?>
<script>
function getXMLHTTP() { //fuction to return the xml http object
		var xmlhttp=false;	
		try{
			xmlhttp=new XMLHttpRequest();
		}
		catch(e)	{		
			try{			
				xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				try{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(e1){
					xmlhttp=false;
				}
			}
		}
		 	
		return xmlhttp;
	}
	
	
	
	function getState(strURL) {		
		
		var req = getXMLHTTP();
		
		if (req) {
			
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					// only if "OK"
					if (req.status == 200) {						
						document.getElementById('citydiv').innerHTML=req.responseText;						
					} else {
						alert("There was a problem while using XMLHTTP:\n" + req.statusText);
					}
				}				
			}			
			req.open("GET", strURL, true);
			req.send(null);
		}
				
	}
</script>
<?php
require_once('inc/calendar/classes/tc_calendar.php');
?>
<link href="inc/calendar/calendar.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="inc/calendar/calendar.js"></script>

<style type="text/css">

pre { font-family: "verdana"; font-size: 10px; background-color: #FFFFCC; padding: 5px 5px 5px 5px; }
pre .comment { color: #008000; }
pre .builtin { color:#FF0000;  }
</style>
<?php 
echo "
<h2 align=\"center\">Регистрация на нов потребител</h2>

<table align=\"center\">
	<tr><form action=\"?go=members&get=register\" method=\"post\">
		<td>Собствено име *</td>
		<td><input type=\"text\" size=\"25\" name=\"firstname\" id=\"firstname\"></td>
	</tr>
	<tr>
		<td>Фамилия *</td>
		<td><input type=\"text\" size=\"25\" name=\"lastname\" id=\"lastname\"></td>
	</tr>
	<tr>
		<td>E-mail адрес *</td>
		<td><input type=\"text\" size=\"25\" name=\"email\" id=\"email\"></td>
	</tr>
	<tr>
		<td>Парола *</td>
		<td><input type=\"password\" size=\"25\" name=\"parola\" id=\"parola\"></td>
	</tr>
	<tr>
		<td>Държава *</td>
		<td><input type=\"hidden\" value=\"1\" name=\"country\" id=\"country\">
			България</td>
	</tr>
	<tr>";
?>

		<td>Област:</td>
		<td><select name="state" onChange="getState('inc/city.php?state_id='+this.value)">
				<OPTION>Моля изберете</OPTION>
<?php 
$query = "SELECT * FROM states WHERE state_country='1' order by state_name";
$results = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($results)) {
	extract($row);
	echo "<OPTION value=\"$state_id\">$state_name</OPTION>";
}			
echo "
		</select></td>
	</tr>
	<tr>
		<td>Град</td>
		<td><div id=\"citydiv\"><select name=\"city\"><option></option></select></div>
      	</td>
	</tr>

	<tr>
		<td>Пол </td>
		<td><SELECT name=\"gender\">
				<OPTION value=\"1\">Мъжки</OPTION>
				<OPTION value=\"2\">Женски</OPTION>
				<OPTION value=\"3\">Не знам</OPTION>
			</SELECT>
		</td>
	</tr>
	<tr>
		<td>Дата на раждане</td>
		<td><input type=\"hidden\" value=\"\" name=\"birthdate\" id=\"birthdate\"><input type=\"hidden\" name=\"nickname\" value=\"\" id=\"nickname\">
		<input type=\"hidden\" name=\"deviz\" value=\"\" id=\"deviz\">
		<input type=\"hidden\" name=\"acctype\" value=\"5\" id=\"acctype\">"; $myCalendar = new tc_calendar("date1", true);
	  $myCalendar->setIcon("inc/calendar/images/iconCalendar.gif");
	  $myCalendar->setDate(date('d'), date('m'), date('Y'));
	  $myCalendar->setPath("inc/calendar/");
	  $myCalendar->setYearInterval(1960, 2015);
	  $myCalendar->dateAllow('1900-01-01', '2000-03-01');
	  //$myCalendar->setHeight(350);	  
	  //$myCalendar->autoSubmit(true, "form1");	  
	  $myCalendar->setSpecificDate(array("2011-04-01", "2011-04-13", "2011-04-25"), 0, 'month');
	  $myCalendar->writeScript();
	  echo "
	<tr>
		<td colspan=\"2\">
		</td>
	</tr>
	<tr>
		<td colspan=\"2\" align=\"center\"><br><input type=\"submit\" name=\"Submit\" value=\"Регистрирам се\">
		</td>
	</tr></form>
</table>
            <br><br> 
"; 
}

Както може би забелязохте, стойностите за градовете се попълват динамично от външен файл, според избраната стойност за област. Файла работи коректно и кода е с вложени стойности за всяка опция (<OPTION value="1">Grad</OPTION>. Така че там всичко е наред.

Благодаря ви предварително
 

Back
Горе