16. marts 2004 - 16:45Der er
10 kommentarer og 1 løsning
Login redigering
Jeg har et login script (se scripet efter ***) hvor admin kan logge ind og oprette bruger eller redeigere en bruger. Men når admin er logget ind, så er det kun muligt at redigere enten: Brugernavn, Email, Status. Jeg kunne godt tænke mig at man også kunne redigere i password, istedet for at man skal slette en bruger og oprette denne igen, hvis man skal give dem et nyt password.
Du laver endnu et tekstfelt til password i formen, når du redigerer.
Og bruger:
mysql_query("UPDATE `". $db_navn ."` set `password` = '". md5($_POST["password"]) ."' WHERE `brugernavn` = '". urldecode($_POST["editbruger"]) ."'") or die (mysql_error());
$check = mysql_query("SELECT `brugernavn`, `status` FROM `". $db_navn ."` WHERE `brugernavn` = '". $_POST["bruger"] ."' AND `password` = md5('". $_POST["pass"] ."')") or die (mysql_error());
mysql_query("UPDATE `". $db_navn ."` set `temp` = '". $_SESSION["id"] ."' WHERE `brugernavn` = '". $_SESSION["bruger"] ."' LIMIT 1") or die (mysql_error()); }else{
$_SESSION["error"] = "Forkert brugernavn eller password";
}
mysql_free_result($check);
header("Location:". $redirect .""); exit; }
//Er alle sessions sat? if(false !== tjek_login()) {
//Ok, så kan div. POST og GET behandles
if(isset($_POST["passigen"])) {
$check = mysql_query("SELECT `brugernavn` FROM `". $db_navn ."` WHERE `brugernavn` = '". $_SESSION["bruger"] ."' AND `password` = '". md5($_POST["passigen"]) ."' AND `temp` = '". $_SESSION["id"] ."'") or die (mysql_error());
//Er den rigtige session sat til at redigere brugere? if($_SESSION["status"] == $adminstatus) {
//Editburger if(isset($_GET["edit"])) { $_SESSION["edit"] = $_GET["edit"]; header("Location:". $redirect .""); exit; } //slut med GET edit
//annuller editbruger if(isset($_GET["annuller"]) && $_GET["annuller"] = "edit") { unset($_SESSION["edit"]); header("Location:". $redirect .""); exit; } //slut med GET annuller
//Opret en ny bruger if(isset($_POST["nybruger"])) {
foreach($_POST as $tjek) { if(trim($tjek) == "") { $_SESSION["besked"] = "Alle felter skal udfyldes!"; header("Location:". $redirect .""); exit; } }
$tjeknavn = mysql_query("SELECT `brugernavn` FROM `". $db_navn ."` WHERE `brugernavn` = '". $_POST["bruger"] ."'") or die (mysql_error());
if(mysql_num_rows($tjeknavn) != 1) { mysql_query("INSERT INTO `". $db_navn ."` (`brugernavn`, `password`, `email`, `status`) VALUES (". toData($_POST["bruger"]) .",'". md5($_POST["passw"]) ."',". toData($_POST["mail"]) .",". toData($_POST["admin"]) .")") or die (mysql_error()); $_SESSION["besked"] = "Ny bruger er oprettet"; }else{ $_SESSION["besked"] = "Brugernavnet findes allerede!"; } header("Location:". $redirect .""); exit; }//Slut med nybruger
//Slet en bruger if(isset($_POST["deluser"])) {
if (is_array($_POST["deluser"])) { while (list($key1, $key2) = each($_POST["deluser"])) { mysql_query("DELETE FROM `". $db_navn ."` WHERE `brugernavn` = '". $key2 ."'") or die (mysql_error()); } }else{ mysql_query("DELETE FROM `". $db_navn ."` WHERE `brugernavn` = '". $_POST["deluser"] ."'") or die (mysql_error()); }
unset($_SESSION["edit"]);
header("Location:". $redirect .""); exit; }//Slut med sletbruger
//Edit bruger if(isset($_POST["editbruger"])) {
mysql_query("UPDATE `". $db_navn ."` set `brugernavn` = ". toData($_POST["bruger"]) .", `email` = ". toData($_POST["mail"]) .", `status` = ". toData($_POST["admin"]) ." WHERE `brugernavn` = '". $_POST["editbruger"] ."' LIMIT 1") or die (mysql_error());
unset($_SESSION["edit"]);
header("Location:". $redirect .""); exit; }//Slut med edit bruger
//Slut på tjek om der er adminstatus } //slut på tjek om sessions er sat } ?>
Nu er jeg ikke nogen haj til det. Er det i brugeredit.php disse linjer skal ind? De andre linjer med input ser sådan. <td>Email:<br> <input type="text" name="mail" value=<?php echo toForm($vis->email); ?>></td> </tr><tr>
Kunne du sætte det ind i filen for mig der hvor det skal være?
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.