Hallå.
Jag har ett script som låter mig registrera en ny användare i databasen. Vad jag vill göra är att modifiera detta script så att det dels hämtar data för inloggad användare och visar denna data i textfält i formuläret och även uppdaterar datan i databas med den data användaren ändrar till i textfälten. Jag vill alltså använda mig av UPDATE. Jag vill även kunna ange WHERE så att data ändras för rätt användare. Jag har en session satt från loginscriptet som jag vill använda för WHERE. Hur kan jag modifiera scriptet?
Scriptet ser ut såhär:
<?php
session_start();
// Check if user is logged in = session set
if (!isset($_SESSION['sess_user'])){
header("Location: index.php");
exit;
}
if (isset($_POST['submit'])){
$_POST = db_escape($_POST);
// Delete any spaces at begining or end of user input
foreach($_POST as $key => $val){
$_POST[$key] = trim($val);
}
//Check for empty controls
if (empty($_POST['user']) || empty($_POST['passwd']) ||
empty($_POST['name']) || empty($_POST['email'])) {
$reg_error[] = 0;
}
// Check if user name is already taken
$sql = "SELECT COUNT(*) FROM tbl_users WHERE user='{$_POST['user']}'";
$result = mysql_query($sql);
if (mysql_result($result, 0) > 0) {
$reg_error[] = 1;
}
// Validate e-mailaddress
if (!preg_match('/^[-A-Za-z0-9_.]+[@][A-Za-z0-9_-]+([.][A-Za-z0-9_-]+)*[.][A-Za-z]{2,6}$/', $_POST['email'])) {
$reg_error[] = 2;
}
// Check if password entries match up
if ($_POST['passwd'] != $_POST['passwd2']) {
$reg_error[] = 3;
}
// If no errors. Save, log in and send user to mainpage
if (!isset($reg_error)) {
$sql = "INSERT INTO tbl_users(user, pass, name, email, id_user_type)
VALUES('{$_POST['user']}', '{$_POST['passwd']}', '{$_POST['name']}', '{$_POST['email']}', '{$_POST['usertypeID']}')";
mysql_query($sql);
$_SESSION['sess_id'] = mysql_insert_id();
$_SESSION['sess_user'] = $_POST['user'];
$_SESSION['sess_user_name'] = $_POST['name'];
$_SESSION['sess_user_type'] = $_POST['usertypeID'];
header("Location: user_edit.php");
exit;
}
} else {
// Set variables for empty form
for ($i=0; $i<4; $i++) {
$back[$i] = "";
}
}
$error_list[0] = "Not all fields are filled in.";
$error_list[1] = "This user name is occupied.";
$error_list[2] = "The e-mailaddress is not entered correctly.";
$error_list[3] = "The passwords does not match up.";