Formulier met mail, telefoonnummer,...

  • Onderwerp starter Onderwerp starter Wave
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Wave

Gebruiker
Lid geworden
29 okt 2002
Berichten
13
Hallo iedereen

Ik heb een formuliertje opgezet met enkele invulvelden.
Bij deze invulvelden zijn oa een e-mailadres en een telefoonnnummer.
De bedoeling is nu dat bij het versturen wordt nagekeken of het e-mailadres wel geldig is (met @,. en andere tekens) en of het telefoonnummer klopt (enkel cijfers).

Nu heb ik in dat formulier ook 2 velden staan waar ook enkel cijfers in zouden mogen komen. En de waarde in het 2de veld moet minder zijn dan de waarde in het eerste veld...kunnen jullie nog volgen?

alvast bedankt!!!!
 
Bedankt maar ben echt een newb in php...Zou je het misschien iets duidelijker kunnen maken? Of weet je een site waar er zo'n scriptje staat?
 
Je weet waarschijnlijk dat alle names in een form een $_POST['name'] worden als je ze verstuurd met method="post"

Dus:

<form action="versturen.php" method="post">

<input type="text" name="veld1">
<input type="text" name="veld2">
<input type="submit" value="Versturen">

</form>

En dan wordt versturen.php:

PHP:
<?

$veld1 = $_POST['veld1'];
$veld2 = $_POST['veld2']; // Eerst even wat makkelijkere variabelen maken

if($veld1 == "" || $veld2 == "") // Controleren of alle velden ingevuld zijn
print("Je hebt niet alle velden volledig ingevuld");
else
{
if($veld2 > $veld1) // Controleren of veld2 groter is dan veld1
{
// Hier je code voor als veld2 groter is als veld1
}
else // Als veld2 niet groter is als veld1
print("Veld2 is niet groter als veld1"); 
}
?>

Ik hoop dat je het zo een beetje snapt.
 
Bedankt voor al je moeite al! Ben al een hele stap verder...maar weet je toevallig ook hoe je een e-mailadres en telefoonnummer controleert?
Thx
 
Dat kun je met een bepaalde stringfunctie doen, die controleert of de string bepaalde tekens bevat.

Ik weet zelf niet welke het is, kijk even op m'n link die ik eerder gegeven heb, of stel je vraag in het forum van PHPFreakz.nl
 
PHP:
<?php

$email = "iemand|site.nl";		// 00ps, hier zit geen '@' in!!
$telnr = "010-12345678";		// 00ps, hier zitten 11 cijfers en zelfs 1 teken in...!

/*
	We gaan eerst het telefoonnummer onder handen nemen, dit is de grootste.
	We gaan het scheidingsteken na '010' weghalen en controleren dan nogmaals
	of de lengte klopt...
	Noot: de '/' aan het begin en einde van de zoekstring zijn delimiters. Deze
	zijn verplicht om een zoekstring af te bakenen. Dit is nodig omdat je met 
	dit soort zoekopdrachten heel ver kunt doorgaan met regular expressions
	waarmee je ook variabele patronen kunt opsporen als html tags (<a>, <img> etc).
	Voor zoiets simpels als een - of een @ hoef je dat natuurlijk niet te doen
	maar de delimiters moeten wel gewoon aangegeven worden... */
	
if(preg_match("/-/", $telnr))
{
	//preg_match() zoekt naar de tekenreeks '-' in $telnr. Hij geeft TRUE terug als hij minstens 1 match gevonden heeft...
	//we gaan de '-' verwijderen met een replace, en wel met preg_replace()...
	$telnr = preg_replace("/-/", "", $telnr);	//we vervangen '-' door '' waardoor er geen ruimte meer tussenzit...
}
elseif(strlen($telnr) > 10)		//als de lengte van $telnr groter is dan 10...
{
	echo "Je telefoonnummer is verkeerd, meer dan 10 tekens...";
}
else
{
	echo "Telefoonnummer goedgekeurd..";
}

/* Nu komt het e-mailadres. Hier gebruiken we ook weer preg_match() voor om te kijken of we een match kunnen vinden
	voor onze zoekopdracht... */

if(!preg_match("/@/", $email);		//de ! voor preg_match() betekend "niet". Dus "als er geen match gevonden wordt"....
{
	echo "Je moet minstens 1 @ in je mail hebben!";
}
else
{
	echo "Je emailadres is goedgekeurd..";
}

?>

Klein voorbeeldje :).

[edit]
Ow, sommige karakters als /, $, [, ], (, en ) dien je te escapen met een '\' ervoor. Dus \/ en \( en \[ indien je die als gewone karakters wilt behandelen en niet als speciale tekens voor de regular expression...
[/edit]
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan