Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.05.2013, 21:12
Новичок на форуме
Отправить личное сообщение для irishman Посмотреть профиль Найти все сообщения от irishman
 
Регистрация: 19.05.2013
Сообщений: 5

AJAX в IE10 скрипт выполняется но не происходит записи в базу
Уважаемые коллеги, столкнулся с вопросом, не работает в ajax в IE В друг. браузерах всё ок...

$(".ok_change").click( function() {
		var name = $("#reg_name").val();
		var fone = $("#reg_fone").val();
		var old_passw = $("#old_passw").val();
		var new_passw = $("#new_passw").val();
		var new_passw_2= $("#new_passw_2").val();
		var comp_name_r= $("#comp_name_r").val();
		var comp_rec= $("#comp_rec").val();
		var add_cont= $("#add_cont").val();
		var xhttp = new  XMLHttpRequest();
		xhttp.onreadystatechange=function(){
			if (xhttp.readyState==1) {
			}
			if (xhttp.readyState==4 && xhttp.status==200) {
				$(".change_err").html(xhttp.responseText);
				if ($(".change_ok").val() == "ok") {
					$(".ok_change").mouseleave(function(){
						$(this).css({"background-color":"#67c347"});
					});
					$(".ok_change").mouseover(function(){
						$(this).css({"background-color":"#67c347"});
					});
					$(".ok_change").css({"background-color":"#67c347"});
					setTimeout(function() {location.reload();}, 1500 );
				}
			}
		}
		var task="/forms/change.php";
		var params = "name="+name+"&fone="+fone+"&old_passw="+old_passw+"&new_passw="+new_passw+"&new_passw_2="+new_passw_2+"&comp_name_r="+comp_name_r+"&comp_rec="+comp_rec+"&add_cont="+add_cont;
		console.log(params);
		xhttp.open("POST",task+"?",true);
		xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhttp.send(params);
	});


<?php
session_start();
mb_internal_encoding("UTF-8");
$mysqli = mysqli_connect("localhost", "root", "root", "exitauto");
	if (mysqli_connect_errno($mysqli)) {
    		echo "Не удалось подключиться к MySQL - Базы запчастей: " . mysqli_connect_error();
	}
