Avatar billede cupermann Nybegynder
04. januar 2005 - 20:37 Der er 38 kommentarer og
1 løsning

Hvordan laver amn en slet bruger funktiun

Dav vil lige høre om hvordan jeg laver et system hvor jeg kan søge efter en bruger og så slettet ham?

Det må godt være hvor jeg kan søge efter feks. namse og så kommer der en funktion slet eller sådan noget

håber i kan hjælpe og det skal køre php og mysql takker
Avatar billede neocron Nybegynder
04. januar 2005 - 23:28 #1
Hvis du vil søge på en bruger i en database kan du gøre det på følgende måde:

$query = mysql_query("select id, navn from bruger_tabel where navn like '%$navn%'") or die(mysql_error());

Det vil sige at den søger på ALT som indeholder strengen $navn.
Hvis vi, fx. søger på "bent", så finder den foruden BENT også BENTe, BENTjensen og aBENTo, såfrem strengen $navn findes i deres navn.

Den næste query skulle være lige til at forstå - den er således:

$query = mysql_query("delete from bruger_tabel where navn = '$navn'") or die(mysql_error());
Avatar billede cupermann Nybegynder
04. januar 2005 - 23:47 #2
Ja men jeg mener at kan man lave et script lige som det jeg mener her.

Jeg klikker på min profil i admin systemet. klikker på slet bruger.
Så kommer jeg et en box hvor jeg skal skrive brugers navn feks mads. så kommer der bare en hvor der står slet?

Kan man lave sådan en?
Avatar billede moocher Nybegynder
04. januar 2005 - 23:48 #3
Hvis der nu er to der hedder mads?
Avatar billede cupermann Nybegynder
04. januar 2005 - 23:51 #4
Hm jeg vil ha lige som et søge script med slet bruger
Avatar billede neocron Nybegynder
04. januar 2005 - 23:53 #5
Man skal jo slet ikke have mulighed for at lave 2 brugere med samme navn i et brugersystem - det er jo ulogisk, vil jeg sige?

Søger du et helt script til at udføre søgningen, vise result(erne) og derefter følgende kode til at slette brugeren?
Avatar billede cupermann Nybegynder
04. januar 2005 - 23:54 #6
jamen findes der et søge script med slet
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:00 #7
Jeg har et søge script som virker hvad skal je gøre for at få lagt slet funktion ind i det




&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a>&nbsp;&nbsp;&nbsp;&nbsp;
</a><form action="<?=$PHP_SELF;?>" method="get">

<font size="1" face="verdana">Søge-ord:<BR>
<? if($seek){
echo "<INPUT TYPE=\"text\" SIZE=\"25\" NAME=\"seek\" VALUE=\"$seek\">";
} else {
echo "<INPUT TYPE=\"text\" SIZE=\"25\" NAME=\"seek\">";
} ?>
<input type="submit" name="sog" value="Søg">

    </font></form>
<hr color="#000000">
<font size="1" face="verdana"><?
if($seek){
$result = mysql_query("SELECT * FROM users WHERE username LIKE '%$seek%' OR email LIKE '%$seek%' OR rum LIKE '%$seek%' OR spir LIKE '%$seek%' ");
$number = mysql_num_rows($result);

if($number == 0){
echo "<B>Resultater: <BR>Der blev ikke fundet nogle resultater til søgeordet: <I>$seek</I></B>";
} elseif($number > 50){
echo "<B>Resultater: <BR>Over 50 resultater, prøv at indskrænke dine søgeord.</B>";
} else {
while ($row = mysql_fetch_array($result)) {
echo "<a href=$row[username]>$row[email]</a>lejlighed [$row[rum]]<br>$row[spir]<br><font color=c0c0c0>$row[rum]</font><br>";
}
echo "";
}
} else {
echo "";
}
?>
Avatar billede neocron Nybegynder
05. januar 2005 - 00:01 #8
Det gør der vel - kender dog ingen sites med download af netop sådan et script. Men det er jo egentlig bare at lave et link ved siden af brugernavn som f.eks går til slet.php?ip=2 eller slet.php?navn=Mads... hvis jeg har forstået dig korrekt.
Avatar billede neocron Nybegynder
05. januar 2005 - 00:08 #9
Du kan jo lege lidt med noget i stil af dette:

if($row['username'] == $seek) {
  // brugernavnet stemmer overens med søgenavnet - SLET
} else {
  // der var ingen resultater, der matchede - KAN IKKE SLETTE
}

Du skal måske kombinere det med et loop, da der jo i nogle tilfælde kan være flere brugere som har $seek som en del af sit navn.
(antal brugere findes med mysql_num_rows()).
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:09 #10
Okay jeg har lige fået det her til at virke så jeg kan se alle mine bruger men hvordan laver jeg så at der står ved siden af den Slet bruger scripttet ser sådan ud


<?php
// Sletter hvis der er valgt en bruger
mysql_connect("localhost","The-World.dk","lpnz65hy");
mysql_select_db("the-world");
//Viser alle bruger
$query = mysql_query("SELECT username,id FROM users ORDER BY username ASC") or die (mysql_error());
while($row = mysql_fetch_array($query)) {
    echo "$row[username] </a><br>";
}
?>
<hr>
<?php
?>
<?php
?>
Avatar billede neocron Nybegynder
05. januar 2005 - 00:16 #11
echo "$row[username] </a><br>";

