Goed, zoals de topic-titel al aangeeft is dit een enorme n00b-vraag ... maar ik kan het gewoon even niet vinden
.
Het volgende is het geval:
Ik heb 'n klein privé-forumpje voor vrienden en heb daar sinds kort een IP-log ingebouwd. Daar wordt gechecked op IP en hostname en deze worden in de database weggeschreven. Alle hostnames van de mensen die de site frequent bezoeken zijn bekend. De laaste tijd valt het echter op dat eigenlijk de enige onbekenden die de site bezoeken via Wanadoo Cable surfen. Dit zijn echter steeds wisselende IP's en hostnames maar vrijwel altijd van Wanadoo Cable, andere providers komen nauwelijks voor.
Ik vind dat enigzins vreemd, maar goed. Nu heb ik dus een melding ingebouwd waarmee ik voor een bepaalde hostname een bericht in dikke rode letters bij het openen van de pagina toon.
Als volgt:
Nu wordt er dus gechecked op "localhost". Als ik dus de site bezoek via http://localhost/public/site.php dan krijg ik de melding en dat werkt ook allemaal. Het werkt echter alleen wanneer de hostname exact "localhost" is (of bijvoorbeeld cc12345-a.ensch1.ov.home.nl ofzo) maar ik wil dat voor alle Wanadoo Cable hostnames deze melding komt. Met SQL is dit eenvoudig te doen door middel van WHERE hostname LIKE '%cable.wanadoo%' maar in dit geval hierboven haal ik niks uit te database, er moet gewoon direct gekeken worden of de hostname "cable.wanadoo" bevat.
Volgens mij is dit verschrikkelijk simpel, maar ik kan er niks over vinden want ik weet ook niet goed hoe ik de zoekvraag moet formuleren ...
Wat ik dus bedoel is in het bovenstaande geval zoiets als
Da's echter SQL en dat werkt dus niet op deze manier.
Er is hier vast wel iemand die hier binnen 5 minuten een antwoord op heeft
Ik voel me echt zo'n n00b op dit moment ...
(al ben ik ook een enorme amateur-PHP-prutser trouwens hoor
).
Het volgende is het geval:
Ik heb 'n klein privé-forumpje voor vrienden en heb daar sinds kort een IP-log ingebouwd. Daar wordt gechecked op IP en hostname en deze worden in de database weggeschreven. Alle hostnames van de mensen die de site frequent bezoeken zijn bekend. De laaste tijd valt het echter op dat eigenlijk de enige onbekenden die de site bezoeken via Wanadoo Cable surfen. Dit zijn echter steeds wisselende IP's en hostnames maar vrijwel altijd van Wanadoo Cable, andere providers komen nauwelijks voor.
Ik vind dat enigzins vreemd, maar goed. Nu heb ik dus een melding ingebouwd waarmee ik voor een bepaalde hostname een bericht in dikke rode letters bij het openen van de pagina toon.
Als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
| $ip = $_SERVER['REMOTE_ADDR'];
$hostname = gethostbyaddr($ip);
if ($hostname == "localhost") {
echo "Je IP-adres is <b>$ip</b> en je hostname is <b>$hostname</b><br><br>";
echo "Wie ben je en wat zoek je op dit gastenboek?? Je bent bij ons niet bekend en toch een regelmatig bezoeker van deze site.<br><br>";
echo "Maak jezelf bekend in het gastenboek als je een geregistreerd gebruiker bent, of stuur een mail met je redenen om deze site te bezoeken naar <a href='mailto:bla@bla.nl'>bla@bla.nl</a>. Als ik binnen een week geen reactie heb gehad zorg ik ervoor dat je het gastenboek helemaal niet meer kunt bezoeken.<br><br>";
echo "Groeten, de webmaster";
} |
Nu wordt er dus gechecked op "localhost". Als ik dus de site bezoek via http://localhost/public/site.php dan krijg ik de melding en dat werkt ook allemaal. Het werkt echter alleen wanneer de hostname exact "localhost" is (of bijvoorbeeld cc12345-a.ensch1.ov.home.nl ofzo) maar ik wil dat voor alle Wanadoo Cable hostnames deze melding komt. Met SQL is dit eenvoudig te doen door middel van WHERE hostname LIKE '%cable.wanadoo%' maar in dit geval hierboven haal ik niks uit te database, er moet gewoon direct gekeken worden of de hostname "cable.wanadoo" bevat.
Volgens mij is dit verschrikkelijk simpel, maar ik kan er niks over vinden want ik weet ook niet goed hoe ik de zoekvraag moet formuleren ...
Wat ik dus bedoel is in het bovenstaande geval zoiets als
code:
1
2
3
| if ($hostname LIKE '%cable.wanadoo%') {
echo "Melding";
} |
Da's echter SQL en dat werkt dus niet op deze manier.
Er is hier vast wel iemand die hier binnen 5 minuten een antwoord op heeft
Ik voel me echt zo'n n00b op dit moment ...
[ Voor 14% gewijzigd door Wouter! op 07-03-2005 13:18 ]