2010-12-09 4 views
-1
<?php 
$myip=file_get_contents("http://www.whatismyip.com/automation/n09230945.asp"); 
if(!$myip=='1.1.1.1'){ 

    echo "Not matches"; 
} 
?> 

Le si ne fonctionne pas? : Sphp bug le si ne fonctionne pas

+0

Que se passe-t-il ou ne se passe-t-il pas? –

+1

http://stackoverflow.com/questions/ask-advice – Gordon

Répondre

3

Vous devez changer votre if à:

if($myip != '1.1.1.1') 

ou

if(!($myip == '1.1.1.1')) 

! est d'avoir plus precedence que ==.

donc votre condition !$myip=='1.1.1.1' est traitée comme (!$myip)=='1.1.1.1' qui traite $myip comme booléen, ce qu'il nie, puis compare avec true ('1.1.1.1' est true).

+0

Merci homme :) (bière) – qwere

5

Faites le si comme ceci:

if($myip != '1.1.1.1') 
{ 
    echo "Not matches"; 
} 

Et read this;

+0

Merci :) (bière) – qwere

+0

@qwere, vous savez que vous pouvez aussi accepter la réponse qui vous plaît en cliquant sur le 'tick' marquez le bouton sur le côté gauche de la réponse. – shamittomar

2

Question: Qu'est-ce que vous essayez de faire ici? Si vous essayez d'obtenir l'adresse IP de l'utilisateur, alors non, cela ne fonctionnera pas, car l'adresse IP qui sera renvoyée par l'appel get_file_contents sera l'adresse IP du serveur , pas l'utilisateur.

Mais vous n'avez même pas besoin d'effectuer des appels externes pour obtenir l'adresse IP de l'utilisateur. PHP l'a déjà dans la variable globale $_SERVER.

print $_SERVER['REMOTE_ADDR']; 

Ceci vous donnera l'adresse IP de l'utilisateur.

Espérons que cela aide.