Parašė rokasbalsys· 2014 Kov. 31 11:03:23
#1
Tai va yra tokia problema, vartotojas gali savo duomenis pakeisti, tai yra varda, emaila, pavarde, tik yra tokia problema:
<?php
if(isset($_GET['success']) === true && empty($_GET['success']) === true){
echo 'your details have been updated!';
} else {
if(empty($_POST) === false && empty($errors) === true) {
$update_data = array(
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
'email' => $_POST['email']
);
update_user($update_data);
header('Location: settings.php?success');
exit();
} else if (empty($errors) === false) {
echo output_errors($errors);
}
?>
kur yra
$update_data = array(
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
'email' => $_POST['email']
);
man pakeicia tik emeila, o jeigu koda parasyciau sitaip:
$update_data = array(
'email' => $_POST['email']
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
);
pakeicia tik last_name. Tai yra tik paskutini array duomeni pakeicia.
mano funkcija:
function update_user($update_data) {
global $session_user_id;
$update = array();
array_walk($update_data, 'array_sanitize');
foreach($update_data as $field=>$data); {
$update[] = '`' . $field . '` = \'' . $data . '\'';
}
mysql_query("UPDATE `users` SET " . implode(', ', $update) . " WHERE `USER_id` = $session_user_id");
}
kas cia gali buti per problema ?
Redagavo rokasbalsys· 2014 Kov. 31 11:03:15