Avatar billede lonely Nybegynder
02. august 2002 - 12:18 Der er 44 kommentarer

hjælp!

Hej jeg har lavet et login script og et nyhedssystem og når har jeg lavet det så man har 3 statuser hvor at en normal bruger ikke kan se add og en coadmin ikke kan se slet men admin kan se dem alle det har jeg gjort ved at bruger dette!


<? if ($r[status] == 1){
include "link_normal.php";
}
elseif ($r[status] == 2){
include "link_coadmin.php";
}
elseif ($r[status] == 3){
include "link_admin.php";
}
else {
echo "lamer";
}
?>

men en normalt bruger kan godt se admin tingne altså add og slet hvordan gør jeg det så de ikke kan se hvad en admin har af funktioner!
Avatar billede lonely Nybegynder
02. august 2002 - 12:23 #1
hmm syntes ikke der er nogle som gider svare i php kategorien
Avatar billede teaspoon Nybegynder
02. august 2002 - 12:27 #2
hvad indeholder link_normal.php ?
Avatar billede lonely Nybegynder
02. august 2002 - 12:29 #3
intet!
Avatar billede lonely Nybegynder
02. august 2002 - 12:29 #4
og de andre indeholder links
Avatar billede muddi Praktikant
02. august 2002 - 12:30 #5
Har du prøvet at udskrive værdien af $r[status] ?
Avatar billede dmdisco Nybegynder
02. august 2002 - 12:31 #6
hvor bliver $r definneret
Avatar billede tipsen Nybegynder
02. august 2002 - 12:31 #7
du gør add og slet betinget af om status er på admin-niveau.
Avatar billede dmdisco Nybegynder
02. august 2002 - 12:32 #8
i en query?
Avatar billede lonely Nybegynder
02. august 2002 - 12:32 #9
jamen den er bare 1, 2 eller 3 også finder den selv navnet! (3 = admin)
Avatar billede dmdisco Nybegynder
02. august 2002 - 12:33 #10
har du prøvet at bruge "
[status] == "3"
Avatar billede lonely Nybegynder
02. august 2002 - 12:33 #11
hele min fil.

<? include ("config.php"); ?>
<?
session_start();
?>
<html>
<meta name="Generator" content="Stone's WebWriter 3.5">
<head></head>
<body>
<?
// Tjekker om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
$database = mysql_connect("$host","$user","$pass");
mysql_select_db("$db",$database);
$result = mysql_query("select status from community");

$r = mysql_fetch_array($result);
?>
Brugerside<br>
<a href="ret.php">Ret oplysninger</a> - <a href="vis_nyhed.php">Vis nyheder</a>
<? if ($r[status] == 1){
include "link_normal.php";
}
elseif ($r[status] == 2){
include "link_coadmin.php";
}
elseif ($r[status] == 3){
include "link_admin.php";
}
else {
echo "lamer";
}
?>

<?
// Hvis brugeren ikke er logget ind
} else {
?>
Du skal være logget ind får at se side
<?
}
?>

</body>
</html>
Avatar billede muddi Praktikant
02. august 2002 - 12:34 #12
Men er du sikker på at den $r[status] indeholder den værdi du tror?
Avatar billede lonely Nybegynder
02. august 2002 - 12:34 #13
men før havde jeg istedet for include et echo "fx admin"; hvis man havde status 3
Avatar billede lonely Nybegynder
02. august 2002 - 12:35 #14
også skrev den admin hvis man var det og coadmin hvis man var det!
Avatar billede dmdisco Nybegynder
02. august 2002 - 12:36 #15
så få den til at echo "include 'link_admin.php';";
Avatar billede lonely Nybegynder
02. august 2002 - 12:36 #16
ok!
Avatar billede muddi Praktikant
02. august 2002 - 12:38 #17
dmdisco?? >> han behøver da ikke echo?
Avatar billede teaspoon Nybegynder
02. august 2002 - 12:38 #18
$result = mysql_query("select status from community"); <-- der mangler en WHERE.
Avatar billede muddi Praktikant
02. august 2002 - 12:40 #19
lonely >> dit SELECT-statement vælger den første post i databasen... det må altså være en admin? Du mangler WHERE et eller andet!
Avatar billede lonely Nybegynder
02. august 2002 - 12:41 #20
hmm det blev ikke bedre nu skriver den bare! desuden så er det link_admin.php som står uanset hvilket status brugeren har!
Avatar billede lonely Nybegynder
02. august 2002 - 12:42 #21
hmm muligt i kan lave det er ikke ekspert i php
Avatar billede lonely Nybegynder
02. august 2002 - 12:42 #22
helst sætte det ind i scriptet så jeg bare skal copy paste det!!
Avatar billede muddi Praktikant
02. august 2002 - 12:42 #23
evt. SELECT status FROM community WHERE s_navn = '$s_navn' && s_password = $s_password;
Avatar billede muddi Praktikant
02. august 2002 - 12:44 #24
<? include ("config.php"); ?>
<?
session_start();
?>
<html>
<meta name="Generator" content="Stone's WebWriter 3.5">
<head></head>
<body>
<?
// Tjekker om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
$database = mysql_connect("$host","$user","$pass");
mysql_select_db("$db",$database);
$result = mysql_query("SELECT status FROM community WHERE s_navn = '$s_navn' && s_password = $s_password;");

$r = mysql_fetch_array($result);
?>
Brugerside<br>
<a href="ret.php">Ret oplysninger</a> - <a href="vis_nyhed.php">Vis nyheder</a>
<? if ($r[status] == 1){
include "link_normal.php";
}
elseif ($r[status] == 2){
include "link_coadmin.php";
}
elseif ($r[status] == 3){
include "link_admin.php";
}
else {
echo "lamer";
}
?>

<?
// Hvis brugeren ikke er logget ind
} else {
?>
Du skal være logget ind får at se side
<?
}
?>

</body>
</html>
Avatar billede muddi Praktikant
02. august 2002 - 12:46 #25
I det SELECT-statement jeg har brugt antog jeg at dine felter hedder: s_navn og s_password ...


fandt også lige en fejl:

<? include ("config.php"); ?>
<?
session_start();
?>
<html>
<meta name="Generator" content="Stone's WebWriter 3.5">
<head></head>
<body>
<?
// Tjekker om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
$database = mysql_connect("$host","$user","$pass");
mysql_select_db("$db",$database);
$result = mysql_query("SELECT status FROM community WHERE s_navn = '$s_navn' && s_password = '$s_password';");

$r = mysql_fetch_array($result);
?>
Brugerside<br>
<a href="ret.php">Ret oplysninger</a> - <a href="vis_nyhed.php">Vis nyheder</a>
<? if ($r[status] == 1){
include "link_normal.php";
}
elseif ($r[status] == 2){
include "link_coadmin.php";
}
elseif ($r[status] == 3){
include "link_admin.php";
}
else {
echo "lamer";
}
?>

<?
// Hvis brugeren ikke er logget ind
} else {
?>
Du skal være logget ind får at se side
<?
}
?>

</body>
</html>
Avatar billede lonely Nybegynder
02. august 2002 - 12:48 #26
http://www.friserverplads.dk/codeadmin/nyhedssystem

brugernavne:  kode:  status:
____________________________
normal        normalt  1
coadmin      coadmin  2
admin        admin    3
Avatar billede muddi Praktikant
02. august 2002 - 12:50 #27
Hedder felterne i din DB brugernavne, kode og status? I så fald burde nedenstående kode fungere efter hensigten:

<? include ("config.php"); ?>
<?
session_start();
?>
<html>
<meta name="Generator" content="Stone's WebWriter 3.5">
<head></head>
<body>
<?
// Tjekker om brugeren er logget ind
if ($s_navn && $s_password) {
?>
<?
$database = mysql_connect("$host","$user","$pass");
mysql_select_db("$db",$database);
$result = mysql_query("SELECT status FROM community WHERE brugernavne = '$s_navn' && kode = '$s_password';");

$r = mysql_fetch_array($result);
?>
Brugerside<br>
<a href="ret.php">Ret oplysninger</a> - <a href="vis_nyhed.php">Vis nyheder</a>
<? if ($r[status] == 1){
include "link_normal.php";
}
elseif ($r[status] == 2){
include "link_coadmin.php";
}
elseif ($r[status] == 3){
include "link_admin.php";
}
else {
echo "lamer";
}
?>

<?
// Hvis brugeren ikke er logget ind
} else {
?>
Du skal være logget ind får at se side
<?
}
?>

</body>
</html>
Avatar billede lonely Nybegynder
02. august 2002 - 12:51 #28
lige en anden ting du sagde at du troede at det hed s_navn et det fra min tabel eller hva så der hedder det navn og password
Avatar billede muddi Praktikant
02. august 2002 - 12:55 #29
Så skal du bare rette det til navn og password i forespørgslen ;o)
Avatar billede lonely Nybegynder
02. august 2002 - 12:58 #30
skal dette også ændres <?
// Tjekker om brugeren er logget ind
if ($s_navn && $s_password) {
?>
Avatar billede muddi Praktikant
02. august 2002 - 12:58 #31
$result = mysql_query("SELECT status FROM community WHERE navn = '$s_navn' && password = '$s_password';");
Avatar billede lonely Nybegynder
02. august 2002 - 12:59 #32
Warning: Supplied argument is not a valid MySQL result resource in E:\Webs\friserverplads.dk\codeadmin\nyhedssystem\test.php on line 18
Avatar billede muddi Praktikant
02. august 2002 - 12:59 #33
næ, hvorfor tror du det? Det er kun navnene på felterne i din MySQL-tabel du skulle ændre i koden...
Avatar billede muddi Praktikant
02. august 2002 - 13:00 #34
Er du sikker på at felterne i tabellen hedder; navn, password og status?
Avatar billede lonely Nybegynder
02. august 2002 - 13:00 #35
ok nu har jeg fået warning fjernet men nu skriver den lamer istedet for den til den skal include
Avatar billede lonely Nybegynder
02. august 2002 - 13:03 #36
ja! og har fået fjernet warning
Avatar billede lonely Nybegynder
02. august 2002 - 13:03 #37
har du icq eller msn!
Avatar billede muddi Praktikant
02. august 2002 - 13:03 #38
Ret lige forspørgslen til:

$result = mysql_query("SELECT status FROM community WHERE navn LIKE '$s_navn' AND password LIKE '$s_password';");

Kan du ikke bare fjerne det der lamer?
Avatar billede muddi Praktikant
02. august 2002 - 13:04 #39
ja: mh_skole@hotmail.com på MSN
Avatar billede lonely Nybegynder
02. august 2002 - 13:07 #40
jamen jeg skal have den til at inlcude en fil og der skal den vælge hvilken fil den skal afhenig af hvilken status personen har!
Avatar billede lonely Nybegynder
02. august 2002 - 13:08 #41
kommer du ikke online så! mit msn er webmaster@ht-newz.dk
Avatar billede lonely Nybegynder
02. august 2002 - 13:13 #42
?
Avatar billede lonely Nybegynder
02. august 2002 - 15:27 #43
hjælp!
Avatar billede muddi Praktikant
02. august 2002 - 16:27 #44
lonely >> Jeg kunne altså ikke finde rundt i al din kode, og det tog for lang tid at debugge hos friserverplads.dk ... :o( Sorry!
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