Avatar billede Slettet bruger
23. maj 2003 - 16:55 Der er 12 kommentarer og
1 løsning

Hvordan kan jeg gøre at bruger kan "edit" deres profil?

Jeg kan ikke få den her til at update det, den skriver bare at "update og så adresse, navnet og password og alt det der=1" og den indsætter det alligevel ikke i DB'en håber I kan hjælpe mig..!
<?
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM test1 WHERE navn='$s_navn' AND password='$s_password'") or print mysql_error();
while($r = mysql_fetch_array($query)) {
$id = $r["id"];
$navn = $r["navn"];
$password = $r["password"];
$email = $r["email"];
$alder = $r["alder"];
$mobil = $r["mobil"];
$msn = $r["msn"];
$icq = $r["icq"];
}
?>
<form method="post" action="edit.php">
<input type="hidden" name="id" value="$id">
<table width="300">
<tr>
<td width="300" colspan="2"><b>Ret oplysninger</b></td>
</tr><tr>
<td width="150">Navn:</td>
<td width="150"><? echo "$navn" ?></td>
</tr><tr>
<td width="150">Kodeord:</td>
<td width="150"><input type="password" name="kodeord" value="<? echo "$password"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Email:</td>
<td width="150"><input type="text" name="email" value="<? echo "$email"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Alder:</td>
<td width="150"><input type="text" name="alder" value="<? echo "$alder"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Mobil:</td>
<td width="150"><input type="text" name="mobil" value="<? echo "$mobil"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">MsN:</td>
<td width="150"><input type="text" name="msn" value="<? echo "$msn"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">IcQ Uni:</td>
<td width="150"><input type="text" name="icq" value="<? echo "$icq"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="300" colspan="2" align="right"><input type="submit" name="update" value="Udfør"></td>
</tr>
</table>
</form>
<?
// Opdater oplysningerne
if ($update) {
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("UPDATE test1 INSERT navn='$navn', password='$password', email='$email', alder='$alder', WHERE id='$id'") or print mysql_error();
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
?>
Avatar billede Slettet bruger
23. maj 2003 - 16:59 #1
Her er så DB'en:

CREATE TABLE test1 (
  id int(11) NOT NULL auto_increment,
  navn tinytext NOT NULL,
  password tinytext NOT NULL,
  email tinytext NOT NULL,
  alder tinytext NOT NULL,
  realnavn text NOT NULL,
  mobil text NOT NULL,
  icq text NOT NULL,
  msn text NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

#
# Data dump for tabellen `test1`
#

INSERT INTO test1 VALUES (1, '123', '1234', 'mail', 'alder', 'realnavn', 'mobil', 'icquni', 'msn');
Avatar billede ztyxx Nybegynder
23. maj 2003 - 17:00 #2
prøv at ændre din form method til get
Avatar billede ztyxx Nybegynder
23. maj 2003 - 17:03 #3
og brug de nye globals i din update, $GET[felt] osv
Avatar billede Slettet bruger
23. maj 2003 - 17:04 #4
prøv kopier texten og insæt den her, og så med rettelserne... det ville gøre det meget nemmer for, mig ved ikke hvilke ting du snakker om hvilke felter osv?
Avatar billede ztyxx Nybegynder
23. maj 2003 - 17:05 #5
eller ihvert tilfælde så brug $_GET["update"] i din if sætning, og $_POST[felt] i din update hvis du bruger post som method
Avatar billede Slettet bruger
23. maj 2003 - 17:06 #6
hver sød lige at vise bare indsæt det hele og vise et eksempel
Avatar billede ztyxx Nybegynder
23. maj 2003 - 17:09 #7
<?
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM test1 WHERE navn='$s_navn' AND password='$s_password'") or print mysql_error();
while($r = mysql_fetch_array($query)) {
$id = $r["id"];
$navn = $r["navn"];
$password = $r["password"];
$email = $r["email"];
$alder = $r["alder"];
$mobil = $r["mobil"];
$msn = $r["msn"];
$icq = $r["icq"];
}
?>
<form method="post" action="edit.php">
<input type="hidden" name="id" value="$id">
<table width="300">
<tr>
<td width="300" colspan="2"><b>Ret oplysninger</b></td>
</tr><tr>
<td width="150">Navn:</td>
<td width="150"><? echo "$navn" ?></td>
</tr><tr>
<td width="150">Kodeord:</td>
<td width="150"><input type="password" name="kodeord" value="<? echo "$password"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Email:</td>
<td width="150"><input type="text" name="email" value="<? echo "$email"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Alder:</td>
<td width="150"><input type="text" name="alder" value="<? echo "$alder"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Mobil:</td>
<td width="150"><input type="text" name="mobil" value="<? echo "$mobil"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">MsN:</td>
<td width="150"><input type="text" name="msn" value="<? echo "$msn"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">IcQ Uni:</td>
<td width="150"><input type="text" name="icq" value="<? echo "$icq"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="300" colspan="2" align="right"><input type="submit" name="update" value="Udfør"></td>
</tr>
</table>
</form>
<?
// Opdater oplysningerne
if ($_POST["update"]) {
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("UPDATE test1 INSERT navn='" . $_POST["navn"] . "', password='" . $_POST["password"] . "', email='"$_POST["email"] . "', alder='" . $_POST["alder"] . "', WHERE id='" . $_POST["id"] . "'") or print mysql_error();
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
?>
Avatar billede Slettet bruger
23. maj 2003 - 17:18 #8
fejl i linje 54 siger den...!(?)
Avatar billede ztyxx Nybegynder
24. maj 2003 - 00:43 #9
prøv

<?
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM test1 WHERE navn='$s_navn' AND password='$s_password'") or print mysql_error();
while($r = mysql_fetch_array($query)) {
$id = $r["id"];
$navn = $r["navn"];
$password = $r["password"];
$email = $r["email"];
$alder = $r["alder"];
$mobil = $r["mobil"];
$msn = $r["msn"];
$icq = $r["icq"];
}
?>
<form method="post" action="edit.php">
<input type="hidden" name="id" value="$id">
<table width="300">
<tr>
<td width="300" colspan="2"><b>Ret oplysninger</b></td>
</tr><tr>
<td width="150">Navn:</td>
<td width="150"><? echo "$navn" ?></td>
</tr><tr>
<td width="150">Kodeord:</td>
<td width="150"><input type="password" name="kodeord" value="<? echo "$password"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Email:</td>
<td width="150"><input type="text" name="email" value="<? echo "$email"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Alder:</td>
<td width="150"><input type="text" name="alder" value="<? echo "$alder"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">Mobil:</td>
<td width="150"><input type="text" name="mobil" value="<? echo "$mobil"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">MsN:</td>
<td width="150"><input type="text" name="msn" value="<? echo "$msn"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="150">IcQ Uni:</td>
<td width="150"><input type="text" name="icq" value="<? echo "$icq"; ?>" style="width: 152px"></td>
</tr><tr>
<td width="300" colspan="2" align="right"><input type="submit" name="update" value="Udfør"></td>
</tr>
</table>
</form>
<?
// Opdater oplysningerne
if ($_POST["update"]) {
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("UPDATE test1 INSERT navn='" . $_POST[navn] . "', password='" . $_POST[password] . "', email='" . $_POST[email] . "', alder='" . $_POST[alder] . "', WHERE id='" . $_POST[id] . "'") or print mysql_error();
echo "<font color=\"darkgreen\">Dine oplysninger er blevet opdateret";
}
?>
Avatar billede Slettet bruger
25. maj 2003 - 19:44 #10
You have an error in your SQL syntax near 'INSERT navn='', password='', email='mail@test.dk', alder='16', WHERE id='$id'' at line 1Dine oplysninger er blevet opdateret
Avatar billede sostack Nybegynder
26. maj 2003 - 15:01 #11
$query = mysql_query("UPDATE test1 INSERT navn='" . $_POST[navn] . "', password='" . $_POST[password] . "', email='" . $_POST[email] . "', alder='" . $_POST[alder] . "', WHERE id='" . $_POST[id] . "'") or print mysql_error();

skal rettes til:

$query = mysql_query("UPDATE test1 SET navn='" . $_POST[navn] . "', password='" . $_POST[password] . "', email='" . $_POST[email] . "', alder='" . $_POST[alder] . "', WHERE id='" . $_POST[id] . "'") or print mysql_error();


//sostack
Avatar billede ztyxx Nybegynder
26. maj 2003 - 15:04 #12
hehe, godt set, havde ikke lige opdaget at den stod til INSERT og ikke SET
Avatar billede Slettet bruger
07. september 2005 - 13:51 #13
tak
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