ФорумПрограммированиеPHP для идиотов → Не записываются данные в БД

Не записываются данные в БД

  • valera5505

    Сообщения: 21 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 12:58

    Делал сам. После нажатия на кнопку зарегестрироваться просто не заносит данные в БД.
    Как сделал таблицу:
      CREATE TABLE `users` (`id` smallint(8) unsigned NOT NULL auto_increment,
    `login` varchar(50) NOT NULL default '',
    `password` varchar(32) NOT NULL default '',
    `name` text(10000) NOT NULL default '',
    `lastName` text(10000) NOT NULL default '',
    `teacher` text(10000) NOT NULL default '',
    `address` text(10000) NOT NULL default '',
    `phone` text(10000) NOT NULL default '',
    PRIMARY KEY (`id`),
    UNIQUE KEY `login` (`login`)
    ) TYPE=MyISAM AUTO_INCREMENT=2 ;

    Вот сама страничка с регистрацией:
    <?php mysql_connect("localhost","root","");
    mysql_select_db("olimp");
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Регистрация</title>
    <style>
    #area {
    position:absolute;
    left:170px;
    }
    </style>
    </head>
    <body>
    <form action="register.php" method="post"><br />
    <p>Логин (E-mail)<input name="login" type="text" id="area"></p>
    <p>Пароль<input name="password" type="password" id="area" value=""></p>
    <p>Имя<input name="name" type="text" id="area"></p>
    <p>Фамилия<input name="lastName" type="text" id="area"></p>
    <p>ФИО преподавателя<input name="teacher" type="text" id="area"></p>
    <p>Домашний адрес<textarea name="address" cols="" rows="" id="area"></textarea></p>
    <p>Телефон<input name="phone" type="text" id="area"></p>
    <p><input type="submit" value="Регистрация" /></p>
    </form>

    <?
    if(isset($_POST['login']) && isset($_POST['password']) && isset($_POST['name']) && isset($_POST['lastName']) && isset($_POST['teacher']) && isset($_POST['address']) && isset($_POST['phone'])) {
    $login = $_POST['login'];
    $password = $_POST['password'];
    $name = $_POST['name'];
    $lastName = $_POST['lastName'];
    $teacher = $_POST['teacher'];
    $address = $_POST['address'];
    $phone = $_POST['phone'];
    if($login == '' || $password == '' || $name == '' || $lastName == '' || $teacher == '' || $address == '' || $phone == '') {
    echo "заполнены не все поля"; }
    else {
    $quer = mysql_query("INSERT INTO `users` ('login','password','name','lastName','teacher','address','phone') VALUES ($login,$password,$name,$lastName,$teacher,$address,$phone)");
    echo "OK!";
    }
    } else { echo "заполнены не все поля"; }

    ?>
    </body>
    </html>
  • PatrioT

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:04, спустя 5 минут 53 секунды

    Вам бы в 90-е, где за каждый байт юоролись не на жизнь, а на смерть
    ЗАчем
    `name` text(10000) NOT NULL  DEFAULT '',
    ?
    Почему не фильтруются данные? Ну и
    INSERT INTO `users` (`login`, `password`, `name`, `lastName`, `teacher`, `address`, `phone`) VALUES ('$login', '$password', '$name', '$lastName', '$teacher', '$address', $phone)
  • valera5505

    Сообщения: 21 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:07, спустя 3 минуты 2 секунды

    ЗАчем

    SQL
    `name` text(10000) NOT NULL DEFAULT '',

    ?


    Да я это просто, на время
    Спустя 44 сек.
    не добавляется
  • Kvs

    Сообщения: 420 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:09, спустя 1 минуту 21 секунду


    $quer = mysql_query("INSERT INTO `users` ('login','password','name','lastName','teacher','address','phone') VALUES ($login,$password,$name,$lastName,$teacher,$address,$phone)") or die(mysql_error());
  • PatrioT

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:11, спустя 2 минуты 13 секунд

    …$phone)");
    echo mysql_error();
    Спустя 53 сек.
    Не успел ;/
  • Kvs

    Сообщения: 420 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:13, спустя 1 минуту 47 секунд

    фуй мля html в одном файле с логикой… ведь и я таким был)
  • valera5505

    Сообщения: 21 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:14, спустя 1 минуту 18 секунд

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''login','password','name','lastName','teacher','address','phone') VALUES ('admin' at line 1OK!

    Kvs, это тоже временно, чтобы хаос не создавать раньше времени
  • PatrioT

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:17, спустя 3 минуты 13 секунд

    `login`, `password`, `name`, `lastName`, `teacher`, `address`, `phone`
    и
    'login','password','name','lastName','teacher','address','phone'
    найди отличия
  • valera5505

    Сообщения: 21 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:23, спустя 6 минут 14 секунд

    Работает! Спасибо большое!
    Спустя 123 сек.
    а как сделать проверку на e-mail??? и телефон
  • PatrioT

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 13:25, спустя 1 минуту 34 секунды

    купить пакет sms`ок и http://php.net/mail
  • valera5505

    Сообщения: 21 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 20:22, спустя 6 часов 56 минут 48 секунд

    не, проверка при регистрации на правильность ввода
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 20 мая 2011 г. 20:34, спустя 12 минут 2 секунды

    гугл же, ёбаный стыд
    не всё полезно, что в swap полезло
  • valera5505

    Сообщения: 21 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 21:38, спустя 1 час 4 минуты 19 секунд

    Теперь новая проблема: Parse error: syntax error, unexpected '}', expecting ',' or ';' in …\register.php on line 46

    <?php mysql_connect("localhost","root","");
    mysql_select_db("olimp");
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Регистрация</title>
    <style>
    #area {
    position:absolute;
    left:170px;
    }
    .down {
    margin-top:15;
    </style>
    </head>
    <body>
    <form action="register.php" method="post"><br />
    <p>Логин (E-mail)<input name="login" type="text" id="area"><span id="validEmail"></span></p>
    <p>Пароль<input name="password" type="password" id="area" value=""></p>
    <p>Имя<input name="name" type="text" id="area"></p>
    <p>Фамилия<input name="lastName" type="text" id="area"></p>
    <p>ФИО преподавателя<input name="teacher" type="text" id="area"></p>
    <p>Домашний адрес<textarea name="address" cols="" rows="" id="area"></textarea></p>
    <p>Телефон<input name="phone" type="text" id="area" class="down"></p>
    <p><input type="submit" value="Регистрация" /></p>
    </form>

    <?
    if(isset($_POST['login']) && isset($_POST['password']) && isset($_POST['name']) && isset($_POST['lastName']) && isset($_POST['teacher']) && isset($_POST['address']) && isset($_POST['phone'])) {
    $login = $_POST['login'];
    $password = $_POST['password'];
    $name = $_POST['name'];
    $lastName = $_POST['lastName'];
    $teacher = $_POST['teacher'];
    $address = $_POST['address'];
    $phone = $_POST['phone'];
    if($login == '' || $password == '' || $name == '' || $lastName == '' || $teacher == '' || $address == '' || $phone == '') {
    echo "заполнены не все поля"; }
    else {
    if(filter_var($login, FILTER_VALIDATE_EMAIL)) {
    if (preg_match('/((8|\+7)-?)?\(?\d{3,5}\)?-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}((-?\d{1})?-?\d{1})?/', $phone)) {
    $query = mysql_query("INSERT INTO `users` (`login`,`password`,`name`,`lastName`,`teacher`,`address`,`phone`) VALUES ('$login','$password','$name','$lastName','$teacher','$address','$phone')"); echo mysql_error();
    echo "OK!";
    } else { echo "Неверно введен телефон" }
    } else{ echo "Неверно введена почта"; }
    }
    } else { echo "заполнены не все поля"; }

    ?>
    </body>
    </html>
  • valera5505

    Сообщения: 21 Репутация: N Группа: Кто попало

    Spritz 20 мая 2011 г. 22:04, спустя 26 минут 19 секунд

    может быть я вас и достал, но на то я и в форуме для новичуов пишу. Короче, следующий вопрос - как сделать выход?
    Спустя 37 сек.
    предыдущий вопрос про ошибку в силе
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 21 мая 2011 г. 0:01, спустя 1 час 56 минут 16 секунд

    прибей куку и запись о куке в таблице
    не всё полезно, что в swap полезло

Пожалуйста, авторизуйтесь, чтобы написать комментарий!