Avatar billede klaske_ko Nybegynder
28. juni 2004 - 01:33 Der er 47 kommentarer og
1 løsning

lille crew side

Hey...jeg vil høre om i kan hjælpe mig =)
inde på http://www.mr-fister.dk/crew.php (hvor jeg har været på som crew) kunne jeg godt tænke mig det system... :) det er meget enkelt vil jeg tro :) det jeg vil er....at man skal kunne sætte en ind som crew online, når man er logget ind som admin, og det skal man kunne fra en brugerside hvor den fulde liste af brugere er.

Jeg skal bare kun bruge Nick og status. <- det er en side :)

og så brugeroversigten skal man kunne klikke på navnet, og så bliver den smidt over på crew.php og så skal man sætte en status :)

er den forståelig? :)
Når man er admin har man værdien 1 så når man er 1'er =) eller logget ind som 1'er skal man kunne redigere :)
Avatar billede jaw Nybegynder
28. juni 2004 - 01:35 #1
Altså du vil i første omgang have en side (som dit link) der viser alle admins?
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 01:41 #2
okai prøver lige igen =)

Jeg skal som admin, kunne gå ind på min liste over brugere og klikke på fx gør til admin...og så får han automatisk id 1 (dvs admin) og så bliver han add'et på crew siden, hvor man kan klikke på hans navn, og så ændre hans status... :) tror faktisk jeg gerne vil have navn med alligevel.. :) jeg skal så samtidig kunne fjerne folk fra crew siden.. :) men =)
Avatar billede jaw Nybegynder
28. juni 2004 - 01:42 #3
Ok, det er så forståeligt... Hvordan ser strukturen ud af din "bruger-database" ?
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 01:47 #4
DUK! havde jeg glemt.. :)

CREATE TABLE users (
  ID int(11) NOT NULL auto_increment,
  Login varchar(255) NOT NULL default '',
  PASSWORD varchar(32) NOT NULL default '',
  LastLogin timestamp(14) NOT NULL,
  Admin int(1) NOT NULL default '0',
  UNIQUE KEY ID (ID)
) TYPE=MyISAM;
Avatar billede jaw Nybegynder
28. juni 2004 - 01:52 #5
Ok, så kan du gøre sådan her:

<?

//først nuværende admins
$q = mysql_query("SELECT Login FROM users WHERE Admin = '1' ORDER BY ID ASC");
echo"<table><tr><td colspan='2'>Liste over admins:</td></tr>";
while($row = mysql_fetch_array($q)) {
  echo"<tr><td width='70%'>" . $row[Login] . "</td><td width='30%'><a href='aendre_status.php?page=fjern'>Fjern adm.status</a></td></tr>";
}
echo"</table>";

//så ikke-admins
$q = mysql_query("SELECT Login FROM users WHERE Admin = '0' ORDER BY ID ASC");
echo"<table><tr><td colspan='2'>Liste over brugere der ikke er admins:</td></tr>";
while($row = mysql_fetch_array($q)) {
  echo"<tr><td width='70%'>" . $row[Login] . "</td><td width='30%'><a href='aendre_status.php?page=giv'>Giv adm.status</a></td></tr>";
}
echo"</table>";

?>

