Tilted Forum Project Discussion Community  

Go Back   Tilted Forum Project Discussion Community > Interests > Tilted Technology


 
 
LinkBack Thread Tools
Old 11-19-2004, 12:01 PM   #1 (permalink)
Too hot in the hot tub!
 
pixelbend's Avatar
 
[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?
__________________
But I don't want ANY Spam!
pixelbend is offline  
Old 11-19-2004, 01:40 PM   #2 (permalink)
Insane
 
Location: Wales, UK, Europe, Earth, Milky Way, Universe
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.
__________________
There are only two industries that refer to their customers as "users". - Edward Tufte
welshbyte is offline  
Old 11-19-2004, 01:45 PM   #3 (permalink)
Insane
 
Location: Wales, UK, Europe, Earth, Milky Way, Universe
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
__________________
There are only two industries that refer to their customers as "users". - Edward Tufte
welshbyte is offline  
Old 11-19-2004, 09:19 PM   #4 (permalink)
Crazy
 
Location: here and there
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.
__________________
# chmod 111 /bin/Laden
theFez is offline  
Old 11-20-2004, 07:27 PM   #5 (permalink)
Follower of Ner'Zhul
 
RelaX's Avatar
 
Location: Netherlands
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...
__________________
The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.
- Nathaniel Borenstein

Last edited by RelaX; 11-20-2004 at 07:37 PM..
RelaX is offline  
Old 11-22-2004, 05:14 AM   #6 (permalink)
Too hot in the hot tub!
 
pixelbend's Avatar
 
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.
__________________
But I don't want ANY Spam!
pixelbend is offline  
Old 11-22-2004, 11:17 AM   #7 (permalink)
Too hot in the hot tub!
 
pixelbend's Avatar
 
Worked like a charm. thanks guys!
__________________
But I don't want ANY Spam!
pixelbend is offline  
 

Tags
php, problem, strings


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -8. The time now is 06:42 AM.

Tilted Forum Project

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