Avatar billede mojensen Nybegynder
26. januar 2006 - 13:09 Der er 22 kommentarer og
1 løsning

Login opret bruger

Hejsa

Jeg vil gerne have lavet såen at man kan lave en ny bruger til admin siden på admin siden, og at man kan slette bruger der har adgang til admin siden.
Det skal gøres sammen med database MySQL jeg har en database der hedder, fyz_nu_db og så har jeg en tabel der hedder brugere hvor der ligger Id, brugernavn og adgangskode
Avatar billede well_r Nybegynder
26. januar 2006 - 13:13 #1
mysql_query("INSERT INTO brugere (brugernavn,adgangskode) VALUES ('$brugernavn','$password')");
id går jeg ud fra bliver tildelt automatisk..
Avatar billede jakobdo Ekspert
26. januar 2006 - 13:15 #2
i bund og grund skal du jo lave en form, som som minimum indeholder:
<input type="text" name="brugernavn">
<input type="text" name="kodeord">
og så indsætter du det i din tabel med:

//connect til db
$user = mysql_real_escape_string($_POST['brugernavn']);
$pass = mysql_real_escape_string($_POST['kodeord']);
mysql_query("INSERT INTO fyz_nu_db(id,user,pass) VALUES('','".$user."','".$pass."');

Og for at kunne slette, skal du evt lave noget som lister dine brugere og så bruge:
mysql_query("DELETE FROM fyz_nu_db WHERE id = ".$bruger." LIMIT 1");
Avatar billede mojensen Nybegynder
26. januar 2006 - 15:59 #3
okay... jeg prøver lige...
Avatar billede mojensen Nybegynder
26. januar 2006 - 16:31 #4
men hvordan skal jeg sætte det ind?
Avatar billede mojensen Nybegynder
26. januar 2006 - 16:52 #5
<table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td colspan="2"><div align="left">
                  <strong>Opret admin bruger: </strong></div></td>
                </tr>
              <tr>
                <td colspan="2" bgcolor="#CCCCCC">
                <form name="form1" method="post" action="">
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="33%" bgcolor="#CCCCCC">
                      <div align="right" class="style2">Brugernavn:</div></td>
                      <td width="67%" rowspan="2">
            ----    <input name="brugernavn" type="text" size="35">
        ----    <input name="kodeord" type="text" size="35">
              </td>
                    </tr>
                    <tr>
                      <td>
                  <div align="right" class="style2">Adgangskode:</div>
                    </td>
                      </tr>
                  </table>
                </form>
              </td>
              </tr>
            <tr>
          <td width="33%" bgcolor="#CCCCCC">&nbsp;</td>
          <td width="67%" bgcolor="#CCCCCC">&nbsp;</td>
          </tr>
      </table>
Avatar billede jakobdo Ekspert
26. januar 2006 - 17:54 #6
Selve oprettelsen kunne være noget i denne stil:

<?php
//http://www.eksperten.dk/spm/682887

if(isset($_POST['opretAdmin']))
{
    //forbind til mysql...
    include("connect.php");
    $user = mysql_real_escape_string($_POST['brugernavn']);
    $pass = mysql_real_escape_string($_POST['kodeord']);
    mysql_query("INSERT INTO fyz_nu_db(id,user,pass) VALUES('','".$user."','".$pass."')") or die(mysql_error());
    if(mysql_affected_rows()>0)
    {
        echo "<h3>En admin er tilføjet!</h3>\n";
    }
    else
    {
        echo "<h5>Der opstod en fejl: " . mysql_error() . "</h5>\n";
    }
}

echo "<table>\n";
echo "<caption>Opret admin</caption>\n";
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">\n";
echo "<tr><td>Brugernavn:</td><td><input type=\"text\" name=\"brugernavn\"></td></tr>\n";
echo "<tr><td>Kodeord:</td><td><input type=\"text\" name=\"kodeord\"></td></tr>\n";
echo "<tr><td colspan=\"2\"><input type=\"submit\" value=\"Opret Administrator\" name=\"opretAdmin\"></td></tr>\n";
echo "</form>\n";
echo "</table>\n";

?>
Avatar billede mojensen Nybegynder
26. januar 2006 - 19:06 #7
oki... når jeg så prøver så kommer denne fejl her : Table 'fyz_nu_db.fyz_nu_db' doesn't exist
Avatar billede jakobdo Ekspert
26. januar 2006 - 19:56 #8
Så kunne det tænktes du ikke har et tabel som hedder fyz_nu_db :o)
Avatar billede mojensen Nybegynder
26. januar 2006 - 20:52 #9
nej det var databasen :P tabellen hedder brugere
Avatar billede mojensen Nybegynder
26. januar 2006 - 20:56 #10
nu skriver den det her... Unknown column 'user' in 'field list'
Avatar billede jakobdo Ekspert
26. januar 2006 - 21:09 #11
Du skal jo have nogle felter som matcher det jeg har skrevet!
Jeg kender ikke din struktur i din tabel, så jeg lavede bare id, user og pass!
Avatar billede mojensen Nybegynder
26. januar 2006 - 23:06 #12
nååå, er noob til det her...
Avatar billede mojensen Nybegynder
26. januar 2006 - 23:07 #13
hvordan vil du så lave det med at slette dem igen??
Avatar billede mojensen Nybegynder
26. januar 2006 - 23:11 #14
tak :D nu kan jeg sætte dem ind...
Avatar billede jakobdo Ekspert
27. januar 2006 - 08:37 #15
Slette, det kommer an på hvordan din tabel er bygget op!
Prøv lige at kom med din feltnavne, så skal jeg lave et oplæg.
Avatar billede mojensen Nybegynder
27. januar 2006 - 11:45 #16
Databasenavn: fyz_nu_db
Tablen: Brugere
Fletnavnene: Id, brugernavn og adgangskode
Avatar billede jakobdo Ekspert
27. januar 2006 - 12:18 #17
Ganske kort:

<?php
//forbind til DB
if(isset($_GET['slet'])
{
    $bruger = mysql_real_escape_string($_GET['slet']);
    mysql_query("DELETE FROM Brugere WHERE Id = ".$bruger." LIMIT 1");
}

$query = mysql_query("SELECT Id, brugernavn FROM Brugere ORDER BY brugernavn");
if(mysql_num_rows($query)>0)
{
    echo "<table>";
    while($row = mysql_fetch_assoc($query))
    {
        echo "<tr><td><a href=\"".$_SERVER['PHP_SELF']."?slet=".$row['Id']."\">"Slet bruger: ".$row['brugernavn'] . "</a></td></tr>\n";
    }
    echo "</table>";
}
?>

Husk dog at lav noget tjek på siden, ellers kan alle slette dine brugere.
Avatar billede mojensen Nybegynder
27. januar 2006 - 12:51 #18
der må være noget galt med den, virker ikk...
Avatar billede jakobdo Ekspert
27. januar 2006 - 12:53 #19
Der var lidt fejl:

Her er den rigtige kode:

<?php
//http://www.eksperten.dk/spm/682887
include("connect.php");
if(isset($_GET['slet']))
{
    $bruger = mysql_real_escape_string($_GET['slet']);
    mysql_query("DELETE FROM Brugere WHERE Id = ".$bruger." LIMIT 1");
}

$query = mysql_query("SELECT Id, brugernavn FROM Brugere ORDER BY brugernavn") or die(mysql_error());
if(mysql_num_rows($query)>0)
{
    echo "<table>";
    while($row = mysql_fetch_assoc($query))
    {
        echo "<tr><td><a href=\"".$_SERVER['PHP_SELF']."?slet=".$row['Id']."\">Slet bruger: ".$row['brugernavn'] . "</a></td></tr>\n";
    }
    echo "</table>";
}
?>
Avatar billede mojensen Nybegynder
27. januar 2006 - 13:02 #20
Mange mange tak... det du virkelig godt til :D lægger du et svar så får du points...
Avatar billede jakobdo Ekspert
27. januar 2006 - 13:04 #21
Kan du tro!
Et svar. :o)
Avatar billede mojensen Nybegynder
27. januar 2006 - 13:06 #22
:D oki.. tak :D
Avatar billede jakobdo Ekspert
27. januar 2006 - 13:09 #23
Takker for point!
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