15. december 2003 - 15:53Der er
13 kommentarer og 1 løsning
skal slette bruger
Hejsa
jeg har denne kode og vil godt havde lavet sådan at jeg kan slette en bruger ved og trykke på et link
<?php //Vi starter sessions session_start();
//Hvis ikke sessions er sat, bliver man sendt til logind.php if(!isset($_SESSION['s_brugernavn'], $_SESSION['s_admin'])) { header("Location:logind.php"); exit; }
//Læg herunder mærke til at der bruges to " = " tegn. //Bruger du kun et enkelt, vil session "admin" få tildelt værdien 2 if($_SESSION['s_admin'] == 2) {
//Henter ting ud fra Bruger include ("mysql_funktioner.php"); aabn_forbindelse_og_vaelgdb();
// Hent først data ud $resultat = mysql_query("select brugernavn, email from Bruger");
// Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); echo "Brugernavn: $brugernavn Email: $email <br><br>"; } luk_forbindelse(); }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
//Hvis ikke sessions er sat, bliver man sendt til logind.php if(!isset($_SESSION['s_brugernavn'], $_SESSION['s_admin'])) { header("Location:logind.php"); exit; }
//Læg herunder mærke til at der bruges to " = " tegn. //Bruger du kun et enkelt, vil session "admin" få tildelt værdien 2 if($_SESSION['s_admin'] == 2) {
//Henter ting ud fra Bruger include ("mysql_funktioner.php"); aabn_forbindelse_og_vaelgdb();
// Hent først data ud $resultat = mysql_query("select brugernavn, email from Bruger");
// Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); echo "Brugernavn: $brugernavn Email: $email <br><br>"; } if($brugernavn||$email){ mysql_query("delete from Bruger WHERE = '$brugernavn'") or die (mysql_error()); } luk_forbindelse(); } ?> Utestet!
//Hvis ikke sessions er sat, bliver man sendt til logind.php if(!isset($_SESSION['s_brugernavn'], $_SESSION['s_admin'])) { header("Location:logind.php"); exit; }
//Læg herunder mærke til at der bruges to " = " tegn. //Bruger du kun et enkelt, vil session "admin" få tildelt værdien 2 if($_SESSION['s_admin'] == 2) {
//Henter ting ud fra Bruger include ("mysql_funktioner.php"); aabn_forbindelse_og_vaelgdb();
// Hent først data ud $resultat = mysql_query("select brugernavn, email from Bruger");
// Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); echo "Brugernavn: <a href=\"DIN FIL.php\">$brugernavn</a> Email: $email <br><br>"; } if($brugernavn){ mysql_query("delete from Bruger WHERE brugernavn = '$_GET[brugernavn]'") or die (mysql_error()); }
the_legend: Det undrer mig lidt at dit script altid forsøger at slette en bruger, bare der blev hentet noget fra databasen. Det pågældende brugernavn vil normalt (pga manglende dele i linket) være tomt..
Sådan ville jeg gøre (modificeret udgave af the_legend's svar):
<?php //Vi starter sessions session_start();
//Hvis ikke sessions er sat, bliver man sendt til logind.php if(!isset($_SESSION['s_brugernavn'], $_SESSION['s_admin'])) { header('Location: logind.php'); // Her bør du skrive fuld sti med host og det hele exit; }
//Læg herunder mærke til at der bruges to " = " tegn. //Bruger du kun et enkelt, vil session "admin" få tildelt værdien 2 if($_SESSION['s_admin'] == 2) {
//Henter ting ud fra Bruger include ('mysql_funktioner.php'); aabn_forbindelse_og_vaelgdb();
// Hent først data ud $resultat = mysql_query('select brugernavn, email from Bruger');
// Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); echo 'Brugernavn: <a href="'.$_SERVER['PHP_SELF'].'?slet='.rawurlencode($brugernavn).'">[Slet]'.$brugernavn.' Email: $email <br><br>'; } if(isset($_GET['slet']) && !empty($_GET['slet'])){ mysql_query('delete from Bruger WHERE brugernavn = \''.$_GET['slet'].'\'') or die (mysql_error()); }
Nåja.. hov.. :o) Det er fordi den henter listen før der bliver slettet.. Dvs, brugeren _bliver_ slettet første gang, man ser det bare ikke fordi listen allerede på det tidspunkt er forældet. Sådan skal det gøres:
?php //Vi starter sessions session_start();
//Hvis ikke sessions er sat, bliver man sendt til logind.php if(!isset($_SESSION['s_brugernavn'], $_SESSION['s_admin'])) { header('Location: logind.php'); // Her bør du skrive fuld sti med host og det hele exit; }
//Læg herunder mærke til at der bruges to " = " tegn. //Bruger du kun et enkelt, vil session "admin" få tildelt værdien 2 if($_SESSION['s_admin'] == 2) {
//Henter ting ud fra Bruger include ('mysql_funktioner.php'); aabn_forbindelse_og_vaelgdb();
// Slet en bruger, hvis der er blevet bedt om det if(isset($_GET['slet']) && !empty($_GET['slet'])){ mysql_query('delete from Bruger WHERE brugernavn = \''.$_GET['slet'].'\'') or die (mysql_error()); }
// Hent først data ud $resultat = mysql_query('select brugernavn, email from Bruger');
// Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); echo 'Brugernavn: <a href="'.$_SERVER['PHP_SELF'].'?slet='.rawurlencode($brugernavn).'">[Slet]'.$brugernavn.' Email: $email <br><br>'; } } luk_forbindelse(); } ?>
men lige en ting mere hvis du logger ind her http://codemanager.frac.dk/Medlem%20opret_/logind.php bruger Admin pass Test og går ind på funktion så kan du se at den første bruger står fint men den næste der står det hele som et link
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.