Ip godkendelse

Tags:    php

Hey Udviklere hvorfor siger den ikke at de 2 ip'er her r ens?
<?
require('import/Psychos.php');
$ip_check = mysql_query ("SELECT * FROM pbl_ip_acces") or die (mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>

<link href="import/layout.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div align="center">
<table width="195" border="0">
<tr>
<td width="20" height="26">B:</td>
<td colspan="2"><input type="text" name="textfield" /></td>
<td width="15" rowspan="5" valign="top"><p><strong>P.<br />
B.<br />
L.</strong><br />
</p> </td>
</tr>
<tr>
<td>P1:</td>
<td colspan="2"><input type="text" name="textfield2" /></td>
</tr>
<tr>
<td>P2:</td>
<td colspan="2"><input type="text" name="textfield3" /></td>
</tr>
<tr>
<td valign="top">IP:</td>
<td width="112" valign="top"><?=getenv('REMOTE_ADDR');?> </td>
<td width="30" align="center" valign="top">
<?
while ($r = mysql_fetch_array($ip_check)) {
$ip = "80.198.56.28";
$data_ip = $r['ip'];
if ("$ip" == "$data_ip") {
echo "<img src=\\"image/ok.jpg\\" width=\\"34\\" height=\\"20\\" />";
} else { echo "<img src=\\"image/no.jpg\\" width=\\"34\\" height=\\"20\\" />";}
echo "var_ip: $ip, var_data_ip: $data_ip";
}
?>
 </td>
</tr>
<tr>
<td colspan="3"><input type="submit" name="Submit" value="Login" /></td>
</tr>
</table>
<br />

</div>
</body>
</html>

Hp:
www.psychos.dk/PBL/



Indlæg senest redigeret d. 30.04.2006 14:59 af Bruger #3344
hvor gåseøjne om ?

prøv

if ($ip == $data_ip) {

gør det nogne forskel?

hvis det ikke virker, prøv at udskrive dine variabler for at se om du rent faktisk indeholder det som de skal.



det gør ingen forskel... og de virker kan du selv se på siden http://psychos.dk/PBL/



Hvorfor bruger du mysql hvis du alligevel ikke bruger dens søgefunktionalitet?

if(mysql_num_rows(mysql_query('SELECT NULL FROM tbl_ip_access WHERE ip=\\''.$_SERVER['REMOTE_ADDR'].'\\'')))
{
// Godkendt
}
else
{
// Ikke godkendt
}

Udover det er IP-adresser tal, ikke strenge, så du bør konvertere dem til BIGINT og bruge:
if(mysql_num_rows(mysql_query('SELECT NULL FROM tbl_ip_access WHERE ip=INET_ATON(\\''.$_SERVER['REMOTE_ADDR'].'\\')')))



kan jeg ikk lige få forklaret den script?



hmm $ip = bliver jo lavet om når det virker til at den tar den ip som personen har som kommer ind på siden...



kan jeg ikk lige få forklaret den script?


Hvad er det mere præcist du vil have forklaret?

http://dk2.php.net/mysql_num_rows
http://dev.mysql.com/doc/refman/4.1/en/miscellaneous-functions.html#id3182639



Jamen... ved ikk hvad ejg skal bruge det der til? det er jo fordi at den login jeg har lavet der skal de have den rigtige ip for at kunne logge ind..



t