/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hvordan ændre jeg oplysninger i database v~
Fra : Christian Jørgensen


Dato : 01-07-07 11:02

Hej.

Jeg har følgende kode, som jeg slev har bikset sammen:

<?php

mysql_connect("192.168.1.3:3306", "chrlogin", "*") or
die(mysql_error());
mysql_select_db("chrlogin") or die(mysql_error());

$profil = nl2br($_POST[profil]);
// now we insert it into the database
$insert = "CHANGE INTO users WHERE username =
'".$_COOKIE['ID_my_site']."'
VALUES ('".$_POST['mail']."', '$profil'";
$add_member = mysql_query($insert);

?>

<!-- This is what they see before they have registered -->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0">
<tr><td>Ændre mail:</td><td>
<input type="text" name="mail" value="<?=$mail;?>"
maxlength="120">
</td></tr>
</td></tr>
<tr><td>Ændre din profil:</td><td>
<textarea name="profil" value="<?=$profil;?>" rows="7"
cols="24"></textarea>
</td></tr>
<tr><th colspan=2><input type="submit" name="submit"
value="opret"></th></tr> </table>
</form>

Denne kode skulle gerne kunne ændre ens mail og ens profil. Men
den virker ikke. Der kommer ingen fejl meddelelse.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Birger (01-07-2007)
Kommentar
Fra : Birger


Dato : 01-07-07 11:13

"Christian Jørgensen" <superfisker@gmail.com> skrev i en meddelelse
news:46877ba5$0$90268$14726298@news.sunsite.dk...
> Hej.
>
> Jeg har følgende kode, som jeg slev har bikset sammen:
>
> <?php
>
> mysql_connect("192.168.1.3:3306", "chrlogin", "*") or
> die(mysql_error());
> mysql_select_db("chrlogin") or die(mysql_error());
>
> $profil = nl2br($_POST[profil]);
> // now we insert it into the database
> $insert = "CHANGE INTO users WHERE username =
> '".$_COOKIE['ID_my_site']."'
> VALUES ('".$_POST['mail']."', '$profil'";
> $add_member = mysql_query($insert);
>
> ?>
>

Har ikke hørt om en "CHANGE" i mySQL...
REPLACE opdaterer eksisterende eller indsætter nye
UPDATE opdaterer kun eksisterende.

http://dev.mysql.com/doc/refman/5.1/en/data-manipulation.html

Birger



Johan Holst Nielsen (01-07-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 01-07-07 11:15

Christian Jørgensen wrote:
> Hej.
>
> Jeg har følgende kode, som jeg slev har bikset sammen:
>
> <?php
>
> mysql_connect("192.168.1.3:3306", "chrlogin", "*") or
> die(mysql_error());
> mysql_select_db("chrlogin") or die(mysql_error());
>
> $profil = nl2br($_POST[profil]);
> // now we insert it into the database
> $insert = "CHANGE INTO users WHERE username =
> '".$_COOKIE['ID_my_site']."'
> VALUES ('".$_POST['mail']."', '$profil'";
> $add_member = mysql_query($insert);

Hvor har du fået den SQL henne af?

$insert = "UPDATE users SET emailfelt = '".$_POST['mail']."', profilfelt
= '".$profil."' WHERE username = '".$_COOKIE['ID_my_site']."'";

Det er syntaxen - men vil lige gøre dig opmærksom på koden er heeelt
uden sikkerhed.

Den cookie du bruger til at identificere rækken med i databasen kan nemt
manipuleres - så man ændrer andres profiler. Du beskytter dig ikke mod
sql injection...

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste