Avatar billede mr-super Nybegynder
02. juni 2004 - 18:43 Der er 12 kommentarer

Nem, simpel PHP fejl!

Sidder her og gør mig selv til grin.. Kan ikke finde fejlen her :P

<?
session_start();
include("../inc/db.php");
$sovs = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn'");
mysql_query("UPDATE brugere set online = 'ja' WHERE brugernavn = '$brugernavn'");
?>



Den skal update online til ja altså, fra nej til ja
Avatar billede Slettet bruger
02. juni 2004 - 19:33 #1
Hvilken fejl får du?
Avatar billede rasher Nybegynder
02. juni 2004 - 19:50 #2
Med mindre du bruger det senere så er din SELECT unødvendig.

Prøv at echo mysql_error() efter din query.
Prøv evt. også mysql_affected_rows()
Avatar billede kasper.h Nybegynder
02. juni 2004 - 20:16 #3
du skal nok skrive
UPDATE brugere set online = 'ja' WHERE brugernavn = '{$sovs[brugernavn]}'"
i den sidste query, hvis du vil opdatere ud fra den første.. ikke at det giver meget mening i det du skriver, men måske gør det alligevel? :)
Avatar billede rasher Nybegynder
02. juni 2004 - 20:55 #4
kasper.h: Dette vil ikke virke da $sovs er en resource identifier. Hvis det er formålet skal noget i stil med
Avatar billede rasher Nybegynder
02. juni 2004 - 20:56 #5
ups.. noget i stil med:

$sovs = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn'");
$row = mysql_fetch_assoc($sovs);
mysql_query("UPDATE brugere set online = 'ja' WHERE brugernavn = '".$row['brugernavn']."'");


Men det virker rimelig fjollet da han jo lige har selected på $brugernavn. Jeg tror den første query er til senere brug?
Avatar billede rasher Nybegynder
02. juni 2004 - 20:58 #6
Hey, idé!

Måske har du kigget på indholdet af $sovs, som jo bliver selected FØR der bliver updated. Prøv at flytte $sovs = queryen nednunder UPDATE queryen hvis det er tilfældet.
Avatar billede kasper.h Nybegynder
02. juni 2004 - 21:29 #7
naturligvis.. Måske vi kunne få noget mere information fra mr-super i stedet for at gætte på hvad problemet er? :-)
Avatar billede mr-super Nybegynder
03. juni 2004 - 16:37 #8
Intet virker endnu.
Avatar billede mr-super Nybegynder
03. juni 2004 - 16:42 #9
Hele min kode til index.php:


<?
include("../inc/db.php");
$sovs = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn' AND kode = '$kode'");
$row = mysql_fetch_array($sovs);
mysql_query("UPDATE brugere set online = 'ja' WHERE brugernavn = '$brugernavn'");

?>


<head>
<title>.tekstboks</title>
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
<meta HTTP-EQUIV="REFRESH" target=ny CONTENT="1; URL=index2.php">

</head>

<body bgcolor="CCCCCC" text="black" link="blue" vlink="purple" alink="red">
<p align="center"><font size="1" face="Tahoma" color="#666666">Logger på..</font></p>
</body></html>
<iframe width="0" height="0" border="0" frameborder="0" name="opdater" src="onlinetid.php">



Og det den skal af at kalde det brugernavn frem man lige har logget ind på, og lave en opadtering, sådan den opdater ONLINE "Nej" til "ja"
Avatar billede rasher Nybegynder
03. juni 2004 - 23:25 #10
Indeholder $brugernavn det du regner med, og eksisterer en linje i databasen hvor brugernavn=$brugernavn? echo $brugernavn; i toppen og echo mysql_num_rows(); efter din første query.
Avatar billede kube Nybegynder
03. juni 2004 - 23:29 #11
hvad med din db.php er den korrekt?
Avatar billede snie97 Nybegynder
04. juni 2004 - 13:34 #12
Du bør køre sådan en onlinestatus-ting med sessions i stedet for i databasen.

Hvad vil du gøre hvis brugeren ikke "logger rigtigt ud", eller hvis brugerens computer går ned...?

Så vil den pågældende stå som online indtil han/hun en dag finder ind til en logoff knap.

Med sessions, udløber loginnet bare efter en halv times tid i stedet...
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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