Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd w skrypcie PHP
Forum PHP.pl > Forum > PHP
kiepski96
Napisałem skrypt, który czyta pewne zmienne idące na moją stronę i zapisuje je do bazy.
Następnie pobieram ip uzytkownika ze strony i porównuję je z ip pobranym przez stronę.
Jeśli sięzgadzają to wtedy pojawia się odpowiednia informacja. Niestety to nie działa.
Po usunięciu if jest wszystko okej, ale w przeciwnym razie strona nie działa...
  1.  
  2. $host = 'localhost'; //host pewnie localhost
  3. $user = ''; //nazwa uzytkownika bazy
  4. $pass = ''; //haslo do bazy
  5. $bd = ''; //nazwa bazy danych
  6.  
  7. $pol = @mysql_connect($host, $user, $pass);
  8. $w_bd = @mysql_select_db($bd);
  9.  
  10. if (! $pol || ! $w_bd) {
  11. echo 'Nie można połączyć się z bazą danych';
  12. }
  13. $lead_id = $_GET['lead_id'];
  14. $ip = $_GET['ip'];
  15. $rate = $_GET['rate'];
  16. $campaign_id = $_GET['campaign_id'];
  17. $sid = $_GET['sid'];
  18. $premium_key = $_GET['premium_key'];
  19. $ipAddress = $_SERVER['REMOTE_ADDR'];
  20.  
  21. if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
  22. $ipAddress = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
  23. }
  24.  
  25.  
  26. $wpisanie = mysql_query("INSERT INTO `Postback` (lead_id, ip, user_ip, rate, campaign_id, sid) VALUES('$lead_id','$ip','$ipAddress','$rate','$campaign_id','$sid')");
  27. echo $ipAddress;
  28.  
  29. if ($ip = $ipAddress){
  30.  
  31. echo 'Twój klucz to:';
  32. }else
  33.  
  34. {
  35. echo 'nie'}
  36. }
  37.  

?>
Damonsson
http://phpkurs.pl/operatory/

zjedź do operatorów porównania
kiepski96
Użyłem == i dalej brak reakcji... ani nie wyświetla że nie są równe, ani że są
Turson
1. Wywal @ przy połaczeniu z bazą.
2. Włącz raportowanie błędów error_reporting
3. Przed porównaniem obok $ipAddress wypisz również $ip i sprawdź zawartość
kiepski96
  1. 3. Przed porównaniem obok $ipAddress wypisz również $ip i sprawdź zawartość


Możesz bardziej wytłumaczyć ?
Turson
  1. echo '$ipAdress: '.$ipAddress . '<br>$ip: '.$ip;
kiepski96
W tym momencie pokazuje moje ip, adresu z $ip nie pokazuje, bo w bazie nie ma go.
Ale jak dodałem tą instrukcję z ifem to to echo wgl sie nie pokazuje.

Może if nie działa przez to że $ip jest puste? Coś trzeba dodać w tej instrukcji ? Aby brało pod uwagę, że np. w koumnie $ip nic nie ma ;p
Pyton_000
A gdzie ty masz pobieranie tego IP z bazy ? Bo w tej chwili porównujesz IP z adresu do IP ze zmiennej _SERVER czylu IP z którego wchodzisz.
kiepski96
No i tak ma być wink.gif
Chcę porównać tak, aby każdy kto wejdzie miał porównane swoje ip z ip które mi przyjdzie od reklamodawcy ze zmiennej $ip
No ale nie działa, jaka jest tego przyczyna?
Pyton_000
Kod
echo 'nie'}

brak ; i za dużo o 1 }
kiepski96
Dzięki wielkie ! Przez taki głupi błąd- ; (bo nawias wczesniej zobaczyłem) to wszystko mi nie działało haha.gif

Jeszcze jedno, co dodać do instrukcji w stanie true, aby od razu usuwała wartość $ip z bazy ?
Pyton_000
eeee??
Turson
Cytat(kiepski96 @ 1.06.2014, 22:22:46 ) *
Dzięki wielkie ! Przez taki głupi błąd- ; (bo nawias wczesniej zobaczyłem) to wszystko mi nie działało haha.gif

Już napisałem wcześniej, żebyś włączył wyświetlanie błędów, to byś zobaczył błąd

Cytat(kiepski96 @ 1.06.2014, 22:22:46 ) *
Jeszcze jedno, co dodać do instrukcji w stanie true, aby od razu usuwała wartość $ip z bazy ?

Zapytanie?
kiepski96
Chcę zrobić tak, że jeśli warunek if będzie true to aby pokazywało się echo + zadziałała funkcja, która usunie mi ip z bazy.
Jak to zrobić ?
SaMi
Cytat
Chcę zrobić tak, że jeśli warunek if będzie true to aby pokazywało się echo + zadziałała funkcja, która usunie mi ip z bazy.
Jak to zrobić ?


  1. if($value)
  2. {
  3. echo 'message';
  4. deleteIP($ip);
  5. }
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.