mrpipoca
(usa Ubuntu)
Enviado em 05/05/2010 - 08:37h
Caros colegas.
Eai pessoal,,
Primeiramente eu gostaria de agradeçer muito a ajuda de todos e principalmente a paciência, SEM PALAVRAS.
Conforme orientações criei o sisteminha de cadastro de ip mais ainda estou tendo alguma dificuldade de entender como ira funcionar, pq sou SUPER leigo nesse assunto, mais estou curtindo muito.
Criei em html e php o sistema de cadastro pra ter uma ideia.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CADASTRO DE MAQUINAS E IP COM BANCO DE DADOS E PHP</title>
<style type="text/css">
<!--
.style1 {
color: #FF0000;
font-size: x-small;
}
.style3 {color: #0000FF; font-size: x-small; }
</style>
<script type="text/javascript">
function validaCampo()
{
if(document.cadastro.maquina.value=="")
{
alert("O Campo maquina é obrigatório!");
return false;
}
else
if(document.cadastro.ip.value=="")
{
alert("O Campo ip é obrigatório!");
return false;
}
else
if(document.cadastro.mascara.value=="")
{
alert("O Campo mascara é obrigatório!");
return false;
}
<!-- Fim do Javascript -->
</script>
</head>
<body>
<form id="cadastro" name="cadastro" method="post" action="cadastro.php" onsubmit="return validaCampo(); return false;">
<table width="625" border="0">
<tr>
<td>
<?php
include("./fuctions.php");
$conexao = mysql_connect("localhost", "teste", "senha1") or die ("Erro de conexão com banco de dados, o seguinte erro de conexao BD ocorreu -> ".mysql_error());
@mysql_select_db("cadastro",$conexao);
$query = "SELECT ip FROM maquinas ORDER BY INET_ATON(ip) ASC;";
$selecao = mysql_query($query,$conexao);
$linha = mysql_num_rows($selecao);
for ($i=0;$i<$linha;$i++){
$reg = mysql_fetch_row($selecao);
echo "$reg[0] \n <br>";
$binario=converterIPparaBinario($reg[0]);
echo "BINARIO = $binario \n<br>";
//$aux1=substr($reg[0],0,strpos($reg[0],'.'));
//$aux2=substr($reg[0],strpos($reg[0],'.')+1,strpos($reg[0],'.'));
//echo "AUX = $aux1 \n<br>";
//echo "AUX2 = $aux2 \n<br>";
}
?>
<br><br><br><br><br><br><br>
</td>
<tr>
<td width="32">Maquina:</td>
<td width="30"><input name="maquina" type="text" id="maquina" size="20" maxlength="20" />
<span class="style1">*</span></td>
</tr>
<td>Ip:</td>
<td><input name="ip" type="text" id="ip" />
<span class="style3">Apenas números</span> </td>
</tr>
<td>Mascara:</td>
<td><input name="mascara" type="text" id="mascara" />
<span class="style3">Apenas números</span> </td>
</tr>
<td colspan="2"><p>
<input name="cadastrar" type="submit" id="cadastrar" value="Concluir meu Cadastro!" />
<input name="limpar" type="reset" id="limpar" value="Limpar Campos preenchidos!" />
<span class="style1">* Campos com * são obrigatórios! </span></p>
<p> </p></td>
</tr>
</table>
</form>
</body>
</html>
Blza:
Agora o sistema que chama o banco de dados chamado de cadastro.php
<?php
$maquina= $_POST ["maquina"];
$ip= $_POST ["ip"];
$mascara= $_POST ["mascara"];
echo "$maquina $ip $mascara";
$conexao = mysql_connect("localhost", "teste", "senha1") or die ("Erro de conexão com banco de dados, o seguinte erro de conexao BD ocorreu -> ".mysql_error());
@mysql_select_db("cadastro",$conexao);
$query = "INSERT INTO maquinas(maquina,ip,mascara) VALUES ('$maquina', '$ip' , '$mascara');";
mysql_query($query,$conexao);
echo "Seu cadastro foi realizado com sucesso!";
?>
Por fim "tentei" criar uma função chamada funcions.php.
<?php
function converterIPparaBinario($valor){
$valores = explode(".",$valor); //Separa o IP dos pontos
echo "0 = $valores[0]\n<br>";
echo "1 = $valores[1]\n<br>";
echo "2 = $valores[2]\n<br>";
echo "3 = $valores[3]\n<br>";
echo "4 = $valores[4]\n<br>";
$resultado = "";
for ($i = 0 ; $i < count($valores) ; $i++){
$valores[$i] = decbin($valores[$i]); //Converte o valor daquela parte do IP para binário
if ($i < count($valores)-1){ //Verifica se não é o último registro para colocar o ponto
$resultado .= $valores[$i] . '.';
}
else{ //Se for o último registro, então não coloca o ponto
$resultado .= $valores[$i];
}
}
return $resultado;
}
?>
Ok.
Tudo aparentemente funcionando.
Mais minha duvida vai ser a seguinte:
Como eu poço orientar meu sistema que numa rede por exemplo de classe A eu posso ter apenas 256 Host, numa rede de classe B apenas xxx de redes no maximo, e fazer com que ele não embaralhe tudo???
Caso não entendam minha duvida fiquem a vontade!!!