HTML/PHP Formulier
Ik probeer een formulier te maken met twee velden (Fullname en Email) deze input moet worden verstuurd via php mail functie naar een bepaalde email.
Als ik twee woorden in de veld Fullname invoer dan wordt de data niet verstuurd
als het een woord is dan wordt het wel verstuurd hoe kan ik dit opplossen?
Alvast bedankt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
if (isset($_POST['submit']))
{
$fullname = $_POST['fullname'];
$onderwerp = "testmail";
$email="[email protected]";
$headers = "From: ".$fullname." <".$fullname.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$msg = "Dit is een test".$fullname;
if(mail($email, $onderwerp, $msg, $headers))
{
echo"<center><b>E-mail is verzonden<br/>";
}else{
echo "<center><b>MAIL FAILED<br/>";
}
}else{
?>
<form action="" method="post" name="form1">
Full Name<input name="fullname" type="text" id="fullname"> </br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
}
?>
<?php
}
?>
if (isset($_POST['submit']))
{
$fullname = $_POST['fullname'];
$onderwerp = "testmail";
$email="[email protected]";
$headers = "From: ".$fullname." <".$fullname.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$msg = "Dit is een test".$fullname;
if(mail($email, $onderwerp, $msg, $headers))
{
echo"<center><b>E-mail is verzonden<br/>";
}else{
echo "<center><b>MAIL FAILED<br/>";
}
}else{
?>
<form action="" method="post" name="form1">
Full Name<input name="fullname" type="text" id="fullname"> </br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
}
?>
<?php
}
?>
Gewijzigd op 06/07/2012 11:42:09 door A elb
Eerst je code maar eens tussen code tags, dan nog alleen de relevante code plaatsen, dan nog even aangeven wat je al geprobeerd hebt, dan zijn er vast mensen die je willen helpen.
Ik heb de code aangepast. Dus een formulier met een veld fullname zodra ik twee woorden invoer gaat het mis(komt het mailtje niet aan. Als ik een woord invoer dan komt het mailtje wel aan.
dit moet je overigens checken met
en hoe zet je fullname dan met 2 woorden?
Reshad, hoofdletter maken niet uit in PHP. En om eerlijk te zijn vind ik isSet beter dan isset.
voer je dat in bij fullname?
Als ik jou script hier test werkt het gewoon...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$fullname = $_POST['fullname'];
$onderwerp = "testmail";
$email="[email protected]";
$headers = "From: ".$fullname." <".$fullname.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$msg = "Dit is een test".$fullname;
if(mail($email, $onderwerp, $msg, $headers))
{
echo"<center><b>E-mail is verzonden<br/>";
}
else
{
echo "<center><b>MAIL FAILED<br/>";
}
}
else
{
?>
<form action="" method="post" name="form1">
Full Name<input name="fullname" type="text" id="fullname"> </br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$fullname = $_POST['fullname'];
$onderwerp = "testmail";
$email="[email protected]";
$headers = "From: ".$fullname." <".$fullname.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$msg = "Dit is een test".$fullname;
if(mail($email, $onderwerp, $msg, $headers))
{
echo"<center><b>E-mail is verzonden<br/>";
}
else
{
echo "<center><b>MAIL FAILED<br/>";
}
}
else
{
?>
<form action="" method="post" name="form1">
Full Name<input name="fullname" type="text" id="fullname"> </br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
}
?>
heb je toevallig ergens anders iets vreemds?
wat zegt je error_log van php?
zet dit bovenin je pagina
Gewijzigd op 06/07/2012 12:06:42 door Reshad F
Werkt helemaal niet of ik nou een woord of twee gebruik. Kan het aan bepaalde instellingen liggen in de php.ini file?
- wat voor webserver gebruik je?
- welke php versie heb je?
- is dit het hele scriptje wat je hebt of heb je nog meer code op deze pagina staan?
php 5.3.8
Dit is het hele script
Als ik het woord "test" invoer gaat het allemaal goed.
Als ik "test test" invoer in de veld krijg ik onderstaande melding
PHP Warning: mail(): SMTP server response: 501 5.5.4 Invalid Address in C:\inetpub\wwwroot\test\index.php on line 18
Gewijzigd op 06/07/2012 12:41:11 door A elb
Erwin is een held, dat moet de oplossing zijn....
en hoe verklaar je dat hij het bij mij wel deed ? zelfs zonder het email adress?
Heb je de email ook ontvangen Reshad?
yep.
Dan doe je iets goed, maar niet zoals het hoort :-)
http://cl.ly/1i3G0U1f3z0s2O2C311X <-- mail
Toevoeging op 06/07/2012 13:09:45:
lol tuurlijk hoort het zoals jij het zegt. maar die email zou soweiso aan moeten komen want die wordt ervoor al gedeclareerd zie regel 6 :)
Toevoeging op 06/07/2012 13:09:45:
lol tuurlijk hoort het zoals jij het zegt. maar die email zou soweiso aan moeten komen want die wordt ervoor al gedeclareerd zie regel 6 :)
Maar het blijft wel een raadsel dat als ik een woord invoer het wel werkt en als ik twee woorden invoer het niet werkt(spatie er tussen).