thedigicraft / Atom.CMS

Atom.CMS
56 stars 52 forks source link

Add User problem #66

Open siddiquedu opened 9 years ago

siddiquedu commented 9 years ago

I can't add user although get all values correctly. intentionally i gave different pass word but shows no error sms. here is my code. Could you say where might be i did wrong.

in queries.php=>

            if(isset($_POST['submitted']) == 1){

                $firstname  = mysqli_real_escape_string($dbc, $_POST['firstname']);
                $lastname   = mysqli_real_escape_string($dbc, $_POST['lastname']);

                if ($_POST['password'] != ''){

                    if($_POST['password'] == $_POST['passwordv']){

                            $password = "password = md5('$_POST[password]'),";
                            $verify = true;
                    } else {
                        $verify = false;
                    }

                } else {

                    $verify =false;
                }

                if(isset($_POST['id'])!= ''){

                    $action = 'updated';
                    $q = "UPDATE users SET firstname = '$firstname', lastname = '$lastname', email='$_POST[email]',  $password status = $_POST[status] WHERE id = $_GET[id] ";

                } else {
                        $action = 'added';
                    if ($verify == true){
                        $q = "INSERT INTO users (firstname, lastname, email, password, status) VALUES ('$firstname', '$lastname', '$_POST[email]', md5('$_POST[password]'), '$_POST[status]')";
                    } 

                    }   
                $r = mysqli_query($dbc, $q);

                if($r){

                    $message = '<p> User Was '.$action.'!</p>';
                } else{
                    $message = '<p> User could not be '.$action.' because:'.mysqli_error($dbc);
                    if ($verify == false){

                        $message = '<p>Password field empty and/or do not match</p>';
                    }
                    $message = '<p>Query:'.$q.'</p>';
                }
            }

            if(isset($_GET['id'])){ $opened = data_user($dbc, $_GET['id']);}

in user.php=>

        <?php if(isset($opened['id'])){ ?>
        <input type="hidden" name="id" value="<?php echo $opened['id'];?>" />
    <?php } ?>

INSERT INTO users (firstname, lastname, email, password, status) VALUES ('ami', 'tumi ', 'siddiquedu@yahoo.com', md5('123'), '1')
siddiquedu commented 9 years ago

solved by me................Sorry for disturb

thedigicraft commented 9 years ago

No worries. Could you post the solution?

ZuluLx commented 9 years ago

@siddiquedu what was your solution ?

dbashby commented 8 years ago

I would like to know the solution for this as I can update a user including the password. I did however have to change the password variable in my connection script as when running the update user it kept sending $password from the connection script thanks to the debug query in the tutorial.

I cannot add a new user though as all I get is

User could not be added because: Column count doesn't match value count at row 1

INSERT INTO users (firstname, lastname, password, status) VALUES ('john', 'prendergast', 'pass' '1')

My insert query is

else { $action = 'added'; $q = "INSERT INTO users (firstname, lastname, password, status) VALUES ('$first', '$last', '$_POST[password]' '$_POST[status]')"; }

I have just re-read the query and noticed a comma missing, the new query is

$q = "INSERT INTO users (firstname, lastname, password, status) VALUES ('$first', '$last', '$_POST[password]', '$_POST[status]')";

and it works