27. september 2003 - 17:57Der er
61 kommentarer og 1 løsning
Kan ikke ændre i databasen.!
Så fik jeg lagt spørgsmålet i rigtige kategori.. Her er mit problem..
Jeg har hentet et login-system på lojmann.dk, og jeg har også tilpasset den til min side. Problemet er at når man har oprettet en bruger, og logget ind, skal man kunne rette i sine profil oplysninger, men det kan man ikke.. Den skriver: "Du skal udfylde alle felterne som har en * ud for sig!". Som der også står i "edit_profil.php".
<? session_start(); require("db_ind.inc"); $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$brugernavn'"); if (!mysql_num_rows($passquery)) { echo "Ugyldigt brugernavn!<p>"; exit(); } else { $row = mysql_fetch_array($passquery); $dbpassword = $row["kodeord"]; if($dbpassword == $kodeord) { $login = (true); } if ($dbpassword != $kodeord) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } } ?>
<!-- Her skal <HTML> starte-->
<?
if(!$fornavne || !$efternavn || !$adresse || !$postnr || !$by || !$email || !$kodeord) { echo "Du skal udfylde alle felterne som har en <b>*<b/> ud for sig!"; exit(); } else { addslashes($fornavne); addslashes($efternavn); addslashes($adresse); addslashes($postnr); addslashes($by); addslashes($mobil); addslashes($email); addslashes($kodeord); $kodeord = md5($new_password); $today = date("d-m-Y"); include("db_ind.inc"); $update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', by = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$brugernavn'"); mail($email, "Rettelse af din profil på ???.dk", "Hej $fornavne $efternavn...\n\n Du har redigeret din personlige profil på ???.dk, her er de nye data der er registrer.\n Hvis nogen af dem er forkerte, bør du straks rette dem, ved at logge ind på siden og vælge rediger profil.\n\n Fornavne: $fornavne\n Efternavn: $efternavn\n Adresse: $adresse\n Port Nr. & By: $postnr $by\n Mobil: $mobil\n Bruger navn: $brugernavn\n Password: $passworda\n E-mail: $email\n\n Vi ønsker dig rigtig god fornøjelse med dit medlemsskab.\n\n Med Venlig Hilsen\n\n ???.dk","From: user@???.dk\nReply-To: user@???.dk");
echo "Din profil er nu blevet opdateret."; }
?>
<!-- Evt. link til log_ud.php, i tilfælde af password skift!-->
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg har prøvet at skrive: $brugernavn = $_GET['brugernavn']; i toppen af filen. Og det ændrede ikke noget... Den skrev det samme ("Du skal udfylde alle felterne som har en * ud for sig!")..
if(!$fornavne || !$efternavn || !$adresse || !$postnr || !$by || !$email || !$kodeord) { echo "Du skal udfylde alle felterne som har en <b>*<b/> ud for sig!"; exit(); } else {
-------------------
Sådan at filen kom til at se sådan her ud:
<?
session_start(); require("db_ind.inc"); $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$brugernavn'"); if (!mysql_num_rows($passquery)) { echo "Ugyldigt brugernavn!<p>"; exit(); } else { $row = mysql_fetch_array($passquery); $dbpassword = $row["kodeord"]; if($dbpassword == $kodeord) { $login = (true); } if ($dbpassword != $kodeord) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } } ?>
<!-- Her skal <HTML> starte-->
<?
addslashes($fornavne); addslashes($efternavn); addslashes($adresse); addslashes($postnr); addslashes($by); addslashes($mobil); addslashes($email); addslashes($kodeord); $kodeord = md5($new_password); $today = date("d-m-Y"); include("db_ind.inc"); $update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', by = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$brugernavn'"); mail($email, "Rettelse af din profil på ???.dk", "Hej $fornavne $efternavn...\n\n Du har redigeret din personlige profil på ???.dk, her er de nye data der er registrer.\n Hvis nogen af dem er forkerte, bør du straks rette dem, ved at logge ind på siden og vælge rediger profil.\n\n Fornavne: $fornavne\n Efternavn: $efternavn\n Adresse: $adresse\n Port Nr. & By: $postnr $by\n Mobil: $mobil\n Bruger navn: $brugernavn\n Password: $passworda\n E-mail: $email\n\n Vi ønsker dig rigtig god fornøjelse med dit medlemsskab.\n\n Med Venlig Hilsen\n\n ???.dk","From: user@???.dk\nReply-To: user@???.dk");
echo "Din profil er nu blevet opdateret."; }
?>
<!-- Evt. link til log_ud.php, i tilfælde af password skift!-->
<? session_start(); require("db_ind.inc"); $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$_GET[brugernavn]'"); if (!mysql_num_rows($passquery)) { echo "Ugyldigt brugernavn!<p>"; exit(); } else { $row = mysql_fetch_array($passquery); $dbpassword = $row["kodeord"]; if($dbpassword == $kodeord) { $login = (true); } if ($dbpassword != $kodeord) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } } ?>
<!-- Her skal <HTML> starte-->
<?
if(!$fornavne || !$efternavn || !$adresse || !$postnr || !$by || !$email || !$kodeord) { echo "Du skal udfylde alle felterne som har en <b>*<b/> ud for sig!"; exit(); } else { addslashes($fornavne); addslashes($efternavn); addslashes($adresse); addslashes($postnr); addslashes($by); addslashes($mobil); addslashes($email); addslashes($kodeord); $kodeord = md5($new_password); $today = date("d-m-Y"); include("db_ind.inc"); $update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', by = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$_GET[brugernavn]'") or die(mysql_error()); mail($email, "Rettelse af din profil på ???.dk", "Hej $fornavne $efternavn...\n\n Du har redigeret din personlige profil på ???.dk, her er de nye data der er registrer.\n Hvis nogen af dem er forkerte, bør du straks rette dem, ved at logge ind på siden og vælge rediger profil.\n\n Fornavne: $fornavne\n Efternavn: $efternavn\n Adresse: $adresse\n Port Nr. & By: $postnr $by\n Mobil: $mobil\n Bruger navn: $_GET[brugernavn]\n Password: $passworda\n E-mail: $email\n\n Vi ønsker dig rigtig god fornøjelse med dit medlemsskab.\n\n Med Venlig Hilsen\n\n ???.dk","From: user@???.dk\nReply-To: user@???.dk");
echo "Din profil er nu blevet opdateret."; }
?>
<!-- Evt. link til log_ud.php, i tilfælde af password skift!-->
require("db_ind.inc"); $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$brugernavn'"); if (!mysql_num_rows($passquery)) { echo "Ugyldigt brugernavn!<p>"; exit(); } else { $row = mysql_fetch_array($passquery); $dbpassword = $row["kodeord"]; if($dbpassword == $kodeord) { $login = (true); } if ($dbpassword != $kodeord) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } } ?>
<!-- Her skal <HTML> starte-->
<?
if(!$fornavne || !$efternavn || !$adresse || !$postnr || !$by || !$email || !$kodeord) { echo "Du skal udfylde alle felterne som har en <b>*<b/> ud for sig!"; exit(); } else { addslashes($fornavne); addslashes($efternavn); addslashes($adresse); addslashes($postnr); addslashes($by); addslashes($mobil); addslashes($email); addslashes($kodeord); $kodeord = md5($new_password); $today = date("d-m-Y"); include("db_ind.inc"); $update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', `by` = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$brugernavn'") or die(mysql_error()); mail($email, "Rettelse af din profil på ???.dk", "Hej $fornavne $efternavn...\n\n Du har redigeret din personlige profil på ???.dk, her er de nye data der er registrer.\n Hvis nogen af dem er forkerte, bør du straks rette dem, ved at logge ind på siden og vælge rediger profil.\n\n Fornavne: $fornavne\n Efternavn: $efternavn\n Adresse: $adresse\n Port Nr. & By: $postnr $by\n Mobil: $mobil\n Bruger navn: $brugernavn\n Password: $passworda\n E-mail: $email\n\n Vi ønsker dig rigtig god fornøjelse med dit medlemsskab.\n\n Med Venlig Hilsen\n\n ???.dk","From: user@???.dk\nReply-To: user@???.dk");
echo "Din profil er nu blevet opdateret."; }
?>
<!-- Evt. link til log_ud.php, i tilfælde af password skift!-->
Addslashes... Hvad er det egentlig.? Er det ikke hvor den tilføjer til databasen?
Roden skyldes at det jeg hentede på lojmann.dk var skrevet med engelsk, og jeg havde lavet en database på dansk. og hvis jeg ændrede den til engelsk, skulle jeg lave om på en masse sider..
Jeg har lige prøvet at bruge det script du har lavet, og nu skriver den:
Forkert brugernavn eller password!!! Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker her.
session_start(); require("db_ind.inc"); $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$brugernavn'"); if (!mysql_num_rows($passquery)) { echo "Ugyldigt brugernavn!<p>"; exit(); } else { $row = mysql_fetch_array($passquery); $dbpassword = $row["kodeord"]; if($dbpassword == $password) { $login = (true); } if ($dbpassword != $kodeord) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } } ?>
<!-- -her skal <HTML> starte -->
<?
require("db_ind.inc"); $get_data = mysql_query("SELECT * FROM profiler WHERE brugernavn = '$brugernavn'"); $row = mysql_fetch_array($get_data);
Forkert brugernavn eller password!!! Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker her.
Li'som du skal have brugernavn med over igen, skal du vel have password med over igen. Tror jeg nok.
Det du laver er principielt nemt nok - du skal bare holde dig klart hvad du gør. Jeg smutter ud af spørgsmålet nu af 2 grunde: jeg har andet at lave, og jeg synes ikke du hører efter hvad jeg siger (og så spilder vi tiden begge to).
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.