Medmindre jeg tager helt fejl... :)
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:00 #6
du tager lidt fejl :P for den status jeg snakker om ...altså samtidig med admin skal være jeg/admin kan skrive hvad jeg vil have dem til at være....co admin, nyhedsadmin osv... men www.upit.dk/crew.php <-- det er noget lign det jeg mener med at kunne give og tage, jeg kan ikke skrive fx Tine Korrektur.... :) men når du ikke er logget ind, kan du se det der fjern og give.....når man er alm user så skal det bare ligne det på mr-fister :)
Avatar billede jaw Nybegynder
28. juni 2004 - 02:02 #7
Ja, altså du skal have flere forskellige niveauer af admins? Men det der er lavet nu, er vel det du vil have, bortset fra at den ikke skal være synlig for ikke-admins selvf. ?
Avatar billede jaw Nybegynder
28. juni 2004 - 02:03 #8
Du kan jo lave et ekstra felt i din database du kalder admin_type f.eks., der så kommer til at indeholde: co/admin, nyhedsadmin eller hvad du nu vil have, det kan du så definere når vi laver siden hvor du giver/fratager admin-status...
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:08 #9
jamen det kan jeg sq da ik finde ud af :P heh kan lige lave en hurtig html af hvordan jeg husker crew siden =)
Avatar billede jaw Nybegynder
28. juni 2004 - 02:13 #10
Den fattede jeg nu ikke helt :/ Men gå ind i PhpMyAdmin og tilføj et felt til tabellen users der hedder admin_type og af typen "varchar"
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:20 #11
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:20 #12
det er sådan jeg gerne vil have den til at se ud =)
Avatar billede jaw Nybegynder
28. juni 2004 - 02:21 #13
Ja, det er vældigt :) - men du skal stadig have oprettet det felt i din database, ellers kan vi ikke fikse det...
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:23 #14
nååå prøver lige... :)
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:25 #15
ARJ! det kan jeg ik finde ud af :*( jeg trykker på tabel navet users hva skal jeg nu =)
Avatar billede jaw Nybegynder
28. juni 2004 - 02:27 #16
Så er der et sted hvor der står noget a'la:
Tilføj nyt felt: 1 I slutningen af tabel [udfør] <- tryk udfør, giv det et navn og [gem]
Avatar billede jaw Nybegynder
28. juni 2004 - 02:28 #17
Men er det ok, at vi tager udgangspunkt i den liste vi lige fik lavet før med alle brugerne, og når du så har klikker på en bruger, kan du give/fjerne adminstatus som det dims.htm-link du lige smed?
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:32 #18
hvad skal der stå i Length/Values ?
Avatar billede jaw Nybegynder
28. juni 2004 - 02:33 #19
Ikke noget, det er kun navnet du skal udfylde
Avatar billede jaw Nybegynder
28. juni 2004 - 02:33 #20
eller, det passer ikke - giv den en længde på 255 bare
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:37 #21
har jeg gjort... så nu har jeg =) gættede bare...255 havde en anden osse =) men nu har jeg admin_type =) hva så nu :)
Avatar billede jaw Nybegynder
28. juni 2004 - 02:39 #22
På den liste vi havde før, skal begge links (både for allerede admins, og for ikke admins, ændres til: <a href='aendre_status.php?id=$row[ID]'>Giv/fjern</a>

+ at $q skal ændres til:
$q = mysql_query("SELECT ID, Login FROM users WHERE Admin = '1' ORDER BY ID ASC");
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 02:56 #23
ja, men jeg har jo ik aendre_status.php :S
Avatar billede jaw Nybegynder
28. juni 2004 - 02:57 #24
Nej, den er jeg ved at lave...
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 03:00 #25
okai... :) men tror jeg bliver nødt til at gå i seng om 10-15 min...
Avatar billede jaw Nybegynder
28. juni 2004 - 03:01 #26
Det er jo bare i orden, så ser vi på resten i morgen bare... Du skal lige huske at rette begge $q - ellers er det vist ikke så tosset :)
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 03:11 #27
okai, men bliver den så som www.upit.dk/dims.htm ? :)
Avatar billede jaw Nybegynder
28. juni 2004 - 03:12 #28
Ikke 100%, men vi kommer i nærheden af. Jeg har ikke lavet mulighed for at du kan rette i navnet, for det kan jeg slet, slet ikke se hvad skal bruges til... Du skal jo ikke kunne rette de andre admins navne, vel?
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 03:16 #29
nej nej :P det var mere princippet =)
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 03:17 #30
men vil gerne kunne have det andet så jeg kan rettet deres 'funktion' :) nå...vil sove...har nok at nå i morgen...nat nat..
Avatar billede jaw Nybegynder
28. juni 2004 - 03:20 #31
Her er en beta-test, den kan du jo prøve når du står op igen, det er den vi kalder: aendre_status.php

<?
if(!$_GET['page']) {
  $id = $_GET['id'];
  $q = mysql_query("SELECT Login, ID, Admin, admin_type FROM users WHERE ID = '$id'") or die(mysql_error());
  $row = mysql_fetch_array($q);

  echo"<b>Bruger</b>: $row[Login]<br>";
  if($row[Admin] == 0) {
    echo"
    <form action='" . $_SERVER['PHP_SELF'] . "?page=giv&id=" . $row[ID] . "' method='post'>
    Brugeren har på nuværende tidspunkt ingen admin-status.
    <br><br>
    Admin-type:
    <select name='admin_type' style='width: 150px'>
      <option value='' selected>Ingen admin-type</option>
      <option value='nyhedsadmin'>Nyhedsadmin</option>
      <option value='coadmin'>Co/Admin</option>
    </select>
    <br><br>
    <input type='submit' name='submit' value='Gem'>
    </form>";
  } elseif ($row[Admin] == 1) {
    echo"
    <form action='" . $_SERVER['PHP_SELF'] . "?page=rediger&id=" . $row[ID] . "' method='post'>
    Brugeren har adminstatus. <a href='" . $_SERVER['PHP_SELF'] . "?page=fjern&id=" . $row[ID] . "'>fjern adminstatus</a>
    <br><br>
    Admin-type:
    <select name='admin_type' style='width: 150px'>
      <option value='" . $row[admin_type] . "' selected>Nu: " . $row[admin_type] . "</option>
      <option value='nyhedsadmin'>Nyhedsadmin</option>
      <option value='coadmin'>Co/Admin</option>
    </select>
    <br><br>
    <input type='submit' name='submit' value='Gem'>
    </form>";
  }
} elseif($_GET['page'] == "fjern") {
      $id = $_GET['id'];
      mysql_query("UPDATE users SET Admin = '0' WHERE ID = '$id'")or die(mysql_error());
      mysql_query("UPDATE users SET admin_type = '' WHERE ID = '$id'")or die(mysql_error());
      $header = "Location: " . $_SERVER['PHP_SELF'] . "?id=$id";
      header($header);
      exit;
} elseif($_GET['page'] == "rediger") {
      $id = $_GET['id'];
      $admin_type = $_POST['admin_type'];
      mysql_query("UPDATE users SET admin_type = '$admin_type' WHERE ID = '$id'") or die(mysql_error());
      $header = "Location: " . $_SERVER['PHP_SELF'] . "?id=$id";
      header($header);
      exit;
} elseif($_GET['page'] == "giv") {
      $id = $_GET['id'];
      $admin_type = $_POST['admin_type'];
      mysql_query("UPDATE users SET Admin = '1' WHERE ID = '$id'") or die(mysql_error());
      mysql_query("UPDATE users SET admin_type = '$admin_type' WHERE ID = '$id'") or die(mysql_error());
    $header = "Location: " . $_SERVER['PHP_SELF'] . "?id=$id";
    header($header);
    exit;
}

?>

...som sagt en beta, så der er noget med lidt sikkerhed og små-ting der nok skal rettes, men vi skal jo starte et sted...

Godnat
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 15:19 #32
www.upit.dk/crew2.php :) det virker, men når du bare er en bruger eller anonym bruger, så kan du ændre på admin rights :/
Avatar billede jaw Nybegynder
28. juni 2004 - 15:26 #33
Ja, ja, det ved jeg godt... Det var derfor, citat: "så der er noget med lidt sikkerhed"... :)

Og så opdagede jeg lige en fejl endnu i går. Den sidste if-sætning, skal lige ændres lidt til:

} elseif($_GET['page'] == "giv") {
      $id = $_GET['id'];
      $admin_type = $_POST['admin_type'];
      if($_POST['admin_type'] != "") {
        mysql_query("UPDATE users SET Admin = '1' WHERE ID = '$id'") or die(mysql_error());
        mysql_query("UPDATE users SET admin_type = '$admin_type' WHERE ID = '$id'") or die(mysql_error());
      }
    $header = "Location: " . $_SERVER['PHP_SELF'] . "?id=$id";
    header($header);
    exit;
}

Og så: Er det KUN dig der skal kunne ændre admin-status, eller er det alle der har admin-status der skal kunne det???
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 15:41 #34
jow, det er osse mine admins :) dem som har (1) =)
Avatar billede jaw Nybegynder
28. juni 2004 - 15:42 #35
Ok, og hvordan logger du ind? Altså, bliver der sat sessions, oder?
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 15:44 #36
ja, det skulle være sessions.. :)
Avatar billede jaw Nybegynder
28. juni 2004 - 15:56 #37
Du må lige prøve og se, om du kan finde ud af hvad den session hedder...
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 16:14 #38
$_SESSION["user"] =)
Avatar billede jaw Nybegynder
28. juni 2004 - 16:23 #39
ok, fint nok... Så skal der lige efter <? i filen indsættes:

$bruger = $_SESSION['user'];
$q = mysql_query("SELECT Admin FROM users WHERE Login = '$bruger'") or die(mysql_error());
$admin = mysql_fetch_array($q);
if($admin[Admin] == 1) {


og så på nederste linie lige før ?>
} else {echo"Du har ikke adgang til denne side...!"}
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 16:26 #40
i crew eller aendre_status?
Avatar billede jaw Nybegynder
28. juni 2004 - 16:29 #41
faktisk i dem begge to, men den vigtigste er aendre_status
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 16:45 #42
Avatar billede jaw Nybegynder
28. juni 2004 - 17:12 #43
Skyldes at der skal stå:

} else {echo"Du har ikke adgang til denne side...!";}  <-- der manglede ;
Avatar billede klaske_ko Nybegynder
28. juni 2004 - 18:46 #44
tja, nu kan ingen se siden, logget ind eller ej :/ det var ik det der var meningen...når du ik er logget ind skal den ligne mr-fisters :)
Avatar billede jaw Nybegynder
28. juni 2004 - 18:49 #45
lav lige den crew2.phps igen så jeg lige kan se...
Avatar billede klaske_ko Nybegynder
17. juli 2004 - 12:42 #46
bare luk, jaw skal ikk bruge al sin tid på mig =)
Avatar billede jaw Nybegynder
01. november 2004 - 08:31 #47
...
Avatar billede klaske_ko Nybegynder
01. november 2004 - 10:27 #48
Jamen goddag Jaw :) Har du noget at tilføje :) ?
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