Reacties op het script URL controle
|
Gepost op: 11 november 2004 - 09:31 |
|
|
|
PHP ver gevorderde
|
is het niet
if (!control_url($_POST['website'])) { |
|
|
|
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) |
|
|
|
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? |
|
|
|
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. |
|
|
|
Gepost op: 03 januari 2005 - 12:01 |
|
|
|
PHP ver gevorderde
|
|
|
|
Gepost op: 28 januari 2005 - 16:19 |
|
|
|
Onbekend
|
Ik gebruik hem zo
if(control_url("$_POST[url]"))
{
echo "<script language=\"JavaScript\">alert(\"U URL is incorrect!\")</script>";
}else {
if(control_url("$_POST[url]")) { echo "<script language=\"JavaScript\">alert(\"U URL is incorrect!\")</script>"; }else {
En alle URL's zijn nu fout!
Maar het zal wel aan mij liggen^^ |
|
|
|
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. |
|
|
|
Gepost op: 18 februari 2008 - 10:27 |
|
|
|
Nieuw lid
|
function control_url($in) {
$start = "(http(s)?:\/\/)?"; // http://
$url = "([\w_-]+)(\.[\w_-]+)*"; // www.bla.com
$user = "(\/\~[\w_-]+)?"; // userdir
$eind = "(\/[^\040\t\r\n\.\?]+(\.[^\040\t\r\n\.\?]+)*)*(\/)?"; // files en folders
$qstring = "(\?[\w_-]+\=([^\#\040\t\r\n]+)(\&[\w_-]=[^\#\040\t\r\n]+)*)?"; // querystring
$bkmrk = "(#[\w_-]+)?"; // bookmark
$exp = "/^".$start.$url.$user.$eind.$qstring.$bkmrk."$/i";
return preg_match($exp, $in);
}
if(!empty($_POST['website1'])){
if (!control_url($_POST['website1'])) {
$errors[] = "De URL is niet correct!\n";
}
}
function control_url($in) { $start = "(http(s)?:\/\/)?"; // http:// $url = "([\w_-]+)(\.[\w_-]+)*"; // www.bla.com $user = "(\/\~[\w_-]+)?"; // userdir $eind = "(\/[^\040\t\r\n\.\?]+(\.[^\040\t\r\n\.\?]+)*)*(\/)?"; // files en folders $qstring = "(\?[\w_-]+\=([^\#\040\t\r\n]+)(\&[\w_-]=[^\#\040\t\r\n]+)*)?"; // querystring $bkmrk = "(#[\w_-]+)?"; // bookmark $exp = "/^".$start.$url.$user.$eind.$qstring.$bkmrk."$/i"; } if(!empty($_POST['website1'])){ if (!control_url($_POST['website1'])) { $errors[] = "De URL is niet correct!\n"; } }
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. |
|
|
|