Avatar billede usse Nybegynder
21. juni 2003 - 15:30 Der er 7 kommentarer og
1 løsning

UDATE af tabel

Jeg har lavet et login, hvor man så kan oprette en profil mm.. Til min profil, har man tre forskellige tabeller
1. login
2. profil_genrelt
3. profil_hardware
Login og visning af profilen virker godt nok ud fra en FORM. Men når jeg vil opdatere mine felter i en tabel i databasen sker der intet, hvilket jeg ikke fatter!


//Noget af min kode:

//Opdatering af databasen!
    if($_POST['opdater']) {
    $opdater_login = "UPDATE login SET brugernavn='$_POST[brugernavn]', kode='$_POST[kode]' WHERE id='$id'";
    $opdater_generelt = "UPDATE profiler_generelt SET navn='$_POST[navn]', alder='$_POST[alder]', mail='$_POST[mail]', icq='$_POST[icq]', by='$_POST[by]', postnr='$_POST[postnr]', hjemmeside='$_POST[hjemmeside]', klan='$_POST[klan]', beskeftigelse='$_POST[beskeftigelse]', beskrivelse='$_POST[beskrivelse]' WHERE postnr='6200'";
    $opdater_hardware = "UPDATE profiler_hardware SET cpu='$_POST[cpu]', grafikkort='$_POST[grafikkort]', monitor='$_POST[monitor]', horetelefoner='$_POST[horetelefoner]', mus='$_POST[mus]', musematte='$_POST[musematte]', forbindelse='$_POST[forbindelse]', operativsystem='$_POST[operativsystem]', oplosning='$_POST[oplosning]', sensitivity='$_POST[sensitivity]' WHERE profil_id='$profil_id'";
    mysql_query($opdater_generelt);
    }

//Profilen!
    if($profil_id) {
    $hent_login = mysql_query("SELECT * FROM login WHERE id='$profil_id'") or die(mysql_error());
    $hent_generelt = mysql_query("SELECT * FROM profiler_generelt WHERE profil_id='$profil_id'") or die(mysql_error());
    $hent_hardware = mysql_query("SELECT * FROM profiler_hardware WHERE profil_id='$profil_id'") or die(mysql_error());     
    $login = mysql_fetch_assoc($hent_login);
    $generelt = mysql_fetch_assoc($hent_generelt);
    $hardware = mysql_fetch_assoc($hent_hardware);
   
?>
<FORM ACTION="<? echo $_SERVER["PHP_SELF"];?>" METHOD="post">
navn:<INPUT NAME="navn" TYPE="text" VALUE="<?php echo $generelt[navn]; ?>"><BR>
alder:<INPUT NAME="alder" TYPE="text" VALUE="<?php echo $generelt[alder]; ?>"><BR>
mail:<INPUT NAME="mail" TYPE="text" VALUE="<?php echo $generelt[mail]; ?>"><BR>
icq:<INPUT NAME="icq" TYPE="text" VALUE="<?php echo $generelt[icq]; ?>"><BR>
by:<INPUT NAME="by" TYPE="text" VALUE="<?php echo $generelt[by]; ?>"><BR>
postnr:<INPUT NAME="postnr" TYPE="text" VALUE="<?php echo $generelt[postnr]; ?>"><BR>
hjemmeside:<INPUT NAME="hjemmeside" TYPE="text" VALUE="<?php echo $generelt[hjemmeside]; ?>"><BR>
klan:<INPUT NAME="klan" TYPE="text" VALUE="<?php echo $generelt[klan]; ?>"><BR>
beskæftigelse:<INPUT NAME="beskeftigelse" TYPE="text" VALUE="<?php echo $generelt[beskeftigelse]; ?>"><BR>
beskrivelse:<INPUT NAME="beskrivelse" TYPE="text" VALUE="<?php echo $generelt[beskrivelse]; ?>"><BR>
<INPUT TYPE="submit" name="opdater" VALUE="opdater"> <INPUT ID="button" TYPE="reset" VALUE="Reset">
</FORM>
<?
    }
