Всем привет есть форма регистрации Код (Text): <form action="#" method="post"> <label>ФИО:</label> <input name="nam" type="text" size="50" id="nam"> <span></span><br> <label>Логин:</label> <input name="login" type="text" size="50" id="login"> <span></span><br> <label>E-mail:</label> <input name="email" type="text" size="50" id="email"> <span></span><br> <label>Пароль:</label> <input name="password" type="password" size="50" id="password"> <span></span><br> <label>Подтвердите пароль:</label> <input name="password2" type="password" size="50" id="password2"> <span></span><br><br> <input type="submit" name="submit" value="Зарегистрироваться" id="submit" disabled><br><br> <center>Все поля, обязательные для заполнения.</center> </form> js обработчик Код (Text): <style> .inputRed{ border:1px solid #ff4040; background: #ffcece; } .inputGreen{ border:1px solid #83c954; background: #e8ffce; } </style> <script type="text/javascript"> var nam, login, email, password, password2, namStat, loginStat, emailStat, passwordStat, password2Stat; $(function() { //ФИО $("#nam").change(function(){ nam = $("#nam").val(); var expNam = /^[а-яёА-ЯЁa-zA-Z0-9._ ]+$/g; var resNam = nam.search(expNam); if(resNam == -1){ $("#nam").removeClass().addClass("inputRed"); namStat = 0; buttonOnAndOff(); }else{ $("#nam").removeClass().addClass("inputGreen"); namStat = 1; buttonOnAndOff(); } }); $("#nam").keyup(function(){ $("#nam").removeClass(); $("#nam").next().text(""); }); //Логин $("#login").change(function(){ login = $("#login").val(); var expLogin = /^[a-zA-Z0-9._]+$/g; var resLogin = login.search(expLogin); if(resLogin == -1){ $("#login").removeClass().addClass("inputRed"); loginStat = 0; buttonOnAndOff(); }else{ $.ajax({ url: "rez2.php", type: "POST", data: "login=" + login, cache: false, success: function(response){ if(response == "no"){ $("#login").removeClass().addClass("inputRed"); }else{ $("#login").removeClass().addClass("inputGreen"); $("#login").next().text(""); } } }); loginStat = 1; buttonOnAndOff(); } }); $("#login").keyup(function(){ $("#login").removeClass(); $("#login").next().text(""); }); // Email $("#email").change(function(){ email = $("#email").val(); var expEmail = /[-0-9a-z_]+@[-0-9a-z_]+\.[a-z]{2,6}/i; var resEmail = email.search(expEmail); if(resEmail == -1){ $("#email").removeClass().addClass("inputRed"); emailStat = 0; buttonOnAndOff(); }else{ $.ajax({ url: "rez2.php", type: "POST", data: "email=" + email, cache: false, success: function(response){ if(response == "no"){ $("#email").removeClass().addClass("inputRed"); }else{ $("#email").removeClass().addClass("inputGreen"); $("#email").next().text(""); } } }); emailStat = 1; buttonOnAndOff(); } }); $("#email").keyup(function(){ $("#email").removeClass(); $("#email").next().text(""); }); //Пароль $("#password").change(function(){ password = $("#password").val(); if(password.length < 6){ $("#password").removeClass().addClass("inputRed"); passwordStat = 0; buttonOnAndOff(); }else{ $("#password").removeClass().addClass("inputGreen"); $("#password").next().text(""); passwordStat = 1; buttonOnAndOff(); } }); $("#password").keyup(function(){ $("#password").removeClass(); $("#password").next().text(""); }); //Проверка пароля $("#password2").change(function(){ if(password2 != password){ $("#password2").removeClass().addClass("inputRed"); password2Stat = 0; buttonOnAndOff(); }else{ $("#password2").removeClass().addClass("inputGreen"); $("#password2").next().text(""); } }); $("#password2").keyup(function(){ password2 = $("#password2").val(); if(password2 == password){ password2Stat = 1; buttonOnAndOff(); }else{ password2Stat = 0; buttonOnAndOff(); } }); function buttonOnAndOff(){ if(namStat == 1 && emailStat == 1 && passwordStat == 1 && password2Stat == 1 && loginStat == 1){ $("#submit").removeAttr("disabled"); }else{$("#submit").attr("disabled","disabled");} } //Нажата кнопка $("#submit").onsubmit(function(){ //var nam = $("#nam").val(); //var login = $("#login").val(); //var email = $("#email").val(); //var password = $("#password").val(); $.ajax({ type: "POST", url: "rez2.php", data: "data1=$d1&data2=$d2&data3=$d3", // data: {"nam": nam, "login": login, "email": email, "password": password}, cache: false, success: function(response){} }); return false; }); }); </script> файл rez2.php Код (Text): <? $host='localhost'; // имя хоста (уточняется у провайдера) $database='baza'; // имя базы данных, которую вы должны создать $user='root'; // заданное вами имя пользователя, либо определенное провайдером $pswd=''; // заданный вами пароль // подключаемся к MySQL $dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL."); mysql_select_db($database) or die("Не могу подключиться к базе."); //$nam=1; //$login=2; //$email=3; //$password=4; //$result = mysql_query ("INSERT INTO users VALUES ('',$nam,$login,$email,md5($password))"); //if ($result) echo "Книга добавлена в базу данных."; if(isset($_POST['email'])){ $email = $_POST['email']; $str=mysql_result(mysql_query("SELECT COUNT(email) FROM users WHERE email='".$email."'"),0); if($str == 1){ echo "no"; }else{ echo "yes"; } } if(isset($_POST['login'])){ $login = $_POST['login']; $str=mysql_result(mysql_query("SELECT COUNT(login) FROM users WHERE login='".$login."'"),0); if($str == 1){ echo "no"; }else{ echo "yes"; } } if(isset($_POST['submit'])){ $nam=100; $login=200; $email=300; $password=400; $result = mysql_query ("INSERT INTO users VALUES ('',$nam,$login,$email,md5($password))"); if ($result) echo "Книга добавлена в базу данных."; } ?> не могу отправить и обработать форму выручайте проверка полей работает
Копаться в этой коде сложно. Скажи ты смотрел js дебагер на наличие ошибок? еррор лог веб сервера? Если не работает, значит где то ошибка, если есть ошибка значит она есть в логах.
каким js дебагер проверить? Добавлено спустя 1 минуту 37 секунд: упрощаю вопрос форма та же Код (Text): //Нажата кнопка $("#submit").onsubmit(function(){ //var nam = $("#nam").val(); //var login = $("#login").val(); //var email = $("#email").val(); //var password = $("#password").val(); $.ajax({ type: "POST", url: "rez2.php", data: "data1=$d1&data2=$d2&data3=$d3", // data: {"nam": nam, "login": login, "email": email, "password": password}, cache: false, success: function(response){} }); return false; }); что не так в коде
Дебагер - например, вкладка console в фаерфоксовом Firebug. Поставьте в начало функции alert('123'), чтобы понять, вызывается ли функция вообще. Поставьте в success что-нибудь типа console.log(response), чтобы понять, что вам возвращают. Передайте в rez2.php те же данные, но обычным постом, не через ajax, и посмотрите, что он возвращает.
igroc у тебя здесь много кода. Где дебагер js знаешь? В хроме по Ф12 откроется вкладка перейди на console. Есть там ошибка? Пихни в самое начало функции js алерт проверь что функция вызывается.
Значит, эта функция у тебя не вызывается. Пихни в самое начало js-кода, может, у тебя JS вообще отключен?
не получается кнопка <input type="submit" name="submit" value="Зарегистрироваться" id="submit" disabled><br><br> скрипт script type="text/javascript"> //при клике на кнопку $("#submit").submit( function() { //отправляем ( куда , что (имя / значение) , получаем ответ) $.post('rez2.php', { nam: $("#nam").val() } , function(data) { //ответ заносим в див $('#result1').html(data); } ); } ); </script> файл обработки rez2.php if(isset($_POST['submit'])){ $nam=100; $login=200; $email=300; $password=400; $result1 = mysql_query ("INSERT INTO users VALUES ('',$nam,$login,$email,md5($password))"); if ($result1) echo "Книга добавлена в базу данных."; } Добавлено спустя 3 минуты 23 секунды: проверка формы проходит там тоже данные из базы бирутся
if(isset($_POST['submit'])){ Ну естественно, откуда бы ему взяться, если в форму не передается никакой $_POST['submit'], а только nam: $("#nam").val()
непонял опишу что работает есть на форме логин <label>Логин:</label><input name="login" type="text" size="50" id="login"> <span></span><br> js $("#login").change(function(){ login = $("#login").val(); var expLogin = /^[a-zA-Z0-9._]+$/g; var resLogin = login.search(expLogin); if(resLogin == -1){ $("#login").removeClass().addClass("inputRed"); loginStat = 0; buttonOnAndOff(); }else{ $.ajax({ url: "rez2.php", type: "POST", data: "login=" + login, cache: false, success: function(response){ if(response == "no"){ $("#login").removeClass().addClass("inputRed"); }else{ $("#login").removeClass().addClass("inputGreen"); $("#login").next().text(""); } } }); loginStat = 1; buttonOnAndOff(); } }); $("#login").keyup(function(){ $("#login").removeClass(); $("#login").next().text(""); }); rez2.php if(isset($_POST['login'])){ $login = $_POST['login']; $str=mysql_result(mysql_query("SELECT COUNT(login) FROM users WHERE login='".$login."'"),0); if($str == 1){ echo "no"; }else{ echo "yes"; } } и проверка проходит а кнопку как не могу понять
Проверил у себя, убрав эти непонятные buttonOnAndOff - все работает. Дебажьте методом Франкенштейна - по кусочкам. Выбросили все вообще, проверили, что PHP-код правильно отрабатывает, передавая запрос руками. Потом проверили, что ajax инициируется. Потом - что правильные значения в rez.php передает. Вообще - ставьте alert во всех местах и проверяйте, как у вас идет исполнение кода. Я из ваших объяснений не могу понять ничего.
почему то не получается уже вынес для проверки сам файл весь Код (Text): <? session_start(); error_reporting(0);?> <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Простой пример использования AJAX</title> <link rel="stylesheet" type="text/css" href="style.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> </head> <body> <table> <tr> <th>Запрос</th> <th>Ответ сервера</th> </tr> <tr> <td> <form action="" method="post"> <label>Переменная 1: <input type="text" size="10" id="data_1" /></label><br /><br> <label>Переменная 2: <input type="text" size="10" id="data_2" /></label><br /><br> <label>ФИО:</label> <input name="nam" type="text" size="50" id="nam"><br> <label>Логин:</label> <input name="login" type="text" size="50" id="login"><br> <label>E-mail:</label> <input name="email" type="text" size="50" id="email"><br> <label>Пароль:</label> <input name="password" type="password" size="50" id="password"><br> <label>Подтвердите пароль:</label> <input name="password2" type="password" size="50" id="password2"><br><br> </form> <input type="submit" name="submit" value="Зарегистрироваться" id="submit" onclick="SendRequest();" ><br><br> <center>Все поля, обязательные для заполнения.</center> </td> <td> <div id="response"></div> </td> </tr> </table> </body> <script type="text/javascript"> function SendRequest(){ $.ajax({ type: "POST", url: "obrabotchik.php", data: "sid=<?=session_id()?>&nam="+$('#nam').val()+"&login="+$('login').val()+"&email="+$('email').val()+"&password="+$('password').val()+"&data_1="+$('#data_1').val()+"&data_2="+$('#data_2').val(), success: function(response){ $('#response').html(response); } }); }; </script> </html> и обработчик obrabotchik.php Код (Text): <? session_start(); if(session_id() != $_POST['sid']) die('Wrong Request'); ?> Значение переменной 1:<br /> <strong><?=$_POST['data_1']?></strong> <hr /> Значение переменной 2:<br /> <strong><?=$_POST['data_2']?></strong> <hr /> Значение переменной nam: <strong><?=$_POST['nam']?></strong> <hr /> Значение переменной login: <strong><?=$_POST['login']?></strong> <hr /> Значение переменной email: <strong><?=$_POST['email']?></strong> <hr /> Значение переменной password: <strong><?=$_POST['password']?></strong> и что не так не пойму