mysqli_set_charset($mysqli, 'utf8');
$name = $_POST['name'];
$fone = $_POST['fone'];
$old_passw = $_POST['old_passw'];
$new_passw = $_POST['new_passw'];
$new_passw_2 = $_POST['new_passw_2'];
$comp_name_r = $_POST['comp_name_r'];
$comp_rec= $_POST['comp_rec'];
$add_cont= $_POST['add_cont'];
$sql = "SELECT * FROM `users` WHERE `id` = '".$_SESSION['user_id']."'";
$qr = mysqli_query($mysqli, $sql);
$row = mysqli_fetch_assoc($qr);
if ($new_passw == "") {
	if (mb_strlen($name, 'UTF-8') < 2) {
		echo "<span class=reg_err_text>Вы имя - не менее 2х символов</span>";
	}
	elseif (preg_match("/^(\+?\d+)?\s*(\(\d+\))?[\s-]*([\d-]*)$/", $fone) <> 1) {
		echo "<span class=reg_err_text>Телефон можест состоять только из цифр и знака +</span>";
	}
	elseif ($comp_name_r <> "undefined" and mb_strlen($comp_name_r) < 3) {
		echo "<span class=reg_err_text>Ошибка!</span> Вы не ввели Наименование компании (не менее 3-х символов).";	
	}
	elseif ($comp_rec <> "undefined" and strlen($comp_rec) < 20) {
		echo "<span class=reg_err_text>Ошибка!</span> Вы не ввели реквизиты компании (не менее 20-и символов) Реквизиты нужны для формирования счетов.";
	}
	else {
		$sql = "UPDATE `users` SET  `first_name` = '".$name."', `fone` = '".$fone."', `com_name` = '".$comp_name_r."', `com_rec` = '".$comp_rec."', `com_add` = '".$add_cont."' WHERE `id` = '".$_SESSION['user_id']."'";
		echo "<span style='color:green;'>Успех.</span> Данные сохранены, страница будет обновлена. <input type=hidden class=change_ok value=ok>";
		mysqli_query($mysqli, $sql);
		$_SESSION['user_firstname'] = $name;
	}
}
else {
	if (mb_strlen($name, 'UTF-8') < 2) {
		echo "<span class=reg_err_text>Вы имя - не менее 2х символов</span>";
	}
	elseif (preg_match("/^(\+?\d+)?\s*(\(\d+\))?[\s-]*([\d-]*)$/", $fone) <> 1) {
		echo "<span class=reg_err_text>Телефон можест состоять только из цифр и знака +</span>";
	}
	elseif ($comp_name_r <> "undefined" and mb_strlen($comp_name_r) < 3) {
		echo "<span class=reg_err_text>Ошибка!</span> Вы не ввели Наименование компании (не менее 3-х символов).";	
	}
	elseif ($comp_rec <> "undefined" and strlen($comp_rec) < 20) {
		echo "<span class=reg_err_text>Ошибка!</span> Вы не ввели реквизиты компании (не менее 20-и символов) Реквизиты нужны для формирования счетов.";
	}
	elseif ($old_passw <> $row['password']) {
		echo "<span class=reg_err_text>Старый пароль введён не верно</span>";
	}
	elseif (strlen($new_passw) < 7) {
	echo "<span class=reg_err_text>Ошибка!</span>Новый пароль должен быть не меннее 7-и символов в длинну";
	}
	elseif (preg_match("/^[a-zA-Z0-9_\-.]+$/", $new_passw) <> 1) {
		echo "<span class=reg_err_text>Ошибка!</span> Новый пароль должен состоять только из латинских строчных и заглавных букв и цифр!";
	}
	elseif ($new_passw <> $new_passw_2) {
		echo "<span class=reg_err_text>Ошибка!</span> Новые пароли не совпадают";
	}
	else {
		$sql = "UPDATE `users` SET `password` = '".$new_passw."', `first_name` = '".$name."', `fone` = '".$fone."', `com_name` = '".$comp_name_r."', `com_rec` = '".$comp_rec."', `com_add` = '".$add_cont."' WHERE `id` = '".$_SESSION['user_id']."'";
		echo "<span style='color:green;'>Успех.</span> Данные сохранены, страница будет обновлена. <input type=hidden class=change_ok value=ok>";
		mysqli_query($mysqli, $sql);
		$_SESSION['user_firstname'] = $name;
	}
}
?>


В чём может быть проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 19.05.2013, 21:14
Новичок на форуме
Отправить личное сообщение для irishman Посмотреть профиль Найти все сообщения от irishman
 
Регистрация: 19.05.2013
Сообщений: 5

Может из за console.log()?
Ответить с цитированием
  #3 (permalink)  
Старый 20.05.2013, 10:05
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

$.post('/forms/change.php', { name = 'blablabla"; DROP DATABASE exitauto;' }, function () { alert ('^.^'); });

Ответить с цитированием
  #4 (permalink)  
Старый 21.05.2013, 01:44
Новичок на форуме
Отправить личное сообщение для irishman Посмотреть профиль Найти все сообщения от irishman
 
Регистрация: 19.05.2013
Сообщений: 5

Прошу прощения, сразу не разобрался, запись в базу выполняется, но оказалось, что в IE при работе с <input> с предустановленным Value=блабла, Jquery.val(); не ловит илзменение значения input.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ajax чат проблема с записью сообщения в базу данных mysql. Niksik AJAX и COMET 4 15.01.2012 14:04
Нужен такой скрипт AJAX plavv AJAX и COMET 4 17.06.2011 13:04
Скрипт ajax чата seoabcd Общие вопросы Javascript 2 20.02.2011 18:39
Ajax запрос из класса, прокомментируйте плииз скрипт sav Ваши сайты и скрипты 0 04.06.2010 13:11
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12