Jeg ville nok vælge at lave en update på den bruger du har istedet for en insert. Insert'en gør, at du indsætter en ny bruger, derfor bliver den nuværende ikke opdateret.
derudover laver du inserten inden han har skrevet noget. Når du laver:
edituser();
$age = $_POST['age'];
mysql_query(...);
Sker der følgende:
du kalder din
edituser() funktion, som udskriver formen. Derefter henter du
age fra
$_POST, og sætter denne via din
mysql_query.
Det gør så (selvom du bruger en update på den nuværende bruger, i stedet for en insert), at du sætter hans alder til 0 første gang, og hvis han ikke vælger at ændre sin alder, er den allerede blevet ændret.
Du burde gøre følgende:
// her opdateres brugerens alder, hvis denne er sat. (efter du har klikket på knappen i formen)
if(isset($_POST['age']) && isset($_SESSION['user']) )
{
$user = $_SESSION['user'];
$age = $_POST['age'];
mysql_query("update users set age1 = ".$age." where username = ".$user);
}
// derefter hentes dine brugeroplysninger + din form udskrives.
if(isset($_SESSION['user']) )
{
edituser();
}
else
{
//echo "FY FY FIFI"; // det er jo også en slags fejlbesked... ?
// prøv med noget mere informativt:
echo "<b>Du skal være logget ind for at bruge denne side.</b>";
}
edit: skrev lidt mere beskrivelse for din nuværende kode
Indlæg senest redigeret d. 10.03.2006 11:53 af Bruger #2796