Avatar billede jthyge Seniormester
11. september 2004 - 11:46 Der er 7 kommentarer og
1 løsning

Ændre data i tabel, med betingelser?

Hej

Nogen der kan hjælpe mig med at lave følgende!

Jeg har en SQL database med en masse oplysninger om folk:

Rang; Navn;Adresse; Tlf; Mobilnr; Mail; Faxnr;Hjemmeside; Fødselsdato; Placering; Funktion; Laver; Profilnr; Password;

Det jeg gerne vil have er en script (php) hvor brugerne kan indtaste deres data...
Når så de trykker opdater, skal scriptet gå ind i databasen og finde Profilnr der passer til brugerne, og hvis passwordet stemmer overens med det der står i tabellen i forvejen skal den ændre alle poster i tabellen...

Nogen der kan hjælpe mig med det?

/jthyge
Avatar billede jthyge Seniormester
11. september 2004 - 12:46 #1
200 point
Avatar billede arne_v Ekspert
11. september 2004 - 12:59 #2
Det er ikke point.
Avatar billede arne_v Ekspert
11. september 2004 - 13:00 #3
Her kommer et eksempel som må ligge meget meget tæt op af det du vil du kan så rette
til.

kartotek.sql:

create table kartotek (
  id integer primary key,
  navn varchar(50),
  adresse varchar(100),
  kode varchar(25)
);
insert into kartotek values(1, 'Arne', 'Arne vej 1', 'hemmeligt');
insert into kartotek values(2, 'Brian', 'Brian vej 2', 'Brian');

show.php:

<form method="post" action="update.php">
<?php
$id = $_GET["id"];
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test") or die(mysql_error());
$rs = mysql_query("select * from kartotek where id=" . $id) or die(mysql_error());
$row = mysql_fetch_array($rs, MYSQL_ASSOC);
print "<input type=\"hidden\" name=\"id\" value=\"" . $row["id"] . "\"/><br/>\n";
print "Navn: <input type=\"text\" name=\"navn\" value=\"" . $row["navn"] . "\"/><br/>\n";
print "Adresse: <input type=\"text\" name=\"adresse\" value=\"" . $row["adresse"] . "\"/><br/>\n";
print "Kode ord: <input type=\"password\" name=\"kode\"/><br/>\n";
mysql_free_result($rs);
mysql_close($con);
?>
<br/>
<input type="submit" value="Submit"/>
</form>

update.php:

<?php
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test") or die(mysql_error());
$id = $_POST["id"];
$navn = $_POST["navn"];
$adresse = $_POST["adresse"];
$kode = $_POST["kode"];
$rs = mysql_query("select kode from kartotek where id=" . $id) or die(mysql_error());
$row = mysql_fetch_array($rs, MYSQL_ASSOC);
if($row["kode"]==$kode) {
  mysql_query("update kartotek set navn='" . $navn . "',adresse='" . $adresse . "' where id=" . $id) or die(mysql_error());
  print "<a href=\"show.php?id=" . $id . "\">back</a>\n";
} else {
  print "Hacker !\n";
}
mysql_close($con);
?>

URL:

http://server/show.php?id=1
Avatar billede arne_v Ekspert
11. september 2004 - 13:01 #4
Du skal have tilføjer lidt flere felter.

Men ellers burde det kunne virke.

Du skal også have fundet en måde at vælge den der skal rettes på.
Avatar billede arne_v Ekspert
11. september 2004 - 13:02 #5
NB: Jeg programmerer normalt ikke i PHP, så forbehold tages for at der muligvis
er noget der kan laves smartere.
Avatar billede arne_v Ekspert
19. september 2004 - 18:55 #6
OK ?
Avatar billede jthyge Seniormester
28. december 2004 - 23:30 #7
Igen projektet har været lagt på is... Men tak for hjælpen! :-)
Avatar billede arne_v Ekspert
12. januar 2005 - 22:45 #8
Hvis du genoptager projektet så er det fint at vente med at lukke til du er
kommet videre.

Men hvis ikke projektet genoptages, så bør du lukke du nu.
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
Computerworld tilbyder specialiserede kurser i database-management

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