Edit report at https://bugs.php.net/bug.php?id=55560&edit=1

 ID:                 55560
 User updated by:    fredgandt at hotmail dot com
 Reported by:        fredgandt at hotmail dot com
 Summary:            filter_var($e, FILTER_VALIDATE_EMAIL) won't validate
                     spaces in quoted strings
-Status:             Open
+Status:             Closed
 Type:               Bug
 Package:            Mail related
 Operating System:   Windows XP (SP3)
 PHP Version:        5.3SVN-2011-09-01 (SVN)
 Block user comment: N
 Private report:     N

 New Comment:

Really sorry. RFC is hard to read so I relied on Wikipedia (usually very good 
with 
this kind of thing). Spaces aren't ever allowed. Not even within quotes. Going 
to 
edit Wikipedia now instead of waste your time.
Forgive? ;-)


Previous Comments:
------------------------------------------------------------------------
[2011-09-01 11:38:43] fredgandt at hotmail dot com

Description:
------------
---
>From manual page: http://www.php.net/filter.filters.validate
---
IMPORTANT: I am a learner. Sorry if I am wasting your time. Also GoDaddy don't 
supply much in the way of detail about what version is running. All I know is 
that it is 5.3.? I have asked for the rest but am still waiting.

Using filter_var($e, FILTER_VALIDATE_EMAIL) where $e is a submitted email 
address that according to RFC 5321 and Wikipedias clearer to understand 
interpretation of it should be considered valid, the return can be invalid 
where 
spaces are featured within quoted strings.

e.g.

A-Za-z0-9."?Oooh![what]{fun}|is|!".gladthisisn'tmyaddress@[32.64.128.1] == 
valid 
(impressive)

"Fred Gandt"@fredgandt.com == invalid

Take the space out and "FredGandt"@fredgandt.com == valid

I've tested all the most unusual combinations I can think of and 
FILTER_VALIDATE_EMAIL seems to only fail with spaces being disallowed outright 
rather than only being disallowed when not enclosed by quotes (as with other 
otherwise disallowed chars).

If my interpretation of RFC 5321 is wrong and spaces are in fact never allowed 
(even when enclosed by quotes) please forgive my impertinence.

Love PHP. Very slick and user friendlyness abounds!



Test script:
---------------
<html><body><br>
<form action="" method="post">
<input type="text" name="email" size="100">
<input type="submit" value="POST"><br><br>
<?php
$e=$_REQUEST["email"];
$result=filter_var($e, FILTER_VALIDATE_EMAIL);
if($result){echo($e."<br><br><b style=\"color:#008800;\">Valid Email 
Address</b>");}
else{echo($e."<br><br><b style=\"color:#ff0000;\">Invalid Email Address</b>");}
?>
</form></body></html>

Expected result:
----------------
Test script provides form entry field "input type="text""

Fill in "textbox" with email address having a local-part with a quoted string 
containing spaces.

e.g. "Fred Gandt"@fredgandt.com

Submit

EXPECT: Return (echo) == Valid

Actual result:
--------------
OBSERVE: Return (echo) == Invalid


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=55560&edit=1

Reply via email to