webForumDet fria alternativet

UPDATE problem!!

3 svar · 239 visningar · startad av xtreme

xtremeMedlem sedan juli 20002 151 inlägg
#1

Har en medlemssida där jag på en av sidorna vill att användaren ska kunna ändra sin användarinfo.

För att hämta informatioen ur databasen använder jag:

 
$medleminfo = "SELECT first_name, last_name, email_address, username, info, FROM users WHERE username='$username'";

Denna informationen lägger jag sedan i vars en textbox och detta fungerar utan problem.

Ändrar sedan användaren ex sitt namn (first_name) i den textboxen och klickar på spara så ska detta uppdateras i databasen. För att göra detta har jag använd följande kod vilket inte verkar funka så bra.

 
$memberupdate = mysql_query("UPDATE users SET first_name='$first_name', last_name='$last_name' WHERE username='$username'");

alert('Din info är sparad');

Sen undrar jag också ifall man kan anropa en funktion i samma dokument genom sitt form så att man inte behöver ha $memberupdate i en separat fil, har provat med följande men det går inte så bra:

function update(){ 

$memberupdate = mysql_query("UPDATE users SET first_name='$first_name', last_name='$last_name' WHERE username='$username'");

alert('Din info är sparad'); 
}

<form name="form1" method="post" action=" <? update(); ?> ">

Hoppas någon kan hjälpa mig så att update blir rätt samt hur man anropar en funktion i samma dokument genom form-post!

@ndersMedlem sedan juni 200026 914 inlägg
#2

Du kan inte blanda php och html och javascript på det sätt du har gjort. Du har lagt action i formuläret till en php-funktion. Browsern vet inte vad det är för något. Du får posta till sidan.php som sedan gör uppdateringen med de värden som postats i formuläret.

Det är också bra att ange vad problemet är, inte bara att det inte fungerar.

mvh

xtremeMedlem sedan juli 20002 151 inlägg
#3

Har nu ändrat så att jag i formuläret i ställlet har det så här:

<form name="form1" method="post" action="memberinfo.php ">

Sidan memberinfo ser ut så här:

$memberupdate_=_mysql_query("UPDATE_users_SET_first_name='$first_name',_last_name='$last_name'_WHERE_username='$username'");

echo "Din info är uppdaterad";

problemet är att sidan kommer fram så att det står "Din info är uppdaterad" men det händer inget i databasen. Är min kod rätt för att updatera i databasen?

@ndersMedlem sedan juni 200026 914 inlägg
#4

Det beror på om dina variabler innehåller det du tror att de innehåller. Skriv ut SQL-frågan istället för att exekvera den.

echo("UPDATE_users_SET_first_name='$first_name',_last_name='$last_name'_WHERE_username='$username'");

Mvh

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb