Здравствуйте! Есть форма ввода логина и пароля, вызываемая через аякс при нажатии на "Вход". После заполнения формы и отправки (при удачном входе) должна произойти перезагрузка индексной страницы и вывести соответствующее меню. Непонятно, работает всё как надо только в Опере, в ИЕ, Хроме, ФФ не работает. Подскажите, как исправить? Вот коды формы отправки и обработчика соответственно: Код (Text): <script type="text/javascript"> $(document).ready(function(){ var options = { target: "#output2", beforeSubmit: showRequest, success: showResponse, timeout: 3000 }; $('#form_intr').submit(function() { $(this).ajaxSubmit(options); return false; }); }); function showRequest(formData, jqForm, options) { var queryString = $.param(formData); $('.ppp').show(); var queryString = $.param(formData); return true; } function showResponse(responseText, statusText) { $('img.ppp').hide(); $('#form_intr').hide(); } </script> <table width="115" border="0" cellspacing="0" cellpadding="0"> <tr> <td width='18' align="center"><img style='display: none' class='ppp' src='../blog/images/ajaxloader.gif'></td> <td align="center" style='padding:10px 0 15px 0;'><h1>Вход</h1></td> </tr> </table> <form id='form_intr' action='vhod.php' method='post'> <input name='master_log' type='text' size='15' maxlength='15' value='Имя' onfocus="if(this.value=='Имя')this.value='';" onblur="if(this.value=='')this.value='Имя';"> <input name='master_pass' type='password' size='15' maxlength='15' value='Пароль' onfocus="if(this.value=='Пароль')this.value='';" onblur="if(this.value=='')this.value='Пароль';"> <select name='in'> <option value='1'>Владелец</option> <option value='2'>Мастер</option> </select> <input id='submit' type='submit' name='submit' value='Войти'> </form> Файл vhod.php: PHP: <?php session_start(); if (isset($_POST['in'])) { $in=$_POST['in']; if ($in =='') { unset($in);} } if (isset($_POST['master_log'])) { $master_log = $_POST['master_log']; if ($master_log == '') { unset($master_log);} } if (isset($_POST['master_pass'])) { $master_pass=$_POST['master_pass']; if ($master_pass =='') { unset($master_pass);} } if (empty($master_log) or empty($master_pass)) { exit ("<span style='color:red'><strong>Вы ввели не всю информацию, вернитесь назад и заполните все поля!</strong></span>"); } $master_log = stripslashes($master_log); $master_log = htmlspecialchars($master_log); $master_pass = stripslashes($master_pass); $master_pass = htmlspecialchars($master_pass); $master_log = trim($master_log); $master_pass = trim($master_pass); include ("bd.php"); $master_pass = md5($master_pass); $master_pass = strrev($master_pass); $master_pass = $master_pass."b3p6f"; $result = mysql_query("SELECT * FROM table WHERE master_log='$master_log' AND master_pass='$master_pass' AND activation='1'",$db); $myrow = mysql_fetch_array($result); if (empty($myrow['id'])) { $select = mysql_query ("SELECT ip FROM error WHERE ip='$ip'"); $tmp = mysql_fetch_row ($select); if ($ip == $tmp[0]) { $result52 = mysql_query("SELECT col FROM error WHERE ip='$ip'",$db); $myrow52 = mysql_fetch_array($result52); $col = $myrow52[0] + 1;mysql_query ("UPDATE error SET col=$col,date=NOW() WHERE ip='$ip'"); } else { mysql_query ("INSERT INTO error (ip,date,col) VALUES ('$ip',NOW(),'1')"); } exit ("<span style='color:red'><strong>Извините, введенный вами логин или пароль неверный</strong></span>"); } else { $_SESSION['master_pass']=$myrow['master_pass']; $_SESSION['master_log']=$myrow['master_log']; $_SESSION['id']=$myrow['id']; $_SESSION['in']=$in; echo("<meta http-equiv=\"refresh\" content=\"0;url=" . $_SERVER['HTTP_REFERER'] . "\">"); ?>
А если вместо Код (Text): echo("<meta http-equiv=\"refresh\" content=\"0;url=" . $_SERVER['HTTP_REFERER'] . "\">"); Попробовать Код (Text): echo "<script>document.location.href='" . $_SERVER['HTTP_REFERER'] . "';</script>"; Или Код (Text): header("location:" . $_SERVER['HTTP_REFERER']);
echo "<script>document.location.href='" . $_SERVER['HTTP_REFERER'] . "';</script>"; Так прокатило! Спасибо огромное!