mysql - Updata detail user PDO -



mysql - Updata detail user PDO -

i learning create script pdo registration, login, etc., , alter profile.

it not quite work, attaching wrote in class user.php

// update user public function update_user($firstname, $lastname, $gender, $user_id){ $this->username = $firstname; $this->location = $lastname; $this->gender = $gender; $this->memberid = $user_id; $query = $this->_db->prepare("update `members` set `username` = ?, `location` = ?, `gender` = ? `memberid` = ?"); $query->bindvalue(1, $this->username, pdo::param_str); $query->bindvalue(2, $this->location, pdo::param_str); $query->bindvalue(3, $this->gender, pdo::param_str); $query->bindvalue(4, $this->memberid, pdo::param_int); try{ $query->execute(); }catch(pdoexception $e){ die($e->getmessage()); } }

(i enclose info 1 other function, take @ names of database tables etc:

public function get_user_info($username){ seek { $stmt = $this->_db->prepare('select memberid,email,location,gender,level,active members username = ?'); $stmt->execute(array($username)); homecoming $stmt->fetch(); } catch(pdoexception $e) { echo '<p class="bg-danger">'.$e->getmessage().'</p>'; } }

)

while, in file account.php

if(isset($_post['update-submit'])){ require 'classes/validation.php'; $val = new validation(); $val->addsource($_post); $rules_array = array( 'first-name'=>array('type'=>'string', 'required'=>true, 'min'=>0, 'max'=>32, 'trim'=>true), 'last-name'=>array('type'=>'string', 'required'=>true, 'min'=>0, 'max'=>32, 'trim'=>true), 'gender'=>array('type'=>'string', 'required'=>true, 'min'=>0, 'max'=>1, 'trim'=>true)); $val->addrules($rules_array); $val->run(); $san[] = $val->sanitized; if(sizeof($val->errors) > 0){ $val_errors[] = $val->errors; }else{ try{ $firstname = $san[0]['first-name']; $lastname = $san[0]['last-name']; $gender = $san[0]['gender']; $user_id = $_session['memberid']; $user->update_user($firstname, $lastname, $gender, $user_id); $_session['message'] = "your profile has been updated!"; header("location: account.php"); exit(); }catch(pdoexception $e){ $errors[] = $e->getmessage(); } } }

and form:

<form action="" method="post" id="settings-form" enctype="multipart/form-data"> <div class="personal-info"> <h3>change profile information</h3> <?php if(!empty($errors)){ echo '<p class="error">' . implode('</p><p>', $errors) . '</p>'; } if(!empty($val_errors)){ echo '<p class="error">' . implode('</p><p>', $val_errors[0]) . '</p>'; } ?> <label for="first-name">username:</label><br /> <input type="text" name="first-name" id="first-name" value="<?php if(isset($_post['first-name'])){ echo htmlspecialchars($_post['first-name'], ent_quotes); } else { echo htmlspecialchars($_session['username'], ent_quotes); }?>"> <br /> <label for="last-name" >location:</label><br /> <input type="text" name="last-name" id="last-name" value="<?php if(isset($_post['last-name'])){ echo htmlspecialchars($_post['last-name'], ent_quotes); }else{ echo htmlspecialchars($_session['location'], ent_quotes); }?>"> <br /> <label for="gender">gender:</label><br /> <?php $gender = $_session['gender']; $options = array("","m", "f"); echo '<select name="gender" id="gender">'; foreach($options $option){ if($gender == $option){ $sel = 'selected="selected"'; }else{ $sel=''; } echo '<option '. $sel .'>' . $option . '</option>'; } ?> </select> </div> <div class="clear"></div> <hr /> <span>update changes:</span> <input type="submit" name="update-submit" value="update"> </form>

i know fields not match name of variable , confusing, took code example. patient.

can help me? not release erorre not work anyway.

mysql pdo user

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -