Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wartość echo zależąca od Adresu IP
Forum PHP.pl > Forum > Przedszkole
Przemo_
Witam.
Mam problem odnośnie sprawdzania IP i pokazywania wiadomości odnośnie Jego.
Chcę zrobić tak, że jak użytkownik ma zmienne IP (83.*.*.*) ma mu się pokazać wiadomość "Masz NEO"
Jeśli natomiast ma inne IP niż te ma wyświetlić mu się inny text.
Zacząłem to robić i mam problem...

  1. <?php
  2. $ip = "$REMOTE_ADDR";
  3. $zakazane_ip = "83.21.191.10";
  4. function ip () {
  5. if ($ip = $zakazane_ip) {
  6. echo "Posiadasz Neostradę, zmienne IP"; }
  7. else echo "port to ::::"; }
  8.  
  9. echo ip();
  10. ?>


Problem w tym, że cały czas wyświetla mi się Posiadasz Neostradę.....

I nie rozróżnia IP, ani na localhost ani na serwerze.
Ma ktoś jakiś pomysł ?
Cysiaczek
Stosujesz operator przypisania, zamiast operaora porównania w linijce 5.

Pozdrawiam.

Przenoszę na Przedszkole
Fishu
Widać, że albo się pomyliłeś albo jesteś nowy w tych dziedzinach. Jak powiedział Cysiaczek w 5 linijce dodaj jeden znak = po drugim aby uzyskać dwa. Przykład:
  1. <?php
  2. if ($ip == $zakazane_ip) {
  3. ?>
Przemo_
Ok rozumiem.
Zrobiłem tak:
  1. <?php
  2. $ip = "$REMOTE_ADDR";
  3. function ip () {
  4. if ($ip = "83.*.*.*") {
  5. echo "Posiadasz Neostradę, zmienne IP"; }
  6. else echo "port to ::::"; }
  7.  
  8. echo ip();
  9. ?>


Ja posiadam Adres IP zaczynający się na 83 i pokazuje mi się, że mam neostradę.
Kumpel mój natomiast ma zupełnie inne IP i mu pokazuje się to samo.

Gdzie popełniłem błąd?

//Sorry nie zauważyłem Twojego postu.

//EDIT

Kompletnie nie myślę :/

  1. <?php
  2. $ip = "$REMOTE_ADDR";
  3. $zakazane_ip = "83.*.*.*";
  4. function ip () {
  5. if ($ip == $zakazane_ip) {
  6. echo "Posiadasz Neostradę, zmienne IP"; }
  7. else echo "port to ::::"; }
  8.  
  9. echo ip();
  10. ?>


Pokazuje mi, że posiadam Neo, kumplowi też (on ma inne IP)

Dodam, że z jednym '=' w if też nie działa...

A, że nowy jestem to prawda
nospor
http://pl2.php.net/manual/pl/language.variables.scope.php
Twoje zmienne co deklarujesz poza funkcją sa dla funkcji niedostepne wiec obie sie sobie rownają. W linku co ci podalem masz napisane co i jak
Przemo_
Trochę poczytałem i takie coś mi wyszło...

  1. <?php
  2.  
  3. function ip ()
  4. {
  5. $ip = "$REMOTE_ADDR";
  6. $zakazane_ip = "83.*.*.*";
  7. }{
  8. if ($ip == $zakazane_ip){
  9. echo "Posiadasz Neostradę, zmienne IP"; }
  10. else echo "port to ::::"; }
  11.  
  12. echo ip();
  13. ?>


I nadal wyświetla się Posiadasz.....

Próbowałem też dodać
  1. <?php
  2. function Sum()
  3. {
  4. global $ip, $zakazane_ip;
  5. }
  6. ?>

na tej podstawie, tzn $ip $zakazane_ip były poza funkcją ale to samo sie wyswietla
nospor
Cytat
Trochę poczytałem i takie coś mi wyszło...
To poczytaj jeszcze troche bo nic nie zakumales. Ja spadam na sylwka.
Lion_87
A może:

Kod
  <?php

function ip ()
{
$ip = $_SERVER['REMOTE_ADDR'];
$zakazane_ip = "83.*.*.*";

if ($ip == $zakazane_ip){
echo "Posiadasz Neostradę, zmienne IP"; }

if ($ip != $zakazane_ip){
echo "port to ::::"; }
}

echo ip();
?>
Przemo_
Niestety nie działa
Hazel
  1. <?php
  2. function ip()
  3. {
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5. $zakazane_ip = "83..........";
  6. if ($ip == $zakazane_ip)
  7. {
  8.  return 'IP zakazane';
  9. }
  10. else return 'IP OK';
  11. }
  12. echo ip();
  13. ?>

jak już...
I nie ma bata, żeby to nie działało, chyba że korzystasz z interpretera Ruby tongue.gif
Tylko pamiętaj, żeby do zmiennej $zakazane_ip przypisać potrzebną wartość IP, a nie jakies gwiazdki czy kropki...
Przemo_
A jeśli nie znam całego adresu IP ?
Znam tylko początek 83 to co wtedy?

//Można dać coś takiego (zakres). 83.0.0.1 do 82.255.255.255 questionmark.gif
Lion_87
to wtedy możesz sie powiesić:)

jak to nie znasz?
Przemo_
bo mi właśnie chodzi by zablokować userów Neostrady... biggrin.gif
Lion_87
to masz:)

Kod
  <?php

function ip ()
{
$ip = $_SERVER['REMOTE_ADDR'];

$ip=substr($ip, 0, 2);
$zakazane_ip = "83";


if ($ip == $zakazane_ip){
echo "Posiadasz Neostradę, zmienne IP"; }

if ($ip != $zakazane_ip){
echo "port to ::::"; }
}

echo ip();
?>




SZCZESLIWEGO NOWEGO ROKU:)
Przemo_
dzięki wielkie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.