How to get a Web POST variable into an array using PHP

Using PHP 4.3.2 I'm wanting to validate email addresses that are entered into a form. There may be one or more adrresses but multiples will be separated by commas ','.
i.e - dbn@acme.com,sam@acme.com
The following code does not work. Any ideas?
Also how to trim spaces out of the entry in case of:
i.e - dbn@acme.com, sam@acme.com

$emails = array($_POST['EmailRecipients']);
for ($i = 0; $i < count($emails); $i++) {
      if (!eregi ("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$", $emails[i])) {
            ReportAdminError("Email is incorrect - $emails[i]",'Error','report_template');
            exit;
      }
}

Thanks in advance,
David

dnotestineAsked:
Who is Participating?
 
LordOfPortsConnect With a Mentor Commented:
Try:

$emails = split(",", $_POST['EmailRecipients']);
$emails = array_map("trim", $emails);

instead of:

$emails = array($_POST['EmailRecipients']);
0
 
MrEneConnect With a Mentor Commented:

$emails = explode ( ',' , $_POST['EmailRecipients'] );

Open in new window

0
 
morristhebearConnect With a Mentor Commented:
You can do this.


<?php
 
	//	Put all the emails into an array, first removing all the whitespace.
	$emails = explode (',', str_replace (' ', '', $_POST['EmailRecipients']));
	
	//	Test
	print_r ($emails);
	
?>

Open in new window

0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
bevhostConnect With a Mentor Commented:
$emails = explode(",", $_POST['EmailRecipients']);
for ($i = 0; $i < count($emails); $i++) {
      if (!eregi ("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$", trim($emails[i]))) {
            ReportAdminError("Email is incorrect - $emails[i]",'Error','report_template');
            exit;
      }
}
0
 
morristhebearCommented:
MrEne, yours works along the same line as mine but doesn't remove the whitespace as requested.
0
 
MrEneCommented:
to remove spaces. hope that works.
$emails = explode ( ',' , $_POST['EmailRecipients'] );
$emails = str_replace(" ", "", $emails );

Open in new window

0
 
dnotestineAuthor Commented:
Everyone was so fast it was hard to distribute the points. Sorry if I upset anyone with the point spread.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.