[php] user input= http óf leeg [ereg]

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
een user input mag aan twee eissen voldoen:
beginnen met http
óf mag leeg zijn.
maar het mag iig geen onzin zijn.
Het gaat om een input van een (of geen) url, maar dus geen onzin.

PHP:
1
2
3
4
5
6
<?php 
$homepage= $_POST["your_homepage"]; 
if(!ereg("^[http]|[:space:]", $homepage)) { 
echo "Een homepage moet beginnen met http://<br>óf je kan het veld leeg laten!<br>Probeer het nogmaals!<br><br>";  
}else{ 
?> 


dít werkt niet, kan iemand me helpen hoe dan wel? Ik kom er met de PHP sites en google niet uit.

Acties:
  • 0 Henk 'm!

Verwijderd

empty () gebruiken om te checken of het veld leeg is, en een regex ^http om te kijken of het met http begint.

Zo kun je een veel betere foutmelding geven, in plaats van een aantal mogelijkheden te geven waar het mis gegaan zou kunnen zijn.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kun je me misschien ff op weg helpen?
Misschien schudden jullie dat zó uit jullie mouw, maar ik als beginnend PHP-er kom er niet uit, óók niet met de empty().
Hoe zet ik deze twee achter elkaar, of in elkaar?

Het lukt me op op één van de twee te controleren, maar niet op alletwee.

Acties:
  • 0 Henk 'm!

  • Kaasplank
  • Registratie: Februari 2001
  • Niet online
PHP:
1
2
3
4
5
6
if(empty($_POST['your_homepage']) || !eregi("de regex", $_POST['your_homepage'])){
 echo "pweep! fout";
}
else {
 echo "choe!";
}


de regex moet je zelf nog ff verzinnen

[ Voor 21% gewijzigd door Kaasplank op 30-10-2003 22:13 ]


Acties:
  • 0 Henk 'm!

  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 12-09 17:04
Zal eens een gokje voor je wagen :)

PHP:
1
2
3
4
5
6
7
8
9
10
<?php 
$homepage= $_POST['your_homepage']; 

if(!ereg("^[http]|[:space:]", $homepage)) { 
    echo "Error: URL bevat geen http:// prefix";
}
elseif(empty($_POST['your_homepage'])){
    echo "Error: Geen URL naar homepage ingegeven!";
}
?>


Hoop dat dit je wat op weg helpt.

[ Voor 12% gewijzigd door Lentje op 30-10-2003 22:14 . Reden: typo ]