problem med php script til at vise user...

Tags:    php

Hey alle sammen!!
Jeg har et lille problem med mit php script "showusers",
jeg vil gerne have at: Hov du skal være logget ind for at se
disse sider...
Kun skal skrives når man ikke er logget ind,
lige nu skriver den det også, men den gøre det også når man er
logget på og giver forspørgelsen "showid", men det skal den jo
ikke, hvordan gør jeg?
Her er mit PHP Script:

<?
session_start();
if(isset($_SESSION['logget_ind'])){
if($_GET['showid']){
$link = mysql_connect("localhost", "****", "****") or
die("<p>Kunne ikke forbinde : " . mysql_error() . "</p>");
mysql_select_db("yourno1web") or die("<p>kunne ikke vælge
databasen</p>");
echo "<table border=\\"0\\">";
$sb = mysql_query("select * from users where id=\\"$showid\\"");
while ($sbb = mysql_fetch_array($sb))
{
echo
"<tr><td><p>Brugernavn:</td><td><p>".$sbb['brugernavn']."</td></t
r><tr><td><p>E-mail:</td><td><p>".$sbb['email']."</td></tr><tr><t
d><p>Hjemmeside:</td><td><p>".$sbb['hp']."</td></tr><tr><td><p>Fr
i Tekst:</td><td><p>".$sbb['frit']."</td></tr>";
}
echo "</table>";
}
}
session_write_close ();

if($_GET['show']){
$link = mysql_connect("localhost", "****", "****") or
die("<p>Kunne ikke forbinde : " . mysql_error() . "</p>");
mysql_select_db("yourno1web") or die("<p>kunne ikke vælge
databasen</p>");
echo "<table border=\\"0\\">";
$sa = mysql_query("select * from users order by id");
while ($sal = mysql_fetch_array($sa))
{
echo "<tr><td><p>Brugernavn:</td><td><p><a
href=\\"showuser.php?showid=".$sal['id']."\\">".$sal['brugernavn'].
"</a></td></tr><tr><td><hr></td><td><hr></td></tr>";
}
echo "</table>";
}

else{
echo "Hov du skal være logget ind for at se disse sider...";
}
?>

Undskyld at php scriptet er lidt rodet, men har ikke lige haft tid til at lave det om...
håber i kan hjælpe mig...

Hilsen Jan



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Jeg har nu kørt din kode gennem super-fætteren og rettet et par ting.
Jeg har tilladt mig at ændre lidt, fjerne lidt og tilføje lidt.
Bemærk de vigtigste ændringer er #1, men også lidt #2.

Fold kodeboks ind/udKode 

-
Mvh.
Christian Schultz Knudsen



Følgende linje:
$sb = mysql_query("select * from users where id=\\"$showid\\"");
Bør først og fremmest ændres til:
$sb = mysql_query("SELECT * FROM `users` WHERE `id`='".$_GET["showid"]."'");

Jeg vil glo koden igennem yderligere og melde tilbage hvis der er andre fejl.
Husk at svare hvis problemet bliver løst, så jeg ikke sidder og retter "ligegyldige" fejl.
-
Mvh.
Christian Schultz Knudsen



Tak, Christian Schultz Knudsen.

Jeg har nu skrevet hele mit script om, men jeg ville ikke have rettet mit script, jeg ville gerne vide hvordan jeg for lavet scriptet sådan at dem som ikke er logget ind vha. session, kan se bruger listen, men når de sender forspørgelsen ?showid= "et eller andet", for de en fejl meddelse, fx. "Du skal være logget ind for at se disse sider...", men hvis man er logget ind og sender forspørgelsen ?showid="et eller andet" så viser den infoen om brugeren...
Hvordan gør jeg det?
Her er mit ny skrevet script, som virker, men hvor jeg har fjernet else{ echo"Du skal være..."; } :

Fold kodeboks ind/udKode 


Hilsen
Jan S.

[Redigeret d. 23/11-04 15:01:04 af Jan S]



Tak, Christian Schultz Knudsen.

Jeg har nu skrevet hele mit script om, men jeg ville ikke have rettet mit script, jeg ville gerne vide hvordan jeg for lavet scriptet sådan at dem som ikke er logget ind vha. session, kan se bruger listen, men når de sender forspørgelsen ?showid= "et eller andet", for de en fejl meddelse, fx. "Du skal være logget ind for at se disse sider...", men hvis man er logget ind og sender forspørgelsen ?showid="et eller andet" så viser den infoen om brugeren...
Hvordan gør jeg det?


Det skulle meget gerne virke med den omskrevne kode (den jeg omskrev).
Hvis den ikke gør, så er det for vildt til mig.
-
Mvh.
Christian Schultz Knudsen



Desvære virkede det ikke...:(
Christian

Hilsen
Jan S.

[Redigeret d. 27/11-04 22:56:44 af Jan S]



Jeg har vidst glemt at lukke denne tråd, jeg fik det lavet ved at sætte en elseif ind istedet for bare if...

Hilsen
Jan S.



t