PHP if contains $_POST['username']

Status
Niet open voor verdere reacties.

cuperus

Gebruiker
Lid geworden
2 nov 2010
Berichten
43
Hallo

Ik wil dus een if contains maken aleen ik weet niet HOE
ik wil dus dat hij gaat kijken of er deze tekens in $_POST['username'] zit:
, @ ! ; : ' " ] [ ) ( * & ^ % $ # ~ ` \ | } { < > ? /

als dat erin zit moet hij een error weergeven

groeten kevin
 
$username = $_POST['username'];
$array = new array(',','@','/;' , etc)

for($i =0; i < strlen($username); $i++)
{
if(in_array($username[$i],$array))
{
break;
echo "special teken zit er in".$username[$i];
}
}
 
Laatst bewerkt:
Je kunt ook een combinatie gebruiken tussen 2xstr_split en array_intersect

Let er wel op dat het beter is om de karakters die toegestaan zijn te defineren, anders vergeet je snel karakters waarop je niet controleert maar je er niet in wilt hebben.
 
en als je dan gaat controleren op karakters die wel zijn toegestaan, dan zou ik preg_match gaan gebruiken.
 
Ik denk dat thadin en phobia gelijk hebben en dat je in deze situatie beter kan controleren of er alleen karakters in de input staan die zijn toegestaan.
De preg_match functie is dan inderdaad een eenvoudige oplossing.

Voorbeeld: De username mag alleen letters, nummers, underscores en spaties bevatten:

PHP:
			<?php
				//Sta een gebruikersnaam toe die alleen letters, nummers, underscores en spaties bevat
				$allowed = "|[^A-z0-9_ ]|";
				
				$unit_test = array(
					"gebruikersnaam",
					"g3bruikersnaam",
					"10303030",
					"g45fj35fs",
					"439$#^32",
					"gebruikers_naam",
					"gebruikers naam",
					"gebb~uikersnaam"
				
				);
				
				foreach ($unit_test as $test) {
					echo "'$test' wordt "; 
					if (preg_match($allowed, $test) ) {
							echo "niet ";
					}
					echo "toegestaan <br />";
				}
			
			?>
Output:
Code:
'gebruikersnaam' wordt toegestaan 
'g3bruikersnaam' wordt toegestaan 
'10303030' wordt toegestaan 
'g45fj35fs' wordt toegestaan 
'439$#^32' wordt niet toegestaan 
'gebruikers_naam' wordt toegestaan 
'gebruikers naam' wordt toegestaan 
'gebb~uikersnaam' wordt niet toegestaan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan