Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z wykonywaniem skryptu
Forum PHP.pl > Forum > Przedszkole
mefistofeles
Przykładowy fragment na którym się wywala:

  1. if ($_POST['wynik']=="nieistnieje") {
  2.  
  3. if ($_POST['tytul'])
  4. { (...)



Chodzi konkretnie o "if ($_POST['tytul'])" po tym się wywala, ale jak zmienie na: if (isset($_POST['tytul']))"
to już jest ok.
Ogólnie móglbym wszystko pozmieniać w ten sposób ale to bardzo rozbudowany skrypt.
Chciałem zapytać czy jest jakiś sposób, żeby skonfigurować tak serwer (linux), żeby jednak ten skrypt działał
w takiej postaci bo jak mowie na home.pl działa bez zarzutu a na moim serwerze w w/w momentach po prostu
skrypt chodzi, chodzi i chodzi ale nic się nie dzieje, nie wywala błędu tylko się jakby zapętla.

O co tutaj chodzi i jak to można obejść żeby nie trzeba było przebudowywać całego skryptu ?
everth
Nie jest to zbyt dobre rozwiązanie ale możesz spróbować napisać funkcję która będzie inicjalizowała indeks 'tytul' tablicy z parametrem false przed rozpoczęciem przetwarzania danych.
mefistofeles
Ale to nie tyko o tytul chodzi.
Jakoś musi się dać to zrobić skoro na home wszystko smiga tylko nie wiem o jakie ustawienia php
moze chodzic ?

Dalej się z tym zmagam i nic.
Pewnie trzeba zmienić jakieś parametry w php.ini tylko jakie ?
zelu
Problem jest w niezainicjowanej wcześniej zmiennej. Ogólnie nie jest do dobra praktyka i powinieneś albo inicjować zmienne (co w przypadku $_POST jest nielogiczne) albo sprawdzac przez isset.

Ale jeżeli już tak bardzo Ci zależy na niechlujnym kodowaniu od samego początku to możesz zmienić w php.ini wartość error_reporting na:

  1. error_reporting = E_ALL & ~E_NOTICE


Pozdro
mefistofeles
Teraz zauważyłem, że problem leży po stronie cURL:

  1. $url='http://www.domena.pl';
  2. $ch_e=curl_init($url);
  3. define('USER_AGENT', 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.0.6');
  4. curl_setopt($ch_e, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($ch_e, CURLOPT_FOLLOWLOCATION, 1);
  6. curl_setopt($ch_e, CURLOPT_USERAGENT, USER_AGENT);
  7. curl_setopt($ch_e, CURLOPT_SSL_VERIFYPEER, FALSE);
  8. curl_setopt($ch_e, CURLOPT_SSL_VERIFYHOST, 2);
  9. curl_setopt($ch_e, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
  10. curl_setopt($ch_e, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
  11. $nazwa=curl_exec($ch_e);
  12. var_dump($nazwa);


Patent jest taki, że cURL na serwerze działa prawidłowo, ale jak podam adres pewnej domeny, to mieli i mieli
i po około minucie dostaję:

bool(false)

Ten sam skrypt odpalony na komputerze domowym (inne ip) dla w/w domeny działa idealnie!

Czyli w takim razie wychodziłoby na to, że ta domena robi bana na IP serwera z którego próbuję się połączyć ?
Dobrze myślę questionmark.gif
Trochę to dziwne, gdyż nigdy nie łączyłem się z tego serwera z tą domeną wcześniej, poza tym nie jest to popularna strona, więc skąd miałby być ten ban.

Czy można jakoś sprawdzić czy dana strona blokuje dane IP?
Wiadomo w domu mogę sobie sprawdzić stronę na kilku kompach różnych ip i widzę różnicę, ale jak sprawdzić czy serwer ma bana ?

A może to jeszcze coś innego questionmark.gif
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.