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());
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?
</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 ""; } ?>
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.
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()).
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 ?>
// 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>"; } ?>
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.
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.
// 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()); }
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.
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'"));
Synes godt om
Ny brugerNybegynder
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.