nree Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 Her er ett lite kodeutsnitt include("side/db.php"); $link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("Kunne ikke koble til databasen."); if (mysql_select_db ($mysql_db)) { $row = mysql_fetch_array(mysql_query("select * from cs_admins")); $admins1 = $row[admins]; $admins = array("navn1", "navn2", "navn3"); $adminmsg = "Alt er OK"; for($i=0;$i<count($admins);$i++) { if($brukernavn == $admins[$i]) { echo $adminmsg; }; }; } ?> Vist jeg bytter ut "navn1", "navn2", "navn3" med $admins1 funker det ikke.. I tabellen cs_admins har jeg raden admins som igjen har teksten "navn1", "navn2", "navn3" Noen som vet hva som er galt? Lenke til kommentar
trondes Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 litt problem med å forstå hva som skal skje her.. skal du finne et bruker navn i en tabel ? $link = mysql_connect ($mysql_host, $mysql_user, $mysql_pass) or die ("Kunne ikke koble til databasen."); if (mysql_select_db ($mysql_db)) { $row = mysql_fetch_array(mysql_query("select * from cs_admins WHERE admins = '$brukernavn'")); $admins = $row[admins]; if($admins['admin'] != "") print "Du er en ekte admin"; } ellers må du forklare deg bedre Lenke til kommentar
Vial Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 ehh... hva er det egentlig du prøver å oppnå med denne koden? Du bruker aldri $row variabelen som inneholder resultatsettet med verdiene, også lager du en ny array som ikke inneholder noe. Kanskje du heller vil ha noe mer sånn som det her: $i=0; while($row = mysql_fetch_array(mysql_query("select * from cs_admins")) { $admins = Array(); $admins[$i] = $row["username"]; $i++; } nå trenger du heller ikke kjøre count() på antall. Merk at det er verdien på tabellkolonnen du setter $admins[$i] til. Lenke til kommentar
nree Skrevet 18. mars 2006 Forfatter Del Skrevet 18. mars 2006 Siden jeg ikke har kodet $admins = array("navn1", "navn2", "navn3"); $adminmsg = "Alt er OK"; for($i=0;$i<count($admins);$i++) { if($brukernavn == $admins[$i]) { echo $adminmsg; er det veldig vanskelig å forstå hva du mener.. Koden skal gjøre det at spesifiserte brukernavn i ett brukersystem kan se koden som er puttet inn i "Alt er OK".. Lenke til kommentar
Vial Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 (endret) Kanskje en ide å kode selv da. Koden du viste ovenfor gjør ingen verdens ting annet enn å fylle en array å skrive ut de verdiene. Men det du ønsker er å sjekke på om den finner en angitt bruker ($brukernavn)? Kakestykke: Koble til databasen $query = "SELECT username FROM cs_admins WHERE username = '$brukernavn';"; $RS = mysql_query($query); if(mysql_num_rows($RS) > 0) { $adminMsg = "Alt er OK"; } Endret 18. mars 2006 av Vial Lenke til kommentar
trondes Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 (endret) Siden jeg ikke har kodet$admins = array("navn1", "navn2", "navn3"); $adminmsg = "Alt er OK"; for($i=0;$i<count($admins);$i++) { if($brukernavn == $admins[$i]) { echo $adminmsg; er det veldig vanskelig å forstå hva du mener.. Koden skal gjøre det at spesifiserte brukernavn i ett brukersystem kan se koden som er puttet inn i "Alt er OK".. 5771779[/snapback] Når du kjører denne queryen: $resultat = mysql_query( "select * from cs_admins"); Så vil du få alle brukeren som er lagret i databasen. Men du vil bare få ut en pr. spørring med feks. mysql_fetch_assoc( $resultat ); så da må du lage en loop, denne pleier jeg å bruke: if($resultat){ // først sjekker vi om spørringen ble godtatt while( $data = mysql_fetch_assoc($resultat)){ // hvis noe blir satt til $data kjører vi en gang til // her gjør vi noe med resultat.. feks print $data['brukernavn']."<br>"; } } MEn hvis du vare skal se etter ett bruker navn er dette litt bortkastet vi forandrer litt. // her går vi utifra du i tabelen har et felt som heter "brukernavn" $query = "select * from cs_admins WHERE brukernavn = '$brukernavn'"; $resultat = mysql_query( $query); $data = mysql_fetch_assoc($resultat); if($data['brukernavn']){ // så sjekker vi om resultatet inne holder noe, hvis det gjør det så er han admins eller.no print "Du er en gud!!"; } Håper dette ble litt mer forstårlig Endret 18. mars 2006 av trondes Lenke til kommentar
nree Skrevet 18. mars 2006 Forfatter Del Skrevet 18. mars 2006 Hmm, nei.. Jeg har en database som har tabellen cs_admins der har jeg en rad som heter admins inni denne ligger det "navn1", "navn2", "navn3" osv.. Jeg vil at de brukernavnene som ligger inni der skal kunne se noe og de andre brukerene skal ikke kunne se det! $brukernavn variablen er den samme som brukernavnet når man er logget inn. Lenke til kommentar
trondes Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 Hmm, nei.. Jeg har en database som har tabellen cs_admins der har jeg en rad som heter admins inni denne ligger det "navn1", "navn2", "navn3" osv.. Jeg vil at de brukernavnene som ligger inni der skal kunne se noe og de andre brukerene skal ikke kunne se det! $brukernavn variablen er den samme som brukernavnet når man er logget inn. 5771922[/snapback] ok.. ikke mye erfaring med mysql ? La oss tenke oss nå du etter vært for 100 admin... hvordan skal du løse dette ? HAr du en tabel for de vanlige brukere også ? i tabellen oppretter du et felt i den tabelen.. feks "nivaa"... der kan du skrive admin, coadmin eller noe annet.. jeg går ifra at når en bruker logger seg på så henter du ut data om han fra tabelen ? Hvis ja så tenger du bare å plassere den i en variabel når du henter den ned. feks $brukerdata, $innlogget osv.. når du sjekker om en person er "admin" eller noe ser du bare om det feltet er satt i brukerdatan. feks: $brukerdata['nivaa'] == "admin" Dette var den enkle løsningen, sikkert ikke så godt forklart Lenke til kommentar
nree Skrevet 18. mars 2006 Forfatter Del Skrevet 18. mars 2006 Jeg forstår hva du mener.. Jeg har tenkt å lage brukernivåer inn i tabellen der hvor brukernavn og passord ligger.. Er ikke sikker på om jeg gidder det Har ikke så veldig mye erfaring med mySQL nei, lærer stadig nye ting.. Takk for alt hjelp vertfall Lenke til kommentar
trondes Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 Jeg forstår hva du mener..Jeg har tenkt å lage brukernivåer inn i tabellen der hvor brukernavn og passord ligger.. Er ikke sikker på om jeg gidder det Har ikke så veldig mye erfaring med mySQL nei, lærer stadig nye ting.. Takk for alt hjelp vertfall 5772076[/snapback] fint å lære seg nye ting. Men hvis du sier at du ikke orker det, så må jeg nok peke ut at dette er det enkleste Og selv tror jeg å plassere slikt i brukertabelen ville vært det smarteste. ha en fin dag Lenke til kommentar
NH Skrevet 20. mars 2006 Del Skrevet 20. mars 2006 en litt smart tabellstruktur kan spare deg for mye hodebry. tabeller kan jo faktisk jobbe sammen.... om du har en brukertabell er det ikke være enn å definere i en egentabell hvem av disse som er admin... aid | medlems_id der id er en selvgenerert id, og medlems_id id'en fra medlemstabellen. om du vil finne admins kan du kjøre en slik spørring: om du har brukerens id fra innloggingen er det jo bare å sjekke den opp imot admin tabellen. krevver jo ikke noen joining av tabeller engang Lenke til kommentar
trondes Skrevet 20. mars 2006 Del Skrevet 20. mars 2006 (endret) en litt smart tabellstruktur kan spare deg for mye hodebry. tabeller kan jo faktisk jobbe sammen.... 5785518[/snapback] Enig der, en bra spørring kan erstate 2-3 "vanlige" spørringer. Er ikke så dumt å invistere litt tid i å lære seg sql spørringer Endret 20. mars 2006 av trondes Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå