2014-01-03 3 views
0
<?php 
    require("../inc/header.inc.php"); 

    if(isset($_POST["username"])) { 
     $username = strip_tags($_POST["username"]); 
     $password = strip_tags($_POST["password"]); 
     $password2 = strip_tags($_POST["password2"]); 
     $email  = strip_tags($_POST["email"]); 
     $joindate = date(Y-m-d); 

     if(!empty($_POST["firstname"])) { 
      $firstname = strip_tags($_POST["firstname"]); 
     } 
     else { 
      $firstname = ""; 
     } 
     if(!empty($_POST["lastname"])) { 
      $lastname = strip_tags($_POST["lastname"]); 
     } 
     else { 
      $lastname = ""; 
     } 
     if($password!=$password2) { 
      die("Your passwords don't match! Press your browsers back button to fix it."); 
     } 
     if(!strlen($username)> 21) { 
      die("Your username is too long! Press your browsers back button to fix it."); 
     } 
     if(strlen($password)< 7) { 
      die("Your password is too short! Press your browsers back button to fix it."); 
     } 
     else { 
      mysqli_query($con,"INSERT INTO users(`username`,`password`,`email`,`joindate`,`firstname`,`lastname`) VALUES ('$username','$password','$email,'$date','$firstname','$lastname')"); 
     } 
    } 
?> 

Я сделал этот скрипт сегодня, и все это, кажется, бежит отдельно от mysqli_query в конце. Он не запускает его. Когда я ввел действительные данные, он сделал то, что должен был сделать - обновить страницу и очистить входы.mysqli insert - not executing

НО - он не вставляет данные. Соединение my_sqli в порядке, но определенная команда не работает, какие-то идеи почему?

+0

Вы получаете ошибки? Не похоже, что вы проверяете, был ли запрос даже успешным. Онлайн-документация очень удобна для изучения значений RETURN. http://us2.php.net/manual/en/mysqli.query.php – Rottingham

+3

У вас нет ошибок, которые могли бы рассказать вам, что происходит не так. http://stackoverflow.com/a/17053501/187606 –

+0

Самый простой способ - добавить 'или die (mysqli_error());' после 'mysqli_query' и посмотреть, что он говорит –

ответ

1

У Вас есть недостающая цитата в '$email --- '$email,'$date',

изменение '$email','$date', и он должен ударить в

mysqli_query($con,"INSERT INTO users(`username`,`password`,`email`,`joindate`,`firstname`,`lastname`) 
VALUES ('$username','$password','$email,'$date','$firstname','$lastname')"); 
            ^

Использование:.

mysqli_query($con,"INSERT INTO users(`username`,`password`,`email`,`joindate`,`firstname`,`lastname`) 
VALUES ('$username','$password','$email','$date','$firstname','$lastname')"); 
+0

К сожалению, нет. Я собираюсь воссоздать свой предыдущий комментарий: я просто понял, что, когда я отправляю форму, она выводит меня на страницу, как будто она вот-вот умрет, но потом этого не делает. – user2999920

+0

Что внутри 'require (" ../ inc/header.inc.php ")'? Надеюсь, это все 'mysqli_', а не' mysql_' для БД. Вам также необходимо проверить типы столбцов. Возможно, ваш столбец даты установлен неправильно. @ user2999920 –

+0

Aha! У меня была дата, установленная как DATETIME. – user2999920

0

Aha! У меня была дата в базе данных, заданной как DATETIME.