2010-04-05 3 views
0

Ok Je crée un registre pour mon site Web.Stockage d'informations dans un problème de base de données PostgreSQL

Première page demande quelques informations personnelles

 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); 

    } 

La première requête fonctionne. La deuxième requête fonctionne mais ne sauve pas l'e-mail ...

la session ne fonctionne pas, mais les œuvres d'en-tête et me envoie à la page suivante

Je reçois aucune erreur même si je en commentaire tête

page suivante

@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'"); 

} 

C'est le haut à partir de la session en fonction de si votre connecté ou non.

puis si j'entrer dans l'info ici et le mettre dans cette

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); 

} 

rien ne montre pour ma base de données de cette situation.

Je ne sais pas où je suis allé mal

le site est

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

Répondre

0

Pour commencer, ne mettez pas les choses qui ne sont pas des chaînes dans les guillemets simples comme ça. 'now()' signifie une chaîne littérale "now()"

De même, si vous effectuez des mises à jour de votre base de données, il vaut mieux utiliser des instructions préparées pour éviter l'injection SQL. Dans votre cas, voir http://www.php.net/manual/en/function.pg-prepare.php

+0

kk merci J'aurais dû savoir que duh moment>< – MrEnder

+0

Ou optez pour pg_query_params(), la solution la plus simple pour une entrée sécurisée dans une requête. http://nl2.php.net/pg_query_params pg_prepare est bon quand vous avez des requêtes répétées. –

Questions connexes