Re: looping through a $_POST variable

From: Date: Mon, 31 Dec 2007 00:56:01 +0000
Subject: Re: looping through a $_POST variable
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-266406@lists.php.net to get a copy of this message
You might want to check the loop alone and check each value of $value: $array = explode(' ', $_POST['emails']); foreach($array as $value) { print "'$value'<br>"; } if it works that way, at least you narrow down the possibilities of weirdness. On Dec 30, 2007, at 5:34 PM, Richard Kurth wrote:
When I do a var_dump($_POST['emails']); it has all the emails in it string(65) "rkurth@centurytel.net ckurth@centurytel.net tkurth@centurytel.net" I will validate the emails after I get the loop to work $memberid comes from a part of the script I did not show you $memberid =$_POST["members_id"]; safe_query is a function that I call that does query stuff function safe_query ($query = ""){ include ("dataconf.inc.php"); dbconnect($dbname,$rootusername,$rootpassword,$roothostname);
  global    $query_debug;
if (empty($query)) { return FALSE; } if (!empty($query_debug)) { print "<pre>$query</pre>\n"; } $result = mysql_query($query)
      or die("Query Failed: "
          ."<li>errorno=".mysql_errno(). "<br>"
          ."<li>error=".mysql_error(). "<br><br>"
          ."<li>query=".$query
      );
return $result; }
On Sun, December 30, 2007 5:29 pm, Richard Kurth wrote:
I am trying to loop through a $_POST variable. It comes from a text area and it will have data like many email address or just one listed with a space or on a new line. I can't seam to get the data to extract properly. I have tried this below $array = explode(' ', $_POST['emails']);
//see what you have. //maybe it's not hat you think var_dump($_POST['emails']);
foreach ($array as $value) {
//you should probably validate the emails using: http://php.net/imap_rfc822_parse_adrlist $value_sql = mysql_real_escape_string($value);
$sql = "SELECT id FROM contacts where emailaddress = '$value' AND members_id = '$memberid'";
Use '$value_sql' here. And I dunno where $memberid came from, but maybe it should be escaped as well.
$sql_result=safe_query($sql);
I'm not sure what "safe_query" is doing, and maybe you think it can escape the data you embedded into the SQL, but I don't see how you can do that... Sort of a Humpty-Dumpty problem...
while ($row=mysql_fetch_array($sql_result)){ $id = $row["id"]; $sql1="UPDATE contacts SET emailstatus ='Unsubscribed' WHERE id = '$id'"; safe_query($sql1); }}
--PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.general (#266406) next »