op is juist maar toch fout?
het werkt met een aantal sleutels ( ongeveer 20 tekens 6 sleutels )
nu controleer ik of het ip adres van de ingelogde gebruiker klopt
ik heb al eens een echo gedaan op $ip en op $token['ip'] en dat is hetzelfde,
waarom is het dan niet gelijk?
Toevoeging op 18/04/2012 17:00:33:
oeps het moet ip is juist maar toch fout? zijn
trim.
Iets wat meer informatie wat betreft de opbouw van je MySQL tabel zou handig zijn om te kunnen zien hoe je je data opslaat. Gebruik voor de zekerheid ook eens waarvoor moet ik trim gebruiken
Post eens wat meer relevante code, ik neem aan dat je zelf ook wel begrijpt dat niemand hier iets van kan maken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$token_ophaal = "SELECT gebruiker_id, ip FROM token WHERE sleutel1='".mysql_real_escape_string($_GET['s1'])."' and sleutel2='".mysql_real_escape_string($_GET['s2'])."' and sleutel3='".mysql_real_escape_string($_GET['s3'])."' and sleutel4='".mysql_real_escape_string($_GET['s4'])."' and sleutel5='".mysql_real_escape_string($_GET['s5'])."' and sleutel6='".mysql_real_escape_string($_GET['s6'])."'";
if(!$token = mysql_query($token_ophaal))
{
echo '<div id="error">Sorry, Er is een foutje verschenen.<div id="log">'.mysql_error().'<br />In query: '.$token_ophaal.'</div></div>';
}
elseif(mysql_num_rows($token) == 0)
{
//inlog hack melden ( sql uitvoeren )
}
else
{
$token = mysql_fetch_assoc($token);
$ip = $_SERVER['REMOTE_ADDR'];
if($token['ip'] == $ip) {
?>
$token_ophaal = "SELECT gebruiker_id, ip FROM token WHERE sleutel1='".mysql_real_escape_string($_GET['s1'])."' and sleutel2='".mysql_real_escape_string($_GET['s2'])."' and sleutel3='".mysql_real_escape_string($_GET['s3'])."' and sleutel4='".mysql_real_escape_string($_GET['s4'])."' and sleutel5='".mysql_real_escape_string($_GET['s5'])."' and sleutel6='".mysql_real_escape_string($_GET['s6'])."'";
if(!$token = mysql_query($token_ophaal))
{
echo '<div id="error">Sorry, Er is een foutje verschenen.<div id="log">'.mysql_error().'<br />In query: '.$token_ophaal.'</div></div>';
}
elseif(mysql_num_rows($token) == 0)
{
//inlog hack melden ( sql uitvoeren )
}
else
{
$token = mysql_fetch_assoc($token);
$ip = $_SERVER['REMOTE_ADDR'];
if($token['ip'] == $ip) {
?>
Array ( [gebruiker_id] => (klopt) [ip] => ++.+++.+++.+++ )
Die output klopt van geen kant meer. Geef gewoon de complete, onveranderde, waarde.
Array ( [gebruiker_id] => 2 [ip] => 98.156.369.198 )
waarom wordt toch steeds met het ip gewerkt?? Het is vandaag de dag niet meer zeker of je gebruiker vanaf hetzelfde ip inlogt. Je gebruiker kan op school zijn en via het school ip inloggen, je gebruiker kan in de tram zitten en met zijn smartphone ip inloggen en je gebruiker kan thuis zijn en met zijn home-peeceetje en ip inloggen. Het is en blijft onlogisch om het ip op te slaan en ook bijvoorbeeld om een ip te bannen.
op school moet het werken en verder nergens.
IP van je school regelen in checken of het IP adres klopt?
Kun je eens var_dump($token['ip'], $ip); doen?
Bas Kreleger op 18/04/2012 19:57:17:
IP van je school regelen in checken of het IP adres klopt?
dat heb ik al en dat klopt met hetgeen in de database, maar toen ik het daarstraks opstarten gaf hij een error dat het ip niet klopte
Toevoeging op 18/04/2012 20:13:10:
string(15) "98.156.369.198 " string(13) "98.156.369.198"
ik begin een foutje te zien ( kan die spatie een probleem geven ( zal hem maar verwijderen, kan wel niet controleren tot morgen ))
trim gebruiken dan? Zorg er ook voor dat data zonder voor of eind spaties de database in gaat ;)
Zoals je kan zien geef ik dus eigenlijk al de oplossing in het eerste bericht. Dus ja, een string van 15 tekens is niet hetzelfde als string met 13 tekens.
Waarom moet je Zoals je kan zien geef ik dus eigenlijk al de oplossing in het eerste bericht. Dus ja, een string van 15 tekens is niet hetzelfde als string met 13 tekens.
Gewijzigd op 18/04/2012 20:17:13 door Mebus Hackintosh
ik had die gegevens handmatig ingevoerd maar ik zal die trim er eens inbouwen ( om die fout te vermijden )
Toevoeging op 18/04/2012 20:18:03:
ik kon niet echt de functie achterhalen ( ik dacht iets van alle tekens omzetten naar spatie )