?>
Avatar billede ahv Nybegynder
21. juni 2003 - 15:32 #1
if($_POST['opdater']) {
    mysql_query("UPDATE login SET brugernavn='$_POST[brugernavn]', kode='$_POST[kode]' WHERE id='$id'");
    mysql_query("UPDATE profiler_generelt SET navn='$_POST[navn]', alder='$_POST[alder]', mail='$_POST[mail]', icq='$_POST[icq]', by='$_POST[by]', postnr='$_POST[postnr]', hjemmeside='$_POST[hjemmeside]', klan='$_POST[klan]', beskeftigelse='$_POST[beskeftigelse]', beskrivelse='$_POST[beskrivelse]' WHERE postnr='6200'");
    mysql_query("UPDATE profiler_hardware SET cpu='$_POST[cpu]', grafikkort='$_POST[grafikkort]', monitor='$_POST[monitor]', horetelefoner='$_POST[horetelefoner]', mus='$_POST[mus]', musematte='$_POST[musematte]', forbindelse='$_POST[forbindelse]', operativsystem='$_POST[operativsystem]', oplosning='$_POST[oplosning]', sensitivity='$_POST[sensitivity]' WHERE profil_id='$profil_id'");
    }
Avatar billede ahv Nybegynder
21. juni 2003 - 15:33 #2
Se bort fra det jeg lige postede, du har jo en WHERE ->

WHERE postnr='6200' <- Har brugeren postnr 6200?
Avatar billede ahv Nybegynder
21. juni 2003 - 15:34 #3
mysql_query("UPDATE profiler_generelt SET navn='$_POST[navn]', alder='$_POST[alder]', mail='$_POST[mail]', icq='$_POST[icq]', by='$_POST[by]', postnr='$_POST[postnr]', hjemmeside='$_POST[hjemmeside]', klan='$_POST[klan]', beskeftigelse='$_POST[beskeftigelse]', beskrivelse='$_POST[beskrivelse]' WHERE postnr='6200'") or die(mysql_error());
Avatar billede ahv Nybegynder
21. juni 2003 - 15:56 #4
Istedet for den -> WHERE postnt=.... Så burde du nok hive id'et ud på bruger og lægge det i et hidden felt også lave en WHERE på den -> WHERE id='$_POST[id]'
Avatar billede usse Nybegynder
21. juni 2003 - 16:41 #5
Der skal normalt ikke være postnr. Det er bare for en sikkerhedsskyld, at jeg tester med mit postnr til min profil!! og normalt angiver jeg brugerne efter profil_id
Avatar billede ahv Nybegynder
21. juni 2003 - 16:46 #6
Melder den nogen fejl med ->

mysql_query("UPDATE profiler_generelt SET navn='$_POST[navn]', alder='$_POST[alder]', mail='$_POST[mail]', icq='$_POST[icq]', by='$_POST[by]', postnr='$_POST[postnr]', hjemmeside='$_POST[hjemmeside]', klan='$_POST[klan]', beskeftigelse='$_POST[beskeftigelse]', beskrivelse='$_POST[beskrivelse]' WHERE postnr='6200'") or die(mysql_error());
Avatar billede ahv Nybegynder
21. juni 2003 - 16:47 #7
aah der var fejlen :o) Du har et reseveret ord med "by", sådan her skal den være ->

mysql_query("UPDATE profiler_generelt SET navn='$_POST[navn]', alder='$_POST[alder]', mail='$_POST[mail]', icq='$_POST[icq]', `by`='$_POST[by]', postnr='$_POST[postnr]', hjemmeside='$_POST[hjemmeside]', klan='$_POST[klan]', beskeftigelse='$_POST[beskeftigelse]', beskrivelse='$_POST[beskrivelse]' WHERE postnr='6200'") or die(mysql_error());
Avatar billede usse Nybegynder
21. juni 2003 - 17:30 #8
Sådan en lille lam fejl! ahv du er en gutterman og du får dine gyldne 15 points
=)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester