Citat:
Ursprungligen inskrivet av Teknocide
När det kommer till webben kan man säga att det finns två sidor: serversidan och klientsidan.
Text som du fyller i ett formulär, t ex sökfältet högst upp på sweclockers.com, ifylles på klientsidan. Det vill säga, du har gått in på sweclockers.com, HTTP-servern har registrerat din förfrågan och skickat tillbaka den webbsida du nu ser. Formuläret är en del av den data som har skickats till dig som användare av sidan.
PHP arbetar på serversidan. Vad har detta för innebörd? Jo, du kan inte använda PHP för att direkt (det vill säga innan informationen har skickats tillbaka till servern) påverka eller begränsa det en användare matar in i ett HTML-formulär, klickar på, för muspilen över etc. För den funktionaliteten behövs JavaScript.
Med andra ord, PHPs uppgift i det sammanhang du beskrivit ovan är inte att aktivt begränsa det en användare skriver in i textfältet; PHPs uppgift (utifrån den kod som står skriven ovan) är att fungera som kontrollant för de värden som har skickats till servern, och vidarebehandla denna information om den uppfyller de kriterier som satts.
Bättre än så kan jag inte förklara det. Om du inte har en aning om vad jag menar så är detta projekt antagligen för stort för dig.
Jag är med delvis hur du menar men denna koden:
if( preg_match( '/^(010|070|073|076)[0-9]{7}$/', $antal2 ) ) {
// Gör det du vill om det är ett nummer.
}
Jag fixar in hela formuläret bättre över sikt då.
Så här ser formuläret ut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript">
<!--
var browserName=navigator.appName;
if (browserName=="Microsoft Internet Explorer") {
document.write('<link rel="stylesheet" type="text/css" href="ie.css" media="screen">');
}
else {
document.write('<link rel="stylesheet" type="text/css" href="ff.css" media="screen">');
}
//-->
</script>
<title>beställning</title>
</head>
<body>
<div id="contentForm">
<!-- The contact form starts from here-->
<?php
$error = ''; // error message
$name = ''; // sender's name
$adress = '';
$post = '';
$tel = '';
$mobil = '';
$email = ''; // sender's email address
$spamcheck = ''; // Spam check
$nr1 = '';
$art1 = '';
$antal1 = '';
if(isset($_POST['send']))
{
$name = $_POST['name'];
$adress = $_POST['adress'];
$post = $_POST['post'];
$tel = $_POST['tel'];
$mobil = $_POST['mobil'];
$email = $_POST['email'];
$spamcheck = $_POST['spamcheck'];
$nr1 = $_POST['nr1'];
$art1 = $_POST['art1'];
$antal1 = $_POST['antal1'];
$nr2 = $_POST['nr2'];
$art2 = $_POST['art2'];
$antal2 = $_POST['antal2'];
$nr3 = $_POST['nr3'];
$art3 = $_POST['art3'];
$antal3 = $_POST['antal3'];
$nr4 = $_POST['nr4'];
$art4 = $_POST['art4'];
$antal4 = $_POST['antal4'];
$nr5 = $_POST['nr5'];
$art5 = $_POST['art5'];
$antal5 = $_POST['antal5'];
$nr6 = $_POST['nr6'];
$art6 = $_POST['art6'];
$antal6 = $_POST['antal6'];
$nr7 = $_POST['nr7'];
$art7 = $_POST['art7'];
$antal7 = $_POST['antal7'];
$nr8 = $_POST['nr8'];
$art8 = $_POST['art8'];
$antal8 = $_POST['antal8'];
$nr9 = $_POST['nr9'];
$art9 = $_POST['art9'];
$antal9 = $_POST['antal9'];
if(trim($name) == '')
{
$error = '<div class="errormsg">Du maste fylla i ditt namn!</div>';
}
if(trim($adress) == '')
{
$error = '<div class="errormsg">Du maste fylla i en adress</div>';
}
if(trim($post) == '')
{
$error = '<div class="errormsg">Du maste fylla din postadress!</div>';
}
if(trim($tel) == '')
{
$error = '<div class="errormsg">Du maste fylla i ditt telefon nummer!</div>';
}
if(trim($mobil) == '')
{
$error = '<div class="errormsg">Du har inte fylt i korrekt mobil nummer!</div>';
}
else if(trim($email) == '')
{
$error = '<div class="errormsg">Du maste fylla i din E-mail adress!</div>';
}
else if(!isEmail($email))
{
$error = '<div class="errormsg">Du har skrivit in en felaktig E-mail adress. Försök igen!</div>';
}
else if(trim($spamcheck) == '')
{
$error = '<div class="errormsg">Du maste fylla i resultatet av Spam kontroll!</div>';
}
else if(trim($spamcheck) != '5')
{
$error = '<div class="errormsg">Spam kontroll: Resultatet är inte rätt! 2 + 3 = ???</div>';
}
if(trim($nr1) == '')
{
$error = '<div class="errormsg">Du maste fylla i artikel nummer!</div>';
}
if(trim($art1) == '')
{
$error = '<div class="errormsg">Du maste fylla i artikel!</div>';
}
if(trim($antal1) == '')
{
$error = '<div class="errormsg">Du maste fylla i antal!</div>';
}
if($error == '')
{
if(get_magic_quotes_gpc())
{
$message = stripslashes($message);
}
// the email will be sent here
// make sure to change this to be your e-mail
$to = "min@email.nu";
// the email subject
// '[Contact Form] :' will appear automatically in the subject.
// You can change it as you want
$subject = '[Beställning]' . $subject;
// the mail message ( add any additional information if you want )
$msg = "Fran: $name\r\n\n" . "Adress: $adress\r\n\n" . "Postadress: $post\r\n\n" . "Telefon nummer: $tel\r\n\n" . "Mobil nummer: $mobil\r\n\n" . "E-mail: $email\r\n\n" . "Produkt1: Artikel nummer: $nr1 Artikel: $art1 Antal: $antal1\r\n\n" . "Produkt2: Artikel nummer: $nr2 Artikel: $art2 Antal: $antal2\r\n\n" . "Produkt3: Artikel nummer: $nr3 Artikel: $art3 Antal: $antal3\r\n\n" . "Produkt4: Artikel nummer: $nr4 Artikel: $art4 Antal: $antal4\r\n\n" . "Produkt5: Artikel nummer: $nr5 Artikel: $art5 Antal: $antal5\r\n\n" . "Produkt6: Artikel nummer: $nr6 Artikel: $art6 Antal: $antal6\r\n\n" . "Produkt7: Artikel nummer: $nr7 Artikel: $art7 Antal: $antal7\r\n\n" . "Produkt8: Artikel nummer: $nr8 Artikel: $art8 Antal: $antal8\r\n\n" . "Produkt9: Artikel nummer: $nr9 Artikel: $art9 Antal: $antal9\r\n\n" . "Produkt10: Artikel nummer: $nr10 Artikel: $art10 Antal: $antal10\r\n\n" . "Produkt11: Artikel nummer: $nr11 Artikel: $art11 Antal: $antal11\r\n\n";
mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n");
?>
<!-- Message sent! (change the text below as you wish)-->
<div style="text-align:center;">
<h3>formulär</h3>
<p>Tack för din beställning <b><?=$name;?></b>, Din beställning är nu skickat och vi aterkommer inom kort!</p>
</div>
<!--End Message Sent-->
<?php
}
}
if(!isset($_POST['send']) || $error != '')
{
?>
<h3 align="center">formulär:</h3>
<!--Error Message-->
<form method="post" name="contFrm" id="contFrm" action="" onsubmit='return validate(this)'>
<label><span class="required">*</span> Ditt namn:</label>
<span class="input1"><input name="name" type="text" class="box" id="name" size="30" value="<?=$name;?>" /></span>
<p>
<label><span class="required">*</span> Adress: </label>
<span class="input2"><input name="adress" type="text" class="box" id="name" size="30" value="<?=$adress;?>" /></span>
<p>
<label><span class="required">*</span> Post adress: </label>
<span class="input3"><input name="post" type="text" class="box" id="name" size="30" value="<?=$post;?>" /></span>
<p>
<label><span class="required">*</span> Telefon nr: </label>
<span class="input4"><input name="tel" type="text" class="box" id="name" size="30" value="<?=$tel;?>" /></span>
<p>
<label><span class="required">*</span> Mobil nr: </label><br />
<span class="input5"><input name="mobil" type="text" class="box" id="name" size="30" value="<?=$mobil;?>" /></span>
<p>
<label><span class="required">*</span> E-mail: </label><br />
<span class="input6"><input name="email" type="text" class="box" id="email" size="30" value="<?=$email;?>" /></span>
<div id="text1">Artikel nr</div>
<div id="text2">Artikel</div>
<div id="text3">Antal</div>
<p> </p>
<p> </p>
<label><span class="required">*</span><span class="input8"> Produkt 1</label>
<input name="nr1" type="text" class="box" id="name" size="10" value="<?=$nr1;?>" />
<label></label>
<input type="text" name="art1" class="box" id="name" size="40" value="<?=$art1;?>" />
<label></label>
<input type="text" name="antal1" class="box" id="name" size="5" value="<?=$antal1;?>" /></span>
<p><span class="input9"><label>Produkt 2</label>
<input name="nr2" type="text" class="box" id="name2" size="10" value="<?=$nr2;?>" />
<label></label>
<input type="text" name="art2" class="box" id="name2" size="40" value="<?=$art2;?>" />
<label></label>
<input type="text" name="antal2" class="box" id="name2" size="5" value="<?=$antal2;?>" /></span>
<p><span class="input10"><label>Produkt 3</label>
<input name="nr3" type="text" class="box" id="name2" size="10" value="<?=$nr3;?>" />
<label></label>
<input type="text" name="art3" class="box" id="name2" size="40" value="<?=$art3;?>" />
<label></label>
<input type="text" name="antal3" class="box" id="name2" size="5" value="<?=$antal3;?>" /></span>
<p><span class="input11"><label>Produkt 4</label>
<input name="nr4" type="text" class="box" id="name2" size="10" value="<?=$nr4;?>" />
<label></label>
<input type="text" name="art4" class="box" id="name2" size="40" value="<?=$art4;?>" />
<label></label>
<input type="text" name="antal4" class="box" id="name2" size="5" value="<?=$antal4;?>" /></span>
<p><span class="input12"><label>Produkt 5</label>
<input name="nr5" type="text" class="box" id="name2" size="10" value="<?=$nr5;?>" />
<label></label>
<input type="text" name="art5" class="box" id="name2" size="40" value="<?=$art5;?>" />
<label></label>
<input type="text" name="antal5" class="box" id="name2" size="5" value="<?=$antal5;?>" /></span>
<p><span class="input13"><label>Produkt 6</label>
<input name="nr6" type="text" class="box" id="name2" size="10" value="<?=$nr6;?>" />
<label></label>
<input type="text" name="art6" class="box" id="name2" size="40" value="<?=$art6;?>" />
<label></label>
<input type="text" name="antal6" class="box" id="name2" size="5" value="<?=$antal6;?>" /></span>
<p><span class="input14"><label>Produkt 7</label>
<input name="nr7" type="text" class="box" id="name2" size="10" value="<?=$nr7;?>" />
<label></label>
<input type="text" name="art7" class="box" id="name2" size="40" value="<?=$art7;?>" />
<label></label>
<input type="text" name="antal7" class="box" id="name2" size="5" value="<?=$antal7;?>" /></span>
<p><span class="input15"><label>Produkt 8</label>
<input name="nr8" type="text" class="box" id="name2" size="10" value="<?=$nr8;?>" />
<label></label>
<input type="text" name="art8" class="box" id="name2" size="40" value="<?=$art8;?>" />
<label></label>
<input type="text" name="antal8" class="box" id="name2" size="5" value="<?=$antal8;?>" /></span>
<p><span class="input16"><label>Produkt 9</label>
<input name="nr9" type="text" class="box" id="name2" size="10" value="<?=$nr9;?>" />
<label></label>
<input type="text" name="art9" class="box" id="name2" size="40" value="<?=$art9;?>" />
<label></label>
<input type="text" name="antal9" class="box" id="name2" size="5" value="<?=$antal9;?>" /></span>
<p> </p>
<p> </p>
<p> </p>
<label><span class="required">*</span> Spam skydd: <b>2 + 3 =</b></label>
<span class="input7"><input name="spamcheck" type="text" class="box" id="spamcheck" size="4" value="<?=$spamcheck;?>" /></span>
<p> </p>
<div align="center"><input name="send" type="submit" id="send" value="Skicka" /></div>
<p>
<span class="required">*</span> Innebär att du maste fylla i dessa fält för att kunna skicka formuläret.
</form>
<!-- E-mail verification. Do not edit -->
<?php
}
function isEmail($email)
{
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|
bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|
cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|
dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|
gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|
hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|
kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|
ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|
na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|
pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|
sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|
th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|
ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i"
,$email));
}
?>
<?php
}
function ($mobil)
{
return(preg_match ('/^(010|070|073|076)[0-9]{7}$/' ,$mobil));
}
?>
<!-- END CONTACT FORM -->
<?=$error;?>
</div> <!-- /contentForm -->
</body>
</html>