Хранение информации в базе данных PostgreSQl - PullRequest
0 голосов
/ 05 апреля 2010

Хорошо, я делаю реестр для своего сайта.

На первой странице требуется личная информация

        if($error==false) {

        $query = pg_query("INSERT INTO chatterlogins(firstName, lastName, gender, password, ageMonth, ageDay, ageYear, email, createDate) VALUES('$firstNameSignup', '$lastNameSignup', '$genderSignup', md5('$passwordSignup'), $monthSignup, $daySignup, $yearSignup, '$emailSignup', now());");
        $query = pg_query("INSERT INTO chatterprofileinfo(email, lastLogin) VALUES('$emailSignup', now());");
        $userNameSet = $emailSignup;
        $_SESSION['$userNameSet'] = $userNameSet;
        header('Location: signup_step2.php'.$rdruri);

    }

Первый запрос работает. Второй запрос работает, но не сохраняет сообщение ...

сеанс не работает, но заголовок работает и отправляет меня на следующую страницу

Я не получаю ошибок, даже если я закомментирую заголовок

следующая страница

    @session_start();

$conn = pg_connect("host=localhost dbname=brittains_db user=brittains password=XXXX" );

$signinCheck = false;
$checkForm = "";

if(isset($_SESSION['$userName'])) {

    $userName = $_SESSION['$userName'];
    $signinCheck = true;
    $query = pg_query("UPDATE chatterprofileinfo SET lastLogin='now()' WHERE email='$userName'");

}

if(isset($_SESSION['$userNameSet'])) {

    $userName = $_SESSION['$userNameSet'];
    $signinCheck = true;
    $query = pg_query("UPDATE chatterprofileinfo SET lastLogin='now()' WHERE email='$userName'");

}

Это начало сеанса в зависимости от того, вошли вы в систему или нет.

тогда, если я введу здесь информацию и введу ее через это

if($error==false) {

    $query = pg_query("UPDATE chatterprofileinfo SET aboutSelf='$aboutSelf', hobbies='$hobbies', music='$music', tv='$tv', sports='$sports', lastLogin='now()' WHERE email='$userName'") or exit(pg_last_error());
    //header('Location: signup_step3.php'.$rdruri);

}

в моей базе данных ничего не видно из этого.

Понятия не имею, где я ошибся

веб-сайт

http://opentech.durhamcollege.ca/~intn2201/brittains/chatter/

1 Ответ

0 голосов
/ 05 апреля 2010

Для начала, не помещайте вещи, которые не являются строками, в одинарные кавычки. «now ()» означает буквальную строку «now ()»

Кроме того, если вы обновляете свою базу данных, вам лучше использовать подготовленные операторы, которые помогут предотвратить внедрение SQL. В вашем случае см http://www.php.net/manual/en/function.pg-prepare.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...