login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Website controleren

Offline Ultimatum - 04/06/2007 09:59 (laatste wijziging 04/06/2007 12:30)
Avatar van UltimatumPHP expert Ik gebruik het script van FangorN die bij de scripts staan maar als ik vb www.google.nl intyp dan zegt hij dat het goed (logisch), maar doe ik www.google of google dan zegt hij dat het ook goed is 

Dit is de functie
  1. <?php
  2. function checkUrl($website) {
  3. $start = "(http(s)?:\/\/)?"; // http://
  4. $url = "([\w_-]+)(\.[\w_-]+)*"; // www.bla.com
  5. $user = "(\/\~[\w_-]+)?"; // userdir
  6. $eind = "(\/[^\040\t\r\n\.\?]+(\.[^\040\t\r\n\.\?]+)*)*(\/)?"; // files en folders
  7. $qstring = "(\?[\w_-]+\=([^\#\040\t\r\n]+)(\&[\w_-]=[^\#\040\t\r\n]+)*)?"; // querystring
  8. $bkmrk = "(#[\w_-]+)?"; // bookmark
  9.  
  10. $exp = "/^".$start.$url.$user.$eind.$qstring.$bkmrk."$/i";
  11. return preg_match($exp, $website);
  12. }
  13. ?>


En zo gebruik ik het:
  1. <?php
  2. if(!empty($_POST['Website']) && !checkUrl($_POST['Website']))
  3. ?>


En als ik die ! bij checkUrl weghaal dan rekent hij alles fout

7 antwoorden

Gesponsorde links
Offline wursten - 04/06/2007 10:52 (laatste wijziging 04/06/2007 10:55)
Avatar van wursten Lid Misschien komt het omdat hij dan niet alles door het internet meer checked

Citaat:
Marten edit
Sorry maar deze reply slaat nergens op. Misschien in jouw gedachte wel maar probeer eens in ABN uit te leggen wat je bedoeld. Met bovenstaande kunnen we niks. En geen straattaal hier. Tjsekt = checked.
Offline Ultimatum - 04/06/2007 11:03
Avatar van Ultimatum PHP expert Leg eens uit wat je bedoeld want ik snap je niet?
Offline Warbringer - 04/06/2007 12:08
Avatar van Warbringer Onbekend ik ken het probleem.
ik zoek de DNS met de naam


www.mijnsite.nl

bestaat niet, ga maar registreren dus ik blij!
maar zoek je vervolgens op

mijnsite.nl

bestaat al, kan niet meer registeren...
dat probleem had ik eerst ook, erg raar haha heb het nu nogsteeds
niet opgelost... ja,... de www. weghalen als iemand dat intyped ;)
Offline Ultimatum - 04/06/2007 12:12 (laatste wijziging 05/06/2007 11:19)
Avatar van Ultimatum PHP expert Het is niet om de DNS te controleren, ik wil gewoon kijken of iemand wel een normale website invult en niet van die rare spam ofzo.

Niemand?
Offline JBke - 05/06/2007 11:33 (laatste wijziging 05/06/2007 11:41)
Avatar van JBke PHP gevorderde
  1. <?php
  2. if(preg_match("/^[a-zA-z0-9:\/\.\-\?&_=]+$/",$url))
  3. {
  4. echo 'URL goedgekeurd.';
  5. }
  6. else
  7. {
  8. echo 'URL afgekeurd.';
  9. }
  10. ?>


of je kan steeds het ingegeven url opdelen in gedeeltes en voor het controleren zelf steeds een www.blabla.extensie aanmaken.
  1. <?php
  2. // haal host naam uit url.
  3. preg_match('@^(?:http://)?([^/]+)@i',
  4. $url, $matches);
  5. $host = $matches[1];
  6.  
  7. // haal laatste twee segmenten van de host name
  8. preg_match('/[^.]+\.[^.]+$/', $host, $matches);
  9. echo "domain name is: {$matches[0]}\n";
  10. ?>


als je niet op dns maar enkel op geldigheid url ingave wil controleren zou dit voldoende moeten zijn.

hopelijk ben je hier iets mee, als je niet op dns, of echtheid van het domein wil controleren maar enkel op correct ingegeven url.
Offline Ultimatum - 05/06/2007 11:49
Avatar van Ultimatum PHP expert Ja ik wil dus kijken dat mensen niet iets invullen als: ik.heb.geen.website.nl ofzo , maar met jouw eerste voorbeeld hoeft er geen http:// of www. bij, lijkt me wel zo handig , anders ga ik er wel even mee kloten
Offline JBke - 05/06/2007 11:57
Avatar van JBke PHP gevorderde ik kan de preg_match wel ff aanpassen als je er bvb steeds http:// en/of www bij wenst en/of .extensie. Gewoon even aan de gang gaan met een goede regular expr aan te maken. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s