WHERE probleem.

Gestart doorHeaq9 reacties74 weergaven

10 berichten · pagina 1 van 1

Heaq

Lid · Topicstarter

Berichten
23
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoii!

Ik ben net een script aan t maken, dat je niet kan inloggen via een andere IP op je account.
Nu heb ik alleen 2x where nodig, en dat lukt niet?
Dit is het script:
Spoiler tonen
$ipQuery = mysql_query("SELECT * FROM users WHERE ip_reg = " . mysql_real_escape_string($_SERVER[REMOTE_ADDR]) . "") or die(mysql_error());
$ipQuery = mysql_query("SELECT * FROM users WHERE username = ".$username."") or die(mysql_error());
if (mysql_num_rows($ipQuery) != 0)
{
echo ;
}
else
{
echo Je kan niet zomaar op een andere PC inloggen!;
}
?>
De bedoeling is dat als je IP niet overheen komt met het geregisteerde IP en, je gebruikernaam niet (als je inlogt) dat je dan Je kan niet zomaar op een andere PC inloggen! krijgt.

Wie kan helpen? bloos
Alvast bedankt. pompom
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Nee, het is AND na je WHERE

Dus:
WHERE dit=dat AND zus = zo

Tevens is het niet netjes om die() te gebruiken. Je script moet niet doodgaan (stoppen) met draaien, hij moet gewoon doorgaan. Je moet met if-else een goede foutafhandeling inbouwen....
0
Thom

Lid

Berichten
10.654
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
[COLOR= #0000BB]<?php

$ipQuery[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM users WHERE username = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$username[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]" AND ip = "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$_SERVER[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]REMOTE_ADDR[/COLOR][COLOR= #007700]].[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$ipQuery[/COLOR][COLOR= #007700]){[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_num_rows"]mysql_num_rows[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$ipQuery[/COLOR][COLOR= #007700]) !=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]){[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Hoi.[/COLOR][COLOR= #007700];
    }[/COLOR] [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Geen toegang[/COLOR][COLOR= #007700];
    }
}[/COLOR] [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]();
}[/COLOR]

?>
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Waar komt $username vandaan?
0
Heaq

Lid · Topicstarter

Berichten
23
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Voor als ze inloggen.
Bedankt voor de snelle reactie trouwens, het werkt nog niet echt, maar het probleem is opgelost.
De rest kom ik wel uit met wat ge-google. bloos
0
Thom

Lid

Berichten
10.654
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Geef dan wat duidelijker wat je wilt..
0
Heaq

Lid · Topicstarter

Berichten
23
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Het is moeilijk uit te leggen, want het meeste zit echt in mn hoofd wat ik wil maar oke:

Als je inlogt, en je IP komt niet overeen met het IP van als je je account aanmaakt, dan krijg je iets van tekst, en wordt je uitgelogt.

Als het wel overheen komt, gebeurt er niets.

Zeg maar, dat je niet kan inloggen vanaf een andere PC. Want: Iemand had mn database gehackt, en gaat uiteraard die PWs decypten en proberen.

Edit// Het werkt nu. Het lag aan die $username. Dat moest: ".$_SESSION[user]." zijn.
Bedankt voor alle hulp!
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
je kan dit beter met een cookie doen. Ip adressen willen nog wel eens veranderen.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Rogier schreef:
je kan dit beter met een cookie doen. Ip adressen willen nog wel eens veranderen.
En cookies zijn te manipuleren.

Ik vraag me iets af over je systeem? is het niet zo dat als iemand zich op de ene PC vergeet uit te loggen, dat hij niet meer via een ander IP erop kan komen?
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Pff je kan dat best goed verkomen hoor. Gewoon in de db een extra tabel met cookies of sessies maken.

Probleem is wel dat mensen cookies kunne verwijderen. Maar dan kan je één cookie per acocunt toestaan ofzo.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren