CryRat Posted October 14, 2003 Report Posted October 14, 2003 hi ppl... long time not seen ;) vobšem lieta tāda: parasti rakstīju $_SERVER['HTTP_REFERER'] un nebij nekādu problēmu bet nesen pēc Apachi & PHP & visa pārējā pārinstalēšanas sāka rādīt šitādu: "Notice: Undefined index: HTTP_REFERER in * on line *" :\ kaut kā dadomājos izmantot getenv('HTTP_REFERER') viss itkā būtu skaisti... bet vienkāršhi interesēja... kapēc tā... kur palika tas $_SERVER['HTTP_REFERER'] ? kā viņam būtu jābūt pareizi ? ja tā ir konfigurācijas vaina tad kas un kam jāspaida lai varētu normāli izmantot $_SERVER...
K|NG Posted October 14, 2003 Report Posted October 14, 2003 php.ini pamaini error_reporting piem shitaa: error_reporting = E_ALL & ~E_NOTICE vai php failaa liec: <?php error_reporting(0);?>
CryRat Posted October 14, 2003 Author Report Posted October 14, 2003 php.ini pamaini error_reportingpiem shitaa: error_reporting = E_ALL & ~E_NOTICE nu to es itkā zināju... gribi teikt ka tā ir vienīgā atšķirība ? $_SERVER['HTTP_REFERER'] rāda Notice a getenv('HTTP_REFERER') nerāda neko ? tas šhito lietu padarītu vēl muļķīgāku kam tas vajadzīgs ?! nu labi... laikam nav svarīgi... thx anyway...
Qued Posted October 15, 2003 Report Posted October 15, 2003 Kings iesaka "netīro" programmēšanas stilu. Nerūpējies par kļūdas cēloni, noslēp tās paziņojumu... aijaijai! Rat, varbūt konkrētajā gadījumā parametram refer nav vērtības un tādēļ tas vispār sistēmā netiek inicializēts?
Venom Posted October 15, 2003 Report Posted October 15, 2003 Varbuut patraapiijaas PHP versija, kur kaut kaads gljuks superglobaalju veidoshanaa? Vai netiek izmantots ieksheejs redirects ar gzip/Zend/suutiiti kaadi spec. headeri? vienmeer paliidz print_r($_SERVER); vai print_r($GLOBALS); inijaa kaut kur bija kkas par "Servera parakstu" un vai raadiit info par serveri vai nee, resp, $_SERVER vareetu buut tukshs, jo taa noteikts ini (safe mode?).
Roze Posted October 15, 2003 Report Posted October 15, 2003 Kings iesaka "netīro" programmēšanas stilu. Nerūpējies par kļūdas cēloni, noslēp tās paziņojumu... aijaijai!Rat, varbūt konkrētajā gadījumā parametram refer nav vērtības un tādēļ tas vispār sistēmā netiek inicializēts? Offtopiks, bet PHP savaa buutiibaa ir netiira programmeshanas valoda jebshu galiiga anarhija, proti, variabljus principaa nedefineejam (uzliekam to pashu ~E_NOTICE) viss notiek on the fly, variablju tipi pie kaajas - stringus saskaitam ar skaitlju tipiem, ar stringiem veicam matemaatiskas funkcijas) un ja kaut kas nepatiik piebaazham '@' priekshaa un vispaar visus erorus suutam uz vienu vietu :)
CryRat Posted October 15, 2003 Author Report Posted October 15, 2003 Varbuut patraapiijaas PHP versija, kur kaut kaads gljuks superglobaalju veidoshanaa? Vai netiek izmantots ieksheejs redirects ar gzip/Zend/suutiiti kaadi spec. headeri? vienmeer paliidz print_r($_SERVER); vai print_r($GLOBALS); inijaa kaut kur bija kkas par "Servera parakstu" un vai raadiit info par serveri vai nee, resp, $_SERVER vareetu buut tukshs, jo taa noteikts ini (safe mode?). well... nu $_SERVER nav tuk
Venom Posted October 15, 2003 Report Posted October 15, 2003 Ak jā! Kāds pārlūks? Vai varbūt uzinstallēti kādi Anti Pop-Upi? Cik zināms, refereru jānodod pašam browserim (resp. soketa hēderim), v.b. brauzeris sevi anonimizē?
CryRat Posted October 15, 2003 Author Report Posted October 15, 2003 ēē tā... es te bišku paskatījos un lieta tāda ka iepriekš bija display_errors = 0 un ta ar es nekā neredzēju īstenībā tas HTTP_REFERER iekš $_SERVER parādās tikai tad kad viņš ir... nūū... ja tu tiko ierakstīji to adresi tad $_SERVER['HTTP_REFERER'] ir nevis "" bet vispār nav tāda HTTP_REFERER... un ja jau viņa nav ta ar parādās tā notice... tātad viss ir normāli :) es tikai tagad domāju ko izmantot labāk... laikam pofig tās notices jāizslēdz i viss... nav jau errori... btw thx par atsaucību ;)
Venom Posted October 15, 2003 Report Posted October 15, 2003 Ņe trogaķ notisi! if (!$_SERVER['QUERY_STRING']) $_SERVER['HTTP_REFERER']=$_SERVER['PHP_SELF']; if (isset($_SERVER['HTTP_REFERER'])) ... else augstākminētais Man vispār tāpēc i funkcija srv() srv($param) { if (isset($_SERVER[$param])) return $param; return; } un ta nevar baidīties raxtīt echo 'You came from'.srv('HTTP_REFERER').'!'; ar visiem notīšiem.
CryRat Posted October 15, 2003 Author Report Posted October 15, 2003 Ņe trogaķ notisi! Man vispār tāpēc i funkcija srv() srv($param) { if (isset($_SERVER[$param])) return $param; return; } un ta nevar baidīties raxtīt echo 'You came from'.srv('HTTP_REFERER').'!'; ar visiem notīšiem. heh... nu paldies paldies kā redzu ta iekš php.lv vēl joprojām ir cilvēki kas centīsies palīdzēt arī pēc problēmas atrisināšanas :D long live php.lv ! nu labi ja nopietni ta... nezinu... itkā jau jā sakarīgi... bet kaut kāda funkcija... nu nezinu... man tas kods līdz šim ir diezgan vienkārš un... nu es vēl padomāšu... vēlreiz paldies ;)
Recommended Posts