Avatar billede menthos Nybegynder
28. april 2004 - 18:58 Der er 20 kommentarer og
1 løsning

problemer med mysql_query

jeg har sat et community op og vil sætte pjirc op sådan at man er logget ind i pjirc når man er logget ind i det community så man ikke kan fakenicke... jeg har prøvet og ændre koden i pjirc til:
<?
$nick = mysql_query('select username FROM online WHERE username='Admin'');
?>
<param name="nick" value="<? $nick ?>">

før var den: <param name="nick" value="anonymous">

men det virker ikke...
og hvordan får jeg 'Admin' til at være den bruger der er logget på community
Avatar billede dennismp Nybegynder
28. april 2004 - 19:44 #1
prøv
<?
$res = mysql_query('select username FROM online WHERE username=\'Admin\'') or die(mysql_error());
$nick = mysql_result($res,0,0);
?>
<param name="nick" value="<? $nick ?>">
Avatar billede dennismp Nybegynder
28. april 2004 - 19:45 #2
men jeg forstår ikke din sql.. du vil finde username fra online, hvor username er 'admin'.. vil det ikke altid være admin og kun admin?
Avatar billede menthos Nybegynder
28. april 2004 - 21:31 #3
der kommer flere users.... det er derfor... ellers var der ikke noget problem :)
Avatar billede dennismp Nybegynder
28. april 2004 - 21:34 #4
Ok, hvordan kan jeg få fat i brugerens navn? (Hvordan logger de ind?)
Avatar billede menthos Nybegynder
28. april 2004 - 21:36 #5
hmm det virker ikke helt endnu... den skriver flg:
startup error: java.lang.exception: mandatory 'nick' paramenter not povided
Avatar billede menthos Nybegynder
28. april 2004 - 21:38 #6
de logger ind med user og pass... der ligger i en db og nåpr de er logget ind skulle de gerne oprettes i online så man ka se de er online
Avatar billede menthos Nybegynder
28. april 2004 - 22:01 #7
i tabellen online står der username og ip
og i tabellen user hvor de kommer ind når de blir oprettet står der username password og email
Avatar billede dennismp Nybegynder
28. april 2004 - 22:11 #8
Jammen selvom du har mange brugerem så vil username altid være det du sætter usrename til at være.

Prøv at se her

$nick = mysql_query('select username FROM online WHERE username='Admin'');

her sætter du:
username='Admin'

og du ønsker at få
select username
fra databasen. Men uden at spørge databasen, vil det jo altid være Admin, eller det navn du sætter i where-delen.  Har du overhovedet behov for den sql?

Din kode vil svare til dette:
<?
$nick = 'Admin';
?>
<param name="nick" value="<? $nick ?>">

Hvis man siger du har en login side, der genner brugernavnet i session fx

<?php
  // brugernavn/kodeord er korrekt
  $_SESSION['username'] = 'admin';
?>

Så skal du skrive på din chatside:
<param name="nick" value="<?php print $_SESSION['username']; ?>">
Avatar billede menthos Nybegynder
28. april 2004 - 22:15 #9
ja den genner det i en session der hedder s_navn
Avatar billede dennismp Nybegynder
28. april 2004 - 22:21 #10
Så burde dette være nok:
<?php session_start();  ?>
<param name="nick" value="<?php print $_SESSION['s_navn']; ?>">

Den første linje skal stå helt i toppen. Den anden skal står der hvor du nu har den.
Avatar billede menthos Nybegynder
28. april 2004 - 22:26 #11
takker :) det virker nu :)
Avatar billede menthos Nybegynder
28. april 2004 - 22:26 #12
svar så får du dine point
Avatar billede dennismp Nybegynder
28. april 2004 - 22:29 #13
Sure.
Avatar billede menthos Nybegynder
28. april 2004 - 22:38 #14
hmm det virkede kun første gang... hvis jeg logger ud og logger ind med en anden bruger skifter den ikke nick...??
Avatar billede dennismp Nybegynder
28. april 2004 - 22:51 #15
Husker du at få sat s_name til en ny værdi?
prøv at tilføje:
<?php print_r($_SESSION); ?>

og så post outputtet her.. Evt også der hvor du sætter s_session til brugerens værdi.
Avatar billede menthos Nybegynder
28. april 2004 - 23:38 #16
Array ( [s_navn] => Admin [s_password] => melon [s_email] => none [s_id] => 1 )
hmm jeg prøver lige at logge ind på en anden bruger
Avatar billede menthos Nybegynder
28. april 2004 - 23:39 #17
der skriver den bare det samme....
Avatar billede menthos Nybegynder
28. april 2004 - 23:40 #18
her er session scriptet der sker ved login:
while($r = mysql_fetch_array($query)) {
$s_navn = $r["username"];
$s_password = $r["password"];
$s_email = $r["email"];
$s_id = $r["id"];
}
session_start();
session_register ("s_navn");
session_register ("s_password");
session_register ("s_email");
session_register ("s_id");
Avatar billede dennismp Nybegynder
29. april 2004 - 00:15 #19
while($r = mysql_fetch_array($query)) {
$s_navn = $r["username"];
$s_password = $r["password"];
$s_email = $r["email"];
$s_id = $r["id"];
}

hvis din sql matcher 0 rækker, for du aldrig givet dine variabler nye værdier.

Prøv forresten at sætte session_start() op i toppen af dit script.
Avatar billede menthos Nybegynder
29. april 2004 - 14:46 #20
nice nok :) jeg tror det virker nu :)
Avatar billede dennismp Nybegynder
29. april 2004 - 15:02 #21
Cool :)
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