Rettes til:

echo $row['username'] . " <a href=\"slet.php?navn=" . $row['username'] . "\">Slet</a>";
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:17 #12
prøv at se her jeg har lavet lidt her:





// Sletter hvis der er valgt en bruger
if(isset($_GET['delete'])) {
  $id = $_GET['delete'];
  mysql_query("DELETE FROM users WHERE id = $id") or die (mysql_error());
}
// Udskriver alle brugernavne
mysql_query("");
$query = mysql_query("SELECT username,id FROM users ORDER BY username ASC");
while($row = mysql_fetch_array($query)) {
  echo "$row[username] | <a href=\"?delete=$row[id]\">(Slet brugeren)</a><br>";
}
?>

<p>&nbsp;</p>


men den slettet ikke
Avatar billede neocron Nybegynder
05. januar 2005 - 00:20 #13
Prøv at outputte $id og se om den overhovedet udskiver noget:

if(isset($_GET['delete'])) {
  $id = $_GET['delete'];
  echo $id;
  //mysql_query("DELETE FROM users WHERE id = $id") or die (mysql_error());
}

Her bliver mysql_query'en lige udkommenteret. Ingen grund til at lave et kald uden grund :)
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:22 #14
Virker ik
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:23 #15
har du MSN
messenger
Avatar billede neocron Nybegynder
05. januar 2005 - 00:28 #16
Ja det har jeg, men iflg. reglerne skal løsningen postes her - så vi kan vel lige så godt holde det her, først som sidst :)
Prøv at ændre $_GET til $_POST eller også simpelthen bare sige $delete. Prøv dem alle 3 og se hvad der sker.
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:34 #17
nej dur ik
Avatar billede neocron Nybegynder
05. januar 2005 - 00:36 #18
Jeg prøver lige at lave en test. Uploader den og source om lidt.
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:38 #19
oKAY
Avatar billede neocron Nybegynder
05. januar 2005 - 00:41 #20
http://www.webdruid.dk/variabel.php

Prøv at klikke på "Fiktiv slet" og se at det virker - derefter Vis kilde for at se source :)
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:42 #21
Hvad mener du
sry
Avatar billede neocron Nybegynder
05. januar 2005 - 00:44 #22
Du kan se at variablen $delete er sat i mit mini-script, og at den outputter værdien af $delete (1). Det kunne du ikke få din til, så vidt jeg har forstået.
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:44 #23
ja og hvorfor?
Avatar billede neocron Nybegynder
05. januar 2005 - 00:46 #24
Ja, så var dette lille script måske et udgangspunkt for at kunne få din til at outputte noget, så du kan komme til at slette nogle brugere :)
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:47 #25
okay Kan du måske gøre det?
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:48 #26
;)
Avatar billede neocron Nybegynder
05. januar 2005 - 00:49 #27
Jeg ville prøve, i stil af min, at ændre:

// Sletter hvis der er valgt en bruger
if(isset($_GET['delete'])) {
  $id = $_GET['delete'];
  mysql_query("DELETE FROM users WHERE id = $id") or die (mysql_error());
}

til ->

if(isset($delete)) {
  mysql_query("DELETE FROM users WHERE id = '$delete'") or die (mysql_error());
}
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:50 #28
Hmmmm virker ik );
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:52 #29
STOPPPPPPPP JUBIIIII det virker ;)
Avatar billede neocron Nybegynder
05. januar 2005 - 00:52 #30
Kommer den med nogle fejlbeskeder?

if(isset($delete)) {
  echo $delete;
  //mysql_query("DELETE FROM users WHERE id = '$delete'") or die (mysql_error());
}

Prøv også evt. med en var_dump($delete).
Avatar billede neocron Nybegynder
05. januar 2005 - 00:53 #31
Ahh nice - men skift lige dit password til databasen - du er kommmet til at poste både user og pass herinde!
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:54 #32
hvor henne
Avatar billede neocron Nybegynder
05. januar 2005 - 00:55 #33
05/01-2005 00:09:04 poster du user / pass til The-World.
Jeg smider lige et svar, hvis det funker.
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:55 #34
Kan man ikke bare slettet enme
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:56 #35
jamen tak for hjælpen kan jeg få din MSN
Avatar billede neocron Nybegynder
05. januar 2005 - 00:57 #36
Nej. Det kan man ikke så vidt jeg ved. Men hvorfor også tage chancen? Nogen kan jo se det, og bare copy-paste det og finde din phpMyAdmin og misbruge din database. Og det er jo ikke særlig sjovt at blive udsat for.
Avatar billede neocron Nybegynder
05. januar 2005 - 00:58 #37
Det var så lidt. Jeg har lagt et svar :)
webdruid@webdruid.dk
Avatar billede cupermann Nybegynder
05. januar 2005 - 00:58 #38
Kan man sådan at man ikke kan slette admins?
Avatar billede neocron Nybegynder
05. januar 2005 - 01:16 #39
Det kan du da godt, hvis du f.eks. siger at brugergruppe 1 er admins, så kan du f.eks. gøre som følger:

$deleteuser = (($row['status'] == 1) ? die("Kan ikke slette admin") : mysql_query("delete from users where id='$x'"));
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