Avatar billede crasher Nybegynder
27. januar 2004 - 15:06 Der er 18 kommentarer og
1 løsning

Find bruger i database

Hejsa jeg søger et lille script som kan følgende:

Der skal være en lille søgefunktion som søger i en mysql-database og finder det brugernavn man søger efter

databasen hedder brian og feltet med brugere hedder users

nogen der kan lave sådan en lille kode til mig ? ville være rigtig fedt :))))

venlig hilsen

Crasher,,,,
Avatar billede crasher Nybegynder
27. januar 2004 - 15:09 #1
hvis så i kan gøre så man ved en knappe kan ændre brugerens kodeord fra feltet kode ville det være ekstra super godt.,,, ;)))
Avatar billede jakobclausen Nybegynder
27. januar 2004 - 15:12 #2
<html>
<body>
<form method="post" action="#">
Indtast søgeord:<br>
<input name="searchName" type="text"><br>
<br>
<input name="submit" type="submit" value="S&oslash;g">
</form>

<?
if(isset($_POST['searchName']))
{
    $conn = mysql_connect("host", "bruger", "password");
    mysql_select_db("brian");
   
    $query = mysql_query("SELECT * FROM tabel WHERE users LIKE '%$_POST[searchName]%' ");
    while($r = mysql_fetch_array($query))
    {
        echo $r['kolonne'];
    }
}
?>
</body>
</html>
Avatar billede jakobclausen Nybegynder
27. januar 2004 - 15:16 #3
<-- retkode.php -->
<html>
<body>
<form method="post" action="retkode1.php">
<table width="500" border="0">
  <tr>
    <td width="147">Brugernavn: </td>
    <td width="343"><input name="user" type="text" size="30" class="inputText"></td>
  </tr>
  <tr>
    <td>Nuværende password:</td>
    <td><input name="pass" type="password" size="30" class="inputText"></td>
  </tr>
  <tr>
    <td>Nyt password: </td>
    <td><input name="nypassword1" type="password" size="30" class="inputText"></td>
  </tr>
  <tr>
    <td>Gentag nyt password: </td>
    <td><input name="nypassword2" type="password" size="30" class="inputText"></td>
  </tr>
  <tr>
    <td colspan="2"><div align="center"><input name="submit" type="submit" value="Ret" class="inputButton"></div></td>
  </tr>
</table>
</form>
</body>
</html>

<-- retkode1.php -->
<?
$conn = mysql_connect("host", "bruger", "qpassword");
mysql_select_db("brian");
$query = mysql_query("SELECT * FROM tabel WHERE navn='$_POST[user]' AND kode='$_POST[pass]' ");

if (mysql_num_rows($query) == 1)
{
    if($_POST['nypassword1'] == $_POST['nypassword2'])
    {
        $update = ("UPDATE bruger SET password = '$_POST[nypassword1]' WHERE username = '$_POST[user]' ");
        if(mysql_db_query ($DBName, $update, $conn))
        {           
            echo "Passwordet er rettet!<br>";
        }
        else
        {
            echo "Passwordet er IKKE rettet!<br>";
        }
    }
    else
    {
        echo "Du har ikke indtastet to ens password!<br>";
    }
}
else
{
    print("Du har indtastet forkerte oplysninger<br>");
}
?>
Avatar billede jakobclausen Nybegynder
27. januar 2004 - 15:20 #4
NB! Mangler lige at rette database navnene (password & username) så det passer med kode og navn, som jeg skrev først!
Avatar billede sukos Juniormester
27. januar 2004 - 15:23 #5
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<input type="text" name="find"> <input type="submit">
</form>

<?php
if(isset($_GET["find"])) {
$getnavn = mysql_query("SELECT `users` FROM `brian` WHERE `users` = '". $_GET["find"] ."'") or die (mysql_error());

if(mysql_num_rows($getnavn) !=0) {
echo mysql_result($getnavn, 0) ." blev fundet!";
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<input type="hidden" name="user" value="<?php echo mysql_result($getnavn, 0); ?>">
<input type="text" name="nytpass"> <input type="submit">
</form>
<?php

}else{
echo"Ingen med ". $_GET["find"] ." blev fundet i DB'en";
}
}

