Avatar billede proware Nybegynder
15. december 2003 - 15:53 Der 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&nbsp; Email: $email&nbsp;<br><br>";
}
luk_forbindelse();
}

?>
Avatar billede the_legend Nybegynder
15. december 2003 - 16:03 #1
åØå<?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&nbsp; Email: $email&nbsp;<br><br>";
}
if($brugernavn||$email){
mysql_query("delete from Bruger WHERE  = '$brugernavn'") or die (mysql_error());
}
luk_forbindelse();
}
?>
Utestet!
Avatar billede the_legend Nybegynder
15. december 2003 - 16:04 #2
Husk at fjerne åØå :D
Avatar billede proware Nybegynder
15. december 2003 - 16:06 #3
hmm det virker ikke

You have an error in your SQL syntax near '= 'Test'' at line 1
Avatar billede proware Nybegynder
15. december 2003 - 16:09 #4
jeg kan sku ikke finde den fejl
Avatar billede the_legend Nybegynder
15. december 2003 - 16:14 #5
sikker på et test eksistere
Avatar billede the_legend Nybegynder
15. december 2003 - 16:16 #6
if($brugernavn||$email){
mysql_query("delete from Bruger WHERE brugernavn = '$brugernavn'") or die (mysql_error());
}

Self
Avatar billede the_legend Nybegynder
15. december 2003 - 16:18 #7
<?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: <a href=\"DIN FIL.php\">$brugernavn</a>&nbsp; Email: $email&nbsp;<br><br>";
}
if($brugernavn){
mysql_query("delete from Bruger WHERE brugernavn = '$_GET[brugernavn]'") or die (mysql_error());
}

}
luk_forbindelse();
}
?>
Avatar billede the_legend Nybegynder
15. december 2003 - 16:54 #8
hva følger du med i dit spm?
Avatar billede xyborx Nybegynder
16. december 2003 - 15:46 #9
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.'&nbsp; Email: $email&nbsp;<br><br>';
}
if(isset($_GET['slet']) && !empty($_GET['slet'])){
mysql_query('delete from Bruger WHERE brugernavn = \''.$_GET['slet'].'\'') or die (mysql_error());
}

}
luk_forbindelse();
}
?>
Avatar billede proware Nybegynder
16. december 2003 - 16:28 #10
xyborx >> det virker fint næsten hvorfor skal man trykke to gange på linket før den sletter
Avatar billede xyborx Nybegynder
16. december 2003 - 17:22 #11
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.'&nbsp; Email: $email&nbsp;<br><br>';
}
}
luk_forbindelse();
}
?>
Avatar billede proware Nybegynder
16. december 2003 - 18:02 #12
tak xyborx

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
Avatar billede xyborx Nybegynder
16. december 2003 - 18:08 #13
Doh.. Glemte at afslutte linket med </A> efter [Slet]:

...
echo 'Brugernavn: <a href="'.$_SERVER['PHP_SELF'].'?slet='.rawurlencode($brugernavn).'">[Slet]</A>'.$brugernavn.'&nbsp; Email: $email&nbsp;<br><br>';
...

Nu kan der heller ikke være meget mere galt ;)
Avatar billede proware Nybegynder
22. december 2003 - 12:25 #14
jeps det virker nu

tak for hjælpem xyborx
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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

IT-JOB