Tilted Forum Project Discussion Community

Tilted Forum Project Discussion Community (https://thetfp.com/tfp/)
-   Tilted Technology (https://thetfp.com/tfp/tilted-technology/)
-   -   [PHP] Problem with strings (https://thetfp.com/tfp/tilted-technology/76491-php-problem-strings.html)

pixelbend 11-19-2004 12:01 PM

[PHP] Problem with strings
 
Here is my problem. I am making a recipe box page on our website for our company. It has one input for the submitter's name, one for the title, 14 ingredients list (each of which contain a input for number, pull down for measurement, and an input for ingredient) and one large text box for instructions.

Here is what I have coded on the php side so far:
Code:

<?
//Recipe box emailer

$submitter = $_POST["submitter"];
$rectitle = $_POST["title"];
$instructions = $_POST["instructions"];
$amt1 = $_POST["amt1"];
$size1 = $_POST["size1"];
$ing1 = $_POST["ingred1"];
if ($ing1 != ""){ $ingList1 = "1. $amt1 $size1 of $ing1\n";}
else{$ingList1 = "";}

$Form_date= date ("l, F d, Y  H:i");
$Form_email= "anemail@adomain.net";
$Form_headers= "From:anotheremail@adomain.net";
$Form_emailsubject= "Submitted Recipe";
$Form_message= "
Submitter: $submitter \n
Recipe: $rectitle \n
Ingredient List: \n
$ingList1
Instructions: \n$instructions \n";

mail ($Form_email, $Form_emailsubject, $Form_message, $Form_headers);
header ("Location:http://www.somesite.com/");

?>

Now I can put all 14 ingerdients in ingList2, ingList3...etc, but I feel there must be a more elegant way to do this (read: a lot less typing). I was thinking of putting them into an array, but how can you concatenate the $_POSTs?

welshbyte 11-19-2004 01:40 PM

AFAIK, there's a way of naming form input elements with a [] at the end of the name so that the $_POSTs are actually in array format but i'm not quite sure if that applies in this case. Try having a google around for html form arrays or something similar.

welshbyte 11-19-2004 01:45 PM

Ah here we go, it was on the first page when i tried searching myself (good guess eh?). Its on http://www-106.ibm.com/developerwork...phpform#N1013A

theFez 11-19-2004 09:19 PM

Welshbyte, that article is pretty cool.

Keep in mind, pixel, $_POST is an array. so you could run a foreach loop, break them out by whatever parameter you want and concatenate into strings from there.

RelaX 11-20-2004 07:27 PM

PHP Code:

<?
//Recipe box emailer

$submitter =         $_POST["submitter"];
$rectitle =          $_POST["title"];
$instructions =      $_POST["instructions"];

$Form_date=          date ("l, F d, Y  H:i");
$Form_email=         "anemail@adomain.net";
$Form_headers=       "From:anotheremail@adomain.net";
$Form_emailsubject=  "Submitted Recipe";

for($counter=0;$counter<=14;$counter++)
{
  if ($_POST['ingredient'.$counter] 
      && $_POST["amt".$counter] 
      && $_POST["size".$counter])
  {
     $ingredientList.= $counter.". "$_POST["amt".$counter]." ".$_POST["size".$counter]." of "$_POST['ingredient'.$counter]."\n";
  }
}

$Form_message= "
  Submitter: $submitter \n
  Recipe: $rectitle \n
  Ingredient List: \n
  $ingredientList
  Instructions: \n$instructions \n";

mail ($Form_email, $Form_emailsubject, $Form_message, $Form_headers);
header ("Location:http://www.somesite.com/");
?>

Then just name your input fields 'ingredientlist1','ingredientlist2'... etc..
Why make your life difficult by making the postvars into an array and then going with a foreach or stuff when you can just let PHP take care of it? Of course if the page you use to submit these things is the same as this php page you could even let PHP handle the adding of the input boxes to the HTML page.

I do this for a living... :D

pixelbend 11-22-2004 05:14 AM

Thanks everyone. It makes it a little easier that PHP is so close to C++, but I still have a lot to learn. I'll let you guys know how it turns out.

pixelbend 11-22-2004 11:17 AM

Worked like a charm. thanks guys!


All times are GMT -8. The time now is 07:55 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project


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 35 36 37