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!
Annonceindlæg fra Infor
02. august 2002 - 12:23
#1
hmm syntes ikke der er nogle som gider svare i php kategorien
02. august 2002 - 12:27
#2
hvad indeholder link_normal.php ?
02. august 2002 - 12:29
#3
intet!
02. august 2002 - 12:29
#4
og de andre indeholder links
02. august 2002 - 12:30
#5
Har du prøvet at udskrive værdien af $r[status] ?
02. august 2002 - 12:31
#6
hvor bliver $r definneret
02. august 2002 - 12:31
#7
du gør add og slet betinget af om status er på admin-niveau.
02. august 2002 - 12:32
#8
i en query?
02. august 2002 - 12:32
#9
jamen den er bare 1, 2 eller 3 også finder den selv navnet! (3 = admin)
02. august 2002 - 12:33
#10
har du prøvet at bruge " [status] == "3"
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>
02. august 2002 - 12:34
#12
Men er du sikker på at den $r[status] indeholder den værdi du tror?
02. august 2002 - 12:34
#13
men før havde jeg istedet for include et echo "fx admin"; hvis man havde status 3
02. august 2002 - 12:35
#14
også skrev den admin hvis man var det og coadmin hvis man var det!
02. august 2002 - 12:36
#15
så få den til at echo "include 'link_admin.php';";
02. august 2002 - 12:36
#16
ok!
02. august 2002 - 12:38
#17
dmdisco?? >> han behøver da ikke echo?
02. august 2002 - 12:38
#18
$result = mysql_query("select status from community"); <-- der mangler en WHERE.
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!
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!
02. august 2002 - 12:42
#21
hmm muligt i kan lave det er ikke ekspert i php
02. august 2002 - 12:42
#22
helst sætte det ind i scriptet så jeg bare skal copy paste det!!
02. august 2002 - 12:42
#23
evt. SELECT status FROM community WHERE s_navn = '$s_navn' && s_password = $s_password;
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>
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>
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>
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
02. august 2002 - 12:55
#29
Så skal du bare rette det til navn og password i forespørgslen ;o)
02. august 2002 - 12:58
#30
skal dette også ændres <? // Tjekker om brugeren er logget ind if ($s_navn && $s_password) { ?>
02. august 2002 - 12:58
#31
$result = mysql_query("SELECT status FROM community WHERE navn = '$s_navn' && password = '$s_password';");
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
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...
02. august 2002 - 13:00
#34
Er du sikker på at felterne i tabellen hedder; navn, password og status?
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
02. august 2002 - 13:03
#36
ja! og har fået fjernet warning
02. august 2002 - 13:03
#37
har du icq eller msn!
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?
02. august 2002 - 13:04
#39
ja: mh_skole@hotmail.com på MSN
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!
02. august 2002 - 13:08
#41
kommer du ikke online så! mit msn er webmaster@ht-newz.dk
02. august 2002 - 13:13
#42
?
02. august 2002 - 15:27
#43
hjælp!
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!
Vi tilbyder markedets bedste kurser inden for webudvikling