if(isset($_GET["nytpass"])) {
mysql_query("UPDATE `brian` set `password` = '". $_GET["nytpass"] ."' WHERE `user` = '". $_GET["user"] ."'") or die (mysql_error());
echo"Password opdateret";
}

?>

Går ud fra at der ikke er flere brugere med samme navn i DB'en! :O)
Avatar billede sukos Juniormester
27. januar 2004 - 15:24 #6
iøvrigt er det vel en go' ide at kryptere et password i DB'en!
Avatar billede crasher Nybegynder
27. januar 2004 - 15:25 #7
sorry jeg spørger og ved godt opgaven ikke gik ud på det men tror i også det er muligt at gøre sådan at man kan slette hele brugeren i databasen og måske slette brugerens mappe C:\brugeren ??

så kræver jeg heller ikke mere og har også allerede kræver for meget :-(
Avatar billede sukos Juniormester
27. januar 2004 - 15:43 #8
hmm, hmm:
Brugernavn i DB'en er unikt.
Der er IKKE noget dir i brugerdir'et, kun evt. filer.


<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<input type="text" name="find"> <input type="submit">
</form>

<?php
if(isset($_GET["find"])) {
$getnavn = mysql_query("SELECT `users` FROM `brian` WHERE `users` = '". $_GET["find"] ."'") or die (mysql_error());

if(mysql_num_rows($getnavn) !=0) {
echo mysql_result($getnavn, 0) ." blev fundet!";
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<input type="hidden" name="user" value="<?php echo mysql_result($getnavn, 0); ?>">
<input type="text" name="nytpass"> <input type="submit">
</form>
<p>
<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?deluser=<?php echo urlencode(mysql_result($getnavn, 0)); ?>">Slet brugeren</a>
<p>
<?php

}else{
echo"Ingen med ". $_GET["find"] ." blev fundet i DB'en";
}
}

if(isset($_GET["nytpass"])) {
mysql_query("UPDATE `brian` set `password` = '". $_GET["nytpass"] ."' WHERE `user` = '". $_GET["user"] ."'") or die (mysql_error());
echo"Password opdateret";
}

if(isset($_GET["deluser"])) {
mysql_query("DELETE FORM `brian` WHERE `user` = '". urldecode($_GET["deluser"]) ."'") or die (mysql_error());
    if(is_dir("c:/brugeren/". urldecode($_GET["deluser"]))) {

$dirnavn = "c:/brugeren/". urldecode($_GET["deluser"];
$dir = opendir($dirnavn));

while (false !== ($fil = readdir($dir))){
if($fil == "." || $fil == "..") {
continue;
}
unlink($dirnavn ."/". $fil);
rmdir($dirnavn);
        }
    }
echo"Bruger er slettet, ligeså filer i brugerdir samt brugerdir'et";
}
?>

Er ikke testet! :O)
Avatar billede jakobclausen Nybegynder
27. januar 2004 - 15:44 #9
Jeg ved ikke hvordan du sletter brugermappen, men at slette brugeren fra databasen kan du gøre sådan:

<?
$conn = mysql_connect("host", "bruger", "pass");
mysql_select_db("brian");

$query = mysql_query("SELECT navn FROM tabel");
?>
<form method="post" action="#" name="form">
<select name="userDelete">
<?
while($r = mysql_fetch_array($query))
{
echo "<option value='$r[navn]'>$r[navn]</option>";
}
?>
</select>
<br>
<input name="submit" type="submit" value="Slet">
</form>

<?
if(isset($_POST['userDelete'))
{
    $delete = ("DELETE from tabel WHERE navn='$_POST[userDelete' ");
    if(mysql_db_query (database, $delete, $conn))
    {           
        echo "Passwordet er rettet!<br>";
}
?>

- hvor den selv henterne de forskellige brugere fra databasen!
Avatar billede crasher Nybegynder
27. januar 2004 - 15:46 #10
jo der er desværre mapper i brugerdiret er det ikke muligt da ??. mener jeg da jeg har hørt det er...??
Avatar billede sukos Juniormester
27. januar 2004 - 15:47 #11
Nåh, kan se at

$dirnavn = "c:/brugeren/". urldecode($_GET["deluser"];
$dir = opendir($dirnavn));


skal være

$dirnavn = "c:/brugeren/". urldecode($_GET["deluser"]);
$dir = opendir($dirnavn);

:O)
Avatar billede sukos Juniormester
27. januar 2004 - 15:48 #12
æh, jo da, men så skal man osse lige åbne dem, og igen åbne undermapper her.......
førend du kan slette et dir.

Kikker lige.
Avatar billede crasher Nybegynder
27. januar 2004 - 15:49 #13
okay takker .. mega nice :)..
Avatar billede crasher Nybegynder
27. januar 2004 - 15:53 #14
jeg er ret mongol til det her PHP så er der evt nogen der vil samle "trådene" for mig ????,,, altså bare skrive fil1.php skal indeholde dette, fil2.php skal indeholde dette,,, det ville være over nice :-)-- takker hygge
Avatar billede sukos Juniormester
27. januar 2004 - 16:33 #15
Med GOD HJÆLP fra:

http://dk.php.net/manual/en/function.rmdir.php


<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<input type="text" name="find"> <input type="submit">
</form>

<?php

function recursiveDelete($dir)
{
if ($handle = @opendir($dir))
{
while (($file = readdir($handle)) !== false)
{
if (($file == ".") || ($file == ".."))
{
continue;
}
if (is_dir($dir . '/' . $file))
{
// call self for this directory
recursiveDelete($dir . '/' . $file);
}
else
{
unlink($dir . '/' . $file); // remove this file
}
}
@closedir($handle);
rmdir ($dir);
}else{
echo"Dir'et <b>". $dir ."</b> findes ikke!";
}
}


if(isset($_GET["find"])) {
$getnavn = mysql_query("SELECT `users` FROM `brian` WHERE `users` = '". $_GET["find"] ."'") or die (mysql_error());

if(mysql_num_rows($getnavn) !=0) {
echo mysql_result($getnavn, 0) ." blev fundet!";
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<input type="hidden" name="user" value="<?php echo mysql_result($getnavn, 0); ?>">
<input type="text" name="nytpass"> <input type="submit">
</form>
<p>
<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?deluser=<?php echo urlencode(mysql_result($getnavn, 0)); ?>">Slet brugeren</a>
<p>
<?php

}else{
echo"Ingen med ". $_GET["find"] ." blev fundet i DB'en";
}
}

if(isset($_GET["nytpass"])) {
mysql_query("UPDATE `brian` set `password` = '". $_GET["nytpass"] ."' WHERE `user` = '". $_GET["user"] ."'") or die (mysql_error());
echo"Password opdateret";
}

if(isset($_GET["deluser"])) {
mysql_query("DELETE FORM `brian` WHERE `user` = '". urldecode($_GET["deluser"]) ."'") or die (mysql_error());

$path = "C:/brugeren/";
if(is_dir($path . urldecode($_GET["deluser"]))) {

$dirnavn = $path . urldecode($_GET["deluser"]);

recursiveDelete($dirnavn);
    }
}
?>

Filen kan du kalde hvad du vil, fordi der bruges $_SERVER["PHP_SELF"] eller include den i en anden php-fil
Avatar billede sukos Juniormester
27. januar 2004 - 16:38 #16
Hov,

if(isset($_GET["deluser"])) {
mysql_query("DELETE FORM `brian` WHERE `user` = '". urldecode($_GET["deluser"]) ."'") or die (mysql_error());

skal FORM jo være FROM !!!!:O)
Avatar billede crasher Nybegynder
27. januar 2004 - 17:19 #17
hvad kan jeg sige sukos.. DU er en syg mand til PHP.. og så virker det bare!!! ;)
Avatar billede crasher Nybegynder
27. januar 2004 - 17:20 #18
og jakobclausen.. du skulle da også have 50 point for en glimrende hjælper.. takker endnu engang11111
Avatar billede jakobclausen Nybegynder
27. januar 2004 - 17:25 #19
jeg synes ikke point fordelingen er helt fair!
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