Avatar billede jkn83 Praktikant
28. oktober 2010 - 11:11 Der er 6 kommentarer og
1 løsning

Administrering af brugere (problem)

Hey.

Har et lille kodningsproblem... Hele hjemmesiden er skrevet op efter forskellige tutorials og hjælp her inde fra, men vil gerne have den "udvidet" lidt så brugerne kan få deres kode fra admin...

Det mysql table der bruges er: "users" med user_id, username, password som feltnavne der bruges i denne forbindelse...

Har en userlist.php fil der ser således ud, og fungerer fint...:
<?php
session_start();
?>
<html>
<head>
<title>Bruger liste</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>

<body bgcolor="#4d4a37"><div id="main">
<?
include 'connect.php';

    $userid = $_SESSION["userid"];
    $q = mysql_query("SELECT * FROM users WHERE user_id='$userid'")or die(mysql_error());
    $n = mysql_num_rows($q);
    $res = mysql_fetch_assoc($q);

    if($res["admin"] == 1)
    {
        $q2 = mysql_query("SELECT * FROM users ORDER BY username");
        echo "<table border='0' align='left' class='main'>
        <tr>
        <th class='caption' align='left'>Bruger</th>
        <th class='caption'>Nr</th>
        </tr>";

        while($row = mysql_fetch_array($q2))
          {
            echo "<tr>
              <td>". $row['username'] ." </td>
              <td><font color='#bab9ad' />". $row['user_id'] ."</font></td>
              </tr>";
        }
        echo "</table>";

    }
    else
    {
        echo 'Du har ingen administrative rettigheder!';
    }
?>
</div>
</body>
</html>

yderligere lavede jeg så en mindre kopi af denne userlist.php der hedder userlistext.php som også fremgår af overstående kode, som kan bruges til at hente information fra bruger tabellen, som email adresser osv... Problemmet ligger så lidt i at den melder fejl og intet henter, ja en fejl i koden, men det er jo hvor i kommer ind :D

Nogen der kan rette nedenstående kode så den kommer til at fungere efter hensigten ? At hente data fra den enkelte users table... Så er der point at hente :)

<?php
session_start();
?>
<html>
<head>
<title>Glemt pass</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>

<body bgcolor="#4d4a37"><div id="main">
<?
include 'connect.php';

    $userid = $_SESSION["userid"];
    $q = mysql_query("SELECT * FROM users WHERE user_id='$userid'")or die(mysql_error());
    $n = mysql_num_rows($q);
    $res = mysql_fetch_assoc($q);

    if($res["admin"] == 1)
    {
        $q2 = mysql_query("SELECT * FROM users WHERE user_id='$userid' LIMIT=1");
        echo "<table border='0' align='left' class='main'>
        <tr>
        <th class='caption' align='left'>Bruger</th>
        <th class='caption'>Nr</th>
        <th class='caption'>Password</th>
        </tr>";

        while($row = mysql_fetch_array($q2))
          {
            echo "<tr>
              <td> ". $row['username'] ." </td>
              <td><font color='#bab9ad' />". $row['user_id'] ."</font></td>
            <td><font color='#bab9ad' />". $row['password'] ."</font></td>
              </tr>";
        }
        echo "</table>";

    }
    else
    {
        echo 'Du har ingen administrative rettigheder!';
    }
?>
</div>
</body>
</html>

På forhånd tak :)
Avatar billede webweaver Praktikant
28. oktober 2010 - 11:58 #1
Hvilken fejl får du?

Skift

$q2 = mysql_query("SELECT * FROM users WHERE user_id='$userid' LIMIT=1");

ud med

$q2 = mysql_query("SELECT * FROM users WHERE user_id='$userid' LIMIT 0, 1");

Virker det? :-)
Avatar billede jkn83 Praktikant
28. oktober 2010 - 12:08 #2
Samme fejl som før... Den skriver (hvis jeg vælger en bruger med id 50)

The requested URL /nadias/userlistext.php=50 was not found on this server.

Så lige på ovenstående kode at der måske lige skulle nævnes at userlist.php mangler link... Der skulle stå (til userlist.php):


        while($row = mysql_fetch_array($q2))
          {
            echo "<tr>
              <td><a class='links_tn' href='userlistext.php=". $row['user_id'] ."'> ". $row['username'] ." </a></td>
              <td><font color='#bab9ad' />". $row['user_id'] ."</font></td>
              </tr>";
        }
Avatar billede kdjweb Nybegynder
28. oktober 2010 - 12:31 #3
<td><a class='links_tn' href='userlistext.php=". $row['user_id'] ."'> ". $row['username'] ." </a></td> ????????
Ser jeg det her rigtigt?
userlistext.php=$userID

Du er vist nød til at have noget $_GET.

hvis du ændrer linket til at henvise til userlistext.php?id=".$row['user_id'].", hentede id'et vha. $userID = §_GET['id']; og kigger i databasen efter det id du har valgt
Avatar billede jkn83 Praktikant
28. oktober 2010 - 12:51 #4
forsøger lige og melder tilbage
Avatar billede jkn83 Praktikant
28. oktober 2010 - 13:07 #5
Linien som du ville have rettet med linket i (ja havde glemt ?id=) ser nu sådan ud:
<td><a class='links_tn' href='userlistext.php?id=". $row['user_id'] ."'> ". $row['username'] ." </a></td>

og userlistext.php ser så sådan ud nu, men lister stadig ikke hvad der står i databasen...

<?php
session_start();
?>
<html>
<head>
<title>Glemt pass</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>

<body bgcolor="#4d4a37"><div id="main">
<?
include 'connect.php';

    $userid = $_SESSION["userid"];
    $q = mysql_query("SELECT * FROM users WHERE user_id='$userid'")or die(mysql_error());
    $n = mysql_num_rows($q);
    $res = mysql_fetch_assoc($q);

    if($res["admin"] == 1)
    {
        $userID2 = $_GET['id'];
        $q2 = mysql_query("SELECT * FROM users WHERE user_id='$UserID2'");
        echo "<table border='0' align='left' class='main'>
        <tr>
        <th class='caption' align='left'>Bruger</th>
        <th class='caption'>Nr</th>
        <th class='caption'>Password</th>
        </tr>";

        while($row = mysql_fetch_array($q2))
          {
            echo "<tr>
              <td> ". $row['username'] ." </td>
              <td><font color='#bab9ad' />". $row['user_id'] ."</font></td>
            <td><font color='#bab9ad' />". $row['password'] ."</font></td>
              </tr>";
        }
        echo "</table>";

    }
    else
    {
        echo 'Du har ingen administrative rettigheder!';
    }
?>
</div>
</body>
</html>

Hmm, kan du se fejlen ? :/
Avatar billede jkn83 Praktikant
28. oktober 2010 - 14:24 #6
doh... UserID2 ændret til userID2 (stort og lille bogstav gjorde jo lige en lille forskel :)

Smider du svar ? Problem solved :D
Avatar billede kdjweb Nybegynder
28. oktober 2010 - 14:36 #7
glad for du fik det til at virke :-)
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