/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
En fil med afviste referers
Fra : Ingrid


Dato : 20-01-04 09:57

For det første skal det siges at jeg er meget begynder med PHP, så bær over
med eventuelle "dumme fejl".

Jeg vil lave en stump kode der finder ud af om en referer skal vises i min
referer liste eller ej. (Dette eksempel er fundet hos dalager.com, men jeg
har rettet det til, så jeg kan bruge det på min side også).

Der findes en text fil (ignored_domain.txt) der indeholder de domæne jeg
ikke vil se i min referer liste (eksempel :
http://www.dalager.com/weblog/MT-referer-filter.txt)

Jeg prøver koden til at finde ud af om et domæne (www.google.com i den her
eksempel) er med på den liste. Men det ser ud som om den ikke finder google
på min liste.

Er der nogen som kan se hvad der går galt ? Scriptet kører fint, men jeg får
altid værdien 0 tilbage. Med google skulle jeg gerne få værdien 1 tilbage (1
= er med på ignore listen).

På forhånd mange tak for hjælpen
Ingrid


Her er koden:

===============================================

$ignore = file("ignored_domain.txt");
$count = 0;

foreach($ignore as $toig) {
$ignore[$count] = str_replace("/", "\/", trim($ignore[$count]));
$ignore[$count] = str_replace(".", "\.", trim($ignore[$count]));
$count++;
}
// x is the incoming domain to test
$xivv="http://www.google.com";

$lreject = 0;
if($xivv == "\"-\"") { $lreject = 1; }
foreach($ignore as $toig) {
//echo ($toig);
//echo ("<br>");

if(preg_match("/^\"$toig/", $xivv)) { $lreject = 1; }
}

echo ("rejected ? : ");
echo ($lreject);

============================



 
 
Nezar Nielsen (20-01-2004)
Kommentar
Fra : Nezar Nielsen


Dato : 20-01-04 11:17

Ingrid wrote:
> Jeg prøver koden til at finde ud af om et domæne (www.google.com i den her
> eksempel) er med på den liste. Men det ser ud som om den ikke finder google
> på min liste.
>
....

> // x is the incoming domain to test
> $xivv="http://www.google.com";
>
> $lreject = 0;
> if($xivv == "\"-\"") { $lreject = 1; }
> foreach($ignore as $toig) {
> //echo ($toig);
> //echo ("<br>");
>
> if(preg_match("/^\"$toig/", $xivv)) { $lreject = 1; }

----------------------^^ der siger du at det i $xivv skal matche det
der stod i din ignore_domain fil, med " foran ... dvs. hvis du sætter
$xivv='"http://www.google.com';
så vil du få $lreject = 1 - så enten skal du fjerne \" fra dit regulære
udtryk, eller også skal $xivv altså starte med et anførselstegn.

--
Mvh. Nezar Nielsen
http://fez.dk




Ingrid (20-01-2004)
Kommentar
Fra : Ingrid


Dato : 20-01-04 12:08

> ----------------------^^ der siger du at det i $xivv skal matche det
> der stod i din ignore_domain fil, med " foran ... dvs. hvis du sætter
> $xivv='"http://www.google.com';
> så vil du få $lreject = 1 - så enten skal du fjerne \" fra dit regulære
> udtryk, eller også skal $xivv altså starte med et anførselstegn.

Hej Nezar

Tusind tak for hjælpen, det var lige præcis det der gik galt !

Hilsen
Ingrid



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408934
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste