Hallo,

Mijn contactformulier wordt aan de voorkant gecheckt d.m.v. javascript en aan de achterkant d.m.v PHP.

En ik heb een aantal vragen over het PHP gedeelte:

Ik gebruik dezelfde regex-en in Javascript en PHP. In Javascript werkt het perfect, maar in PHP worden mij a-z of A-Z genegeerd en worden beide geaccepteerd. Iemand een idee?

Hoe neem ik de door PHP gecreëerde tekst onderhanden d.m.v. CSS?

Hoe voeg ik een terug button toe aan de door PHP gecreëerde tekst?

En ben ik zo goed op weg?

contact.php
<?php
include("global.inc.php");
$errors=0;
$error="U heeft één of meerdere velden niet naar behoren ingevuld:<ul>";
pt_register('POST','contact');
pt_register('POST','titel');
pt_register('POST','voorletters');
pt_register('POST','naam');
pt_register('POST','adres');
pt_register('POST','postcode');
pt_register('POST','plaats');
pt_register('POST','telefoon');
pt_register('POST','email');
pt_register('POST','fax');
pt_register('POST','vraag');
$vraag=preg_replace("/(\015\012)|(\015)|(\012)/","&nbsp;<br />", $vraag);

if(!eregi("^[A-Z. ]+$",$voorletters)){
$errors=1;
$error.="<li>Voorletters";
}
if($naam==""){
$errors=1;
$error.="<li>Naam";
}
if($adres==""){
$errors=1;
$error.="<li>Adres";
}
if(!eregi("^[1-9]{1}[0-9]{3}[A-Z]{2}$",$postcode)){
$errors=1;
$error.="<li>Postcode";
}
if($plaats==""){
$errors=1;
$error.="<li>Plaats";
}
if(!eregi("^[0-9]{10}$",$telefoon)){
$errors=1;
$error.="<li>Telefoon";
}
if(!eregi("^([a-z0-9üöä]+([\._%-]?[a-z0-9üöä]+)*@[a-z0-9üöä]+([\._%-]?[a-z0-9üöä]+)*\.[a-z]{2,6})?$",$email)){
$errors=1;
$error.="<li>Email";
}
if(!eregi("^([0-9]{10})?$",$fax)){
$errors=1;
$error.="<li>Fax";
}
if($vraag==""){
$errors=1;
$error.="<li>Vraag";
}
if($errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="contact: ".$contact."
titel: ".$titel."
voorletters: ".$voorletters."
naam: ".$naam."
adres: ".$adres."
postcode: ".$postcode."
plaats: ".$plaats."
telefoon: ".$telefoon."
email: ".$email."
fax: ".$fax."
vraag: ".$vraag."
";
$message = stripslashes($message);
mail("[email protected]","Contactformulier",$message,"From: [email protected]");

header("Refresh: 0;url=http://localhost/test/phpform/use/contact/bedankt.html");
?><?php
}
?>

en global.inc.php

<?php

function pt_register()
{
$num_args = func_num_args();
$vars = array();

if ($num_args >= 2) {
$method = strtoupper(func_get_arg(0));

if (($method != 'SESSION') && ($method != 'GET') && ($method != 'POST') && ($method != 'SERVER') && ($method != 'COOKIE') && ($method != 'ENV')) {
die('The first argument of pt_register must be one of the following: GET, POST, SESSION, SERVER, COOKIE, or ENV');
}

$varname = "HTTP_{$method}_VARS";
global ${$varname};

for ($i = 1; $i < $num_args; $i++) {
$parameter = func_get_arg($i);

if (isset(${$varname}[$parameter])) {
global $$parameter;
$$parameter = ${$varname}[$parameter];
}

}

} else {
die('You must specify at least two arguments');
}

}

?>

(Het tot nu toe gefabriceerde gedeelte is gebaseerd op phpformgenerator)

Alvast bedankt..



ok.. maar t gaat er in elk geval om dat alle headers eerst komen voor andere output, dus cookies, start van een sessie, en andere headers altijd als eerst outputten,. dit alles hoort dus ook nog boven de dtd regel.

Reageren