login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Reguliere expressies > URL controle


Reacties op het script URL controle

Offline  webstab
Gepost op: 11 november 2004 - 09:31
PHP ver gevorderde



is het niet
if (!control_url($_POST['website'])) {

Offline  Thomas
Gepost op: 11 november 2004 - 12:52
Moderator



Hangt er vanaf wat je wilt controleren.
control_url geeft aan of een URL goed is (of zou dit moeten doen, deze functie is verouderd).
In dit geval wil je controleren of een url wel goed is (de tekst in het if-blok zegt immers "De URL is correct"), dus in dit geval is het antwoord op je vraag:

"Ja, het is NIET if(!control_url(...)) { ... }" (het voorbeeld is gewoon goed)

Offline  webstab
Gepost op: 02 januari 2005 - 18:05
PHP ver gevorderde



ik gebruik het nu al ff,maar nu valt mij op wanneer je je website start met www. dan hij het wel toelaat.
Hoe kan dit? en hoe los ik dit op?

Offline  Thomas
Gepost op: 02 januari 2005 - 22:27
Moderator



(http(s)?\:\/\/)?

(...patroon...)? geeft aan dat het patroon optioneel is... haal dus de laatste ? weg als je http:// of https:// verplicht wilt stellen.

Offline  webstab
Gepost op: 03 januari 2005 - 12:01
PHP ver gevorderde



gelukt,merci

Offline  delta_004
Gepost op: 28 januari 2005 - 16:19
Onbekend



Ik gebruik hem zo
  1. if(control_url("$_POST[url]"))
  2. {
  3. echo "<script language=\"JavaScript\">alert(\"U URL is incorrect!\")</script>";
  4. }else {

En alle URL's zijn nu fout!
Maar het zal wel aan mij liggen^^

Offline  Thomas
Gepost op: 28 januari 2005 - 19:49
Moderator



control_url() geeft aan of een URL WEL geldig is...

Dus je moet een ! voor control_url() neerzetten om te controleren of een URL NIET goed is...

Je maakt dezelfde fout als webstab - zie hierboven.

Lezen is moeilijk.

Offline  eques
Gepost op: 18 februari 2008 - 10:27
Nieuw lid



  1. function control_url($in) {
  2. $start = "(http(s)?:\/\/)?"; // http://
  3. $url = "([\w_-]+)(\.[\w_-]+)*"; // www.bla.com
  4. $user = "(\/\~[\w_-]+)?"; // userdir
  5. $eind = "(\/[^\040\t\r\n\.\?]+(\.[^\040\t\r\n\.\?]+)*)*(\/)?"; // files en folders
  6. $qstring = "(\?[\w_-]+\=([^\#\040\t\r\n]+)(\&[\w_-]=[^\#\040\t\r\n]+)*)?"; // querystring
  7. $bkmrk = "(#[\w_-]+)?"; // bookmark
  8.  
  9. $exp = "/^".$start.$url.$user.$eind.$qstring.$bkmrk."$/i";
  10. return preg_match($exp, $in);
  11. }
  12.  
  13.  
  14. if(!empty($_POST['website1'])){
  15. if (!control_url($_POST['website1'])) {
  16. $errors[] = "De URL is niet correct!\n";
  17. }
  18. }


wat doe ik fout ? errors[] is gewoon array waar ik al mijn fouten insteek en op het einde uitlees.


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.067s