-
22-08-2007, 19:01 #1Member
- Registered
- 19/09/05
- Posts
- 1,911
- iTrader
- 0
- Mentioned
- 0 Post(s)
PHP: formulier werkt niet correct
op een pagina gebruik ik volgend formulier :
ziet er iemand de fout?PHP Code:<?php
if( $_POST['send_request'] )
{
$regex['first_name'] = "^."; #require atleast one charecter
$regex['last_name'] = "^."; #require atleast one charecter
$regex['email'] = "^[_a-zA-Z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.[A-Za-z]{2,3})$*"; #must be valid email
$form_errors['first_name'] = "Gelieve een voornaam op te geven";
$form_errors['last_name'] = "Gelieve een naam op te geven";
$form_errors['email'] = "Gelieve een correct e-mailadres op te geven";
foreach( $regex as $k => $v )
{
if( ! ereg( $v , $_POST[$k] ) )
{
$errors[$k] = $form_errors[$k];
}
}
if( ! isset( $errors ) ) {
$send_to = "sales@staff.be";
$send_subject = "Info request NL";
$send_from = "Info request form";
$mesg = "The following person has submitted an info request form:\n\n";
$mesg .= "First Name : ".$_POST['first_name']."\n";
$mesg .= "Last Name : ".$_POST['last_name']."\n";
$mesg .= "Organization : ".$_POST['company']."\n";
$mesg .= "Phone : ".$_POST['phone']."\n";
$mesg .= "Email : ".$_POST['email']."\n";
$mesg .= "Inquiry :\n\n".$_POST['inquiry']."";
mail( $send_to, $send_subject, $mesg,
"From: ".$send_from."\r\n"
."Reply-To: ".$send_from."\r\n"
."X-Mailer: PHP/" . phpversion());
$thank_you = 1;
}
}
$labels['first_name'] = "Voornaam";
$labels['last_name'] = "Familienaam";
$labels['email'] = "E-mail";
$labels['phone'] = "Telefoon";
$labels['company'] = "Bedrijf";
$labels['inquiry'] = "Uw vraag/opmerking";
$labels['thankyou'] = "Bedankt voor uw vraag/opmerking. U krijg zo spoedig mogelijk antwoord.";
?>
<?php if(! $thank_you ) { ?>
<form name="form1" method="post" action="">
<table width="0%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td class="input"><?= $labels['first_name'] ?>:</td>
<td>
<?php if( isset($errors['first_name'] ) ) { ?>
<font size = "1" color="red"><?= $errors['first_name'] ?></font><br />
<?php } ?>
<input class="inputbox2" name="first_name" type="text" size="30" id="first_name" value="<?= $_POST['first_name'] ?>"></td>
</tr>
<tr>
<td class="input"><?= $labels['last_name'] ?>: </td>
<td>
<?php if( isset( $errors['last_name'] ) ) { ?>
<font size = "1" color="red"><?= $errors['last_name'] ?></font><br />
<?php } ?>
<input class="inputbox2" name="last_name" type="text" id="last_name" size="30" value="<?= $_POST['last_name'] ?>"></td>
</tr>
<tr>
<td class="input"><?= $labels['company'] ?>: </td>
<td><input class="inputbox2" name="company" type="text" id="company" size="30" value="<?= $_POST['company'] ?>"></td>
</tr>
<tr>
<td class="input"><?= $labels['email'] ?>: </td>
<td>
<?php if( isset( $errors['email'] ) ) { ?>
<font size = "1" color="red"><?= $errors['email'] ?></font><br />
<?php } ?>
<input class="inputbox2" name="email" type="text" id="email" size="30" value="<?= $_POST['email'] ?>"></td>
</tr>
<tr>
<td class="input"><?= $labels['phone'] ?>:</td>
<td><input class="inputbox2" name="phone" type="text" id="phone" size="30" value="<?= $_POST['phone'] ?>"></td>
</tr>
<tr>
<td valign="top" class="input"><?= $labels['inquiry'] ?>: </td>
<td><textarea class="box3" name="inquiry" cols="30" rows="7" id="inquiry"><?= $_POST['inquiry']?></textarea>
</div></td>
</tr>
<tr>
<td valign="top"> </td>
<td><div align="left"><br><bR>
<input type="submit" name="Submit" value="Verzenden">
<input name="send_request" type="hidden" id="send_request" value="1">
</div></td>
</tr>
</table>
</form>
<?php } else { ?>
<p><font color="green"><b><?= $labels['thankyou'] ?></b></font></p>
<?php } ?>
bij het openen van de pagina zie ik onmiddellijk de error messages :
Gelieve een voornaam op te geven
Gelieve een naam op te geven
Gelieve een correct e-mail adres op te gevenLast edited by KoenDK; 22-08-2007 at 19:08.
no votes
-
-
23-08-2007, 15:06 #2Member
- Registered
- 19/09/05
- Posts
- 1,911
- iTrader
- 0
- Mentioned
- 0 Post(s)
euhm, iemand ?
no votes
-
23-08-2007, 15:11 #3Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
if( isset($_POST['send_request'] ) )
edit: en n/o, maar laat dit script hermaken door iemand die wel php kan. Ik denk dat er geen regel zonder fout is.no votes
-
23-08-2007, 16:53 #4Member
- Registered
- 19/09/05
- Posts
- 1,911
- iTrader
- 0
- Mentioned
- 0 Post(s)
het werkt nog steeds niet
ok, de error messages komen niet meer tevoorschijn bij het laden van de pagina, maar ze komen ook niet tevoorschijn als men de naam niet invult
en euhm, wat is er dan zoal allemaal mis?
hulp zou leuk zijn
dan heb ik eens en voor altijd een formulier dat werkt, met alles erop en eraan
no votes
-
23-08-2007, 18:26 #5Member
- Registered
- 19/09/05
- Posts
- 1,911
- iTrader
- 0
- Mentioned
- 0 Post(s)
ik denk trouwens dat veel te maken heeft met de php versie
op een server met PHP4 werkt dit dus perfect, maar helaas moet ik werken met PHP5, en daar krijg ik dus geen enkele error message indien men bv niets invultno votes
-
23-08-2007, 21:09 #6Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
Ooit al gehoord van de error_reporting functie in PHP?
En wat je code betreft : het zou misschien wel eens kunnen helpen dat je de $errors array ook op voorhand als array definieert alvorens je er waardes in gaat steken, en vervolgens werkt met empty ipv isset om te testen of er foutmeldingen gezet zijn (als je op die manier wil blijven werken).PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
23-08-2007, 22:13 #7Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
-je gebrukt variabelen zonder dat ze geïntiailiseerd zijn
-Je gebruikt bestaanscontrole met if($var) ipv if(isset($var))
-Je gebruikt de te vermijden <?= tag
Maar ik had blijkbaar overdreven daarstraks.
Ook raad ik ereg af ten voordele van preg_match.
en zoals djeez zegt: error_reporting(E_ALL), a debugger's best friend.no votes
-
24-08-2007, 16:42 #8Member
- Registered
- 19/09/05
- Posts
- 1,911
- iTrader
- 0
- Mentioned
- 0 Post(s)
ik heb het idd door iemand anders kunnen laten doen, alles werkt eigenlijk nu
de check wordt gedaan via een js
er klopt echter iets niet met mijn php syntax want de mail wordt niet verstuurd
PHP Code:<?php
if(isset( $_POST['submit'] ))
{
$send_to = "testertje@gmail.com";
$sendto = "test contact";
$send_subject = "subject";
$send_from = $_POST['email'] . "<" . $_POST['email'] . ">";
$mesg = "Bla :\n\n";
$mesg .= "Email : ".$_POST['email']."\n";
mail( $send_to, $send_subject, $mesg,
"From: ".$send_from."\r\n"
."Reply-To: ".$send_from."\r\n"
."X-Mailer: PHP/" . phpversion());
?>
<p><font color="green"><b>Vriendelijk bedankt voor uw bericht.</p>
<?php
}
else
{
?>
<form>
blablabla
<input type="submit" name="submit" value="Verzenden" />
</form>
<?
}
?>
iemand enig idee?no votes
-
27-08-2007, 11:50 #9Member
- Registered
- 19/09/05
- Posts
- 1,911
- iTrader
- 0
- Mentioned
- 0 Post(s)

ps : ik heb error_reporting(E_ALL); toegevoegd aan mijn formulier, maar ik krijg niets te zien
*edit : ik denk dat ik het weet, die 'name' is denk ik niet correct als ID,
ik ga het eens proberen met een iets specifiekere naam...Last edited by KoenDK; 27-08-2007 at 13:19.
no votes

