Разместване при добавяне в базата данни

IvayloGoranov

Registered
Здравейте, ето така добавям нещата, които искам в базата данни:
Код:
$ime = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['ime']))); # Име на подателя
			$telefon = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['telefon']))); # Телефон на потребителя
			$grad = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['grad']))); # Населено място
			$email = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['email']))); # Е-мейл адрес
			$samia_tekst = mysql_real_escape_string(htmlspecialchars(addslashes($_POST['samia_tekst']))); # Самото съобщение


if( isset( $_POST['dobavi'] ) ) {
					if( empty( $_POST['ime'] ) ) {
						print 'Моля, попълнете име!<br />';
					}
					if( empty( $_POST['grad'] ) ) {
						print 'Моля изберете град!<br />';
					}
					
					if( empty( $_POST['email'] ) ) {
						print 'Моля, въведете е-мейл адрес!<br />'; 
					}
					if( empty( $_POST['samia_tekst'] ) ) {
						print 'Липсва съобщение!<br />';
					}
					
					if(!eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$", $_POST['email']) and !empty($_POST['email'])) { 
					 print 'Въведеният и-мейл адрес е невалиден!<br/>';
					}
					if(md5($_POST['randimage_txt']) != $_SESSION['image_random_value']){ 
						print 'Въведеният код е невалиден!<br/>';
					}
				else {
					$zapis = "INSERT INTO `kontakt_forma` (`ime`,`grad`,`email`,`samia_tekst`,`data`,`ip`) VALUES ('$ime','$grad','$email','$samia_tekst','$data','$ip')";
					$rezultat = mysql_query( $zapis ) or die ( mysql_error() );
					if( $rezultat == true ) {
Но когато добавя $telefon всичко се размества
телефон се записва в Email , а Email се записва в samia_tekst и така, а когато е без $telefon всичко е наред, но ми трябва и телефон да може да вписва потребителя, как ?
 
Да не си обаркал последователността на променливите трябва да същата като последователността на полетата в базата данни

Код:
mysql_query=('INSERT INTO table (`username` , `password` , `e-mail` , `adress` , `phone`) 
                       VALUE ( "'$username'" , "'$password'" , "'$email'" , "'$adres'" , "'$phone'")' );
Пример ето тази последователност.
 
Meniak каза:
Да не си обаркал последователността на променливите трябва да същата като последователността на полетата в базата данни

Код:
mysql_query=('INSERT INTO table (`username` , `password` , `e-mail` , `adress` , `phone`) 
                       VALUE ( "'$username'" , "'$password'" , "'$email'" , "'$adres'" , "'$phone'")' );
Пример ето тази последователност.
Мислиш ли, че може да е от това ?
 
Как го добавяш този телефон? Само като променлива във values() или добавяш и колонката след insert into `kontakt_forma` (..., ?)

P.S. - това е много добра презентация за SQL инжекциите. Може да ти се стори интересна. Обърни внимание обаче на стъпки 16-21.
 

Back
Горе