есть html:
<div class="modalDialog" id="reg">
<div>
<a href="#close" title="Закрыть" class="close">x</a>
<h2>Регистрация</h2>
<form action="/php/verification.php" method="POST">
<p>Логин:</p>
<input type="text" name="login" >
<p>Пароль:</p>
<input type="password" name="password" >
<p>Подтверждение:</p>
<input type="password" name="password2" >
<p>E-Mail:</p>
<input type="text" size="20" name="email">
<button type="submit" name="submit" >Готово</button>
</form>
</div>
</div>
При этом скрипт js обработчик форм:
function submitForm(e){
e.preventDefault();
let $form = $(this);
let url = $form.attr('action');
let formData=$form.serialize();
function success(data){
$form.html(data);
}
function error(jqXHR, text, error){
$form.html(error);
}
$.ajax({
type: "POST",
url: url,
data:formData,
success:success,
error:error
})
}
$(document).ready(function () {
$("form").submit(submitForm);
});
php который обрабатывает регистрацию:
<?php
include("../php/bd.php");
if (isset($_POST['submit'])){
if(empty($_POST['login'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите логин!"> Введите логин! </font>';
}
elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="В поле "Логин" введены недопустимые символы!"> В поле "Логин" введены недопустимые символы! Только буквы, цифры и подчеркивание!</font>';
}
elseif(empty($_POST['password'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите пароль !"> Введите пароль!</font>';
}
elseif (!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Пароль слишком короткий!"> Пароль слишком короткий! Пароль должен быть не менее 6 символов! </font>';
}
elseif(empty($_POST['password2'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите подтверждение пароля!"> Введите подтверждение пароля!</font>';
}
elseif($_POST['password'] != $_POST['password2']) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введенные пароли не совпадают!"> Введенные пароли не совпадают!</font>';
}
elseif(empty($_POST['email'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите E-mail!">Введите E-mail! </font>';
}
elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="E-mail имеет недопустимий формат!"> E-mail имеет недопустимий формат! Например, name@gmail.com! </font>';
}
else{
$login = $_POST['login'];
$password = $_POST['password'];
$mdPassword = md5($password);
$password2 = $_POST['password2'];
$email = $_POST['email'];
$rdate = date("d-m-Y в H:i");
$name = $_POST['name'];
$lastname = $_POST['lastname'];
$query = ("SELECT id FROM users WHERE login='$login'");
$cash = $_POST['cash'];
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) > 0) {
echo '<font color="red"><img border="0" src="error.gif" align="middle" alt="Пользователь с таким логином зарегистрированый!"> Пользователь с таким логином зарегистрирован!</font>';
}
else {
$query2 = ("SELECT id FROM users WHERE email='$email'");
$sql = mysql_query($query2) or die(mysql_error());
if (mysql_num_rows($sql) > 0){
echo '<font color="red"><img border="0" src="error.gif" alt="Пользователь с таким e-mail зарегистрированый!"> Пользователь с таким e-mail уже зарегистрирован!</font>';
}
else{
$query = "INSERT INTO users (login, password, email, reg_date, name_user, lastname, cash )
VALUES ('$login', '$mdPassword', '$email', '$rdate', '$name', '$lastname', '$cash')";
$result = mysql_query($query) or die(mysql_error());;
echo "<p class='tete'>Вы успешно зарегистрировались!</p>";
}
}
}
}
?>
При этом всем работает php на вход, который все таки берет инфу из мускула...
HTML
<div class="modalDialog" id="login">
<div>
<a href="#close" title="Закрыть" class="close">x</a>
<h2>Войти на сайт</h2>
<form action="/php/login.php" method="POST">
<p>Логин:</p>
<input type="text" name="login" >
<p>Пароль:</p>
<input type="password" name="password" >
<button type="submit" name="submit" >Войти</button>
</form>
<a class="but2" href="#reg">Регистрация</a>
</div>
</div>
PHP
<?php
include("../php/bd.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Web Mining</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php
if (isset($_POST['login'])) {
$login = $_POST['login'];
if ($login == '') {
unset($login);
exit ("Введите пожалуйста логин!");
}
}
if (isset($_POST['password'])) {
$password=$_POST['password'];
if ($password =='') {
unset($password);
exit ("Введите пароль");
}
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$login = trim($login);
$password = trim($password);
$password = md5($password);
$user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id'])){
exit ("Извините, введённый вами логин или пароль неверный.");
}
else {
$_SESSION['password']=$password;
$_SESSION['login']=$login;
$_SESSION['id']=$id_user['id'];
$_SESSION['cash']=$id_user['cash'];
}
echo "<meta http-equiv='Refresh' content='0; URL=/index.html'>";
?>
</body>
</html>
вход скрипт обрабатывается, но логин нет.. ГУРУ помогите... всю голову сломал... куда копать?
При отключении jquery рега работает, но надписи в отдельной вкладке...
При включении работает только вход, рега нет....
Скажите где что не так???
'$name', '$lastname', '$cash')";
удалил уже....