Solved

formatting php output in to a variable

Posted on 2009-05-06
13
182 Views
Last Modified: 2012-05-06
Hi,

I have been trying unsuccessfully to get the output from the code below into a single variable. I need to be able to pass the output from the  info shown here in an email receipt. I have been trying to get the output into a hidden form field which I could then pass along. Would this be a good way to do it? If so how?
<?php

  for($i=0; $i<=4; $i++)

    if($_REQUEST['L_QTY'.$i]>=1)

    {

      ?>

      <tr>

        <td align="left" valign="top"><?=$_REQUEST['L_QTY'.$i]?></td>

        <td align="left" valign="top"> </td>

        <td align="left" valign="top"><?=$_REQUEST['L_NAME'.$i]?></td>

        <td align="left" valign="top"> </td>

        <td align="left" valign="top"><?=$_REQUEST['L_DESC'.$i]?></td>

      </tr>

      <?php

    }

  ?>

Open in new window

0
Comment
Question by:jackie777
  • 6
  • 4
  • 3
13 Comments
 
LVL 75

Expert Comment

by:Michel Plungjan
Comment Utility
You mean

<?php

  $htmlString = "<table>";

  for($i=0; $i<=4; $i++) {

    if($_REQUEST['L_QTY'.$i]>=1)

    {

      $htmlString .= '<tr>';

      $htmlString .= '<td align="left" valign="top">'.$_REQUEST['L_QTY'.$i].'</td>';

      $htmlString .= '<td align="left" valign="top"> </td>';

      $htmlString .= '<td align="left" valign="top">'.$_REQUEST['L_NAME'.$i].'</td>';

      $htmlString .= '<td align="left" valign="top"> </td>';

      $htmlString .= '<td align="left" valign="top">'.$_REQUEST['L_DESC'.$i].'</td>';

      $htmlString .= '</tr>';

    }

  }

  $htmlString.='</table>';

  echo $htmlString;

?>

Open in new window

0
 
LVL 75

Expert Comment

by:Michel Plungjan
Comment Utility
or even

<?php

  $htmlString = "<table>";

  for($i=0; $i<=4; $i++) {

    if($_REQUEST['L_QTY'.$i]>=1)

    {

      $htmlString .= '<tr valign="top">';

      $htmlString .= '<td>'.$_REQUEST['L_QTY'.$i].'</td>';

      $htmlString .= '<td>&nbsp;</td>';

      $htmlString .= '<td>'.$_REQUEST['L_NAME'.$i].'</td>';

      $htmlString .= '<td>&nbsp;</td>';

      $htmlString .= '<td>'.$_REQUEST['L_DESC'.$i].'</td>';

      $htmlString .= '</tr>';

    }

  }

  $htmlString.='</table>';

  echo $htmlString;

?>

Open in new window

0
 

Author Comment

by:jackie777
Comment Utility
Thanks mplungjan

I think that might be the right idea, but I still cannot seem to get the value for $htmlString to pass to the next page. Here is how I formatted my hidden input.




<input type="hidden" name="products" value="<? $htmlString ?>" />

Open in new window

0
 

Author Comment

by:jackie777
Comment Utility
I don't need to pass along the entire <table>, only the values of ['L_QTY'.$i] ['L_NAME'.$i] ['L_DESC'.$i]
0
 
LVL 75

Expert Comment

by:Michel Plungjan
Comment Utility
how about



<?php

  for($i=0; $i<=4; $i++) {

    if($_REQUEST['L_QTY'.$i]>=1)

    { ?>

      <input type="hidden" name="L_QTY[]" value="<? echo $_REQUEST['L_QTY'.$i]; ?>">

      <input type="hidden" name="L_NAME[]" value="<? echo $_REQUEST['L_NAME'.$i]; ?>">

      <input type="hidden" name="L_DESC[]" value="<? echo $_REQUEST['L_DESC'.$i]; ?>">

    <? } 

  }?>

Open in new window

0
 

Author Comment

by:jackie777
Comment Utility
No, that didn't work either, I did manage to figure out how to pass along all the variables, however I am now having trouble writing an if statement to only pass along the variables that have a L_QTY value that is greater than 0
<input type="hidden" name="L_QTY0" value="<? echo $_REQUEST['L_QTY0']; ?>" />

<input type="hidden" name="L_NAME0" value="<? echo $_REQUEST['L_NAME0']; ?>" />

<input type="hidden" name="L_DESC0" value="<? echo $_REQUEST['L_DESC0']; ?>" />

<input type="hidden" name="L_QTY1" value="<? echo $_REQUEST['L_QTY1']; ?>" />

<input type="hidden" name="L_NAME1" value="<? echo $_REQUEST['L_NAME1']; ?>" />

<input type="hidden" name="L_DESC1" value="<? echo $_REQUEST['L_DESC1']; ?>" />

<input type="hidden" name="L_QTY2" value="<? echo $_REQUEST['L_QTY2']; ?>" />

<input type="hidden" name="L_NAME2" value="<? echo $_REQUEST['L_NAME2']; ?>" />

<input type="hidden" name="L_DESC2" value="<? echo $_REQUEST['L_DESC2']; ?>" />

<input type="hidden" name="L_QTY3" value="<? echo $_REQUEST['L_QTY3']; ?>" />

<input type="hidden" name="L_NAME3" value="<? echo $_REQUEST['L_NAME3']; ?>" />

<input type="hidden" name="L_DESC3" value="<? echo $_REQUEST['L_DESC3']; ?>" />

<input type="hidden" name="L_QTY4" value="<? echo $_REQUEST['L_QTY4']; ?>" />

<input type="hidden" name="L_NAME4" value="<? echo $_REQUEST['L_NAME4']; ?>" />

<input type="hidden" name="L_DESC4" value="<? echo $_REQUEST['L_DESC4']; ?>" />

Open in new window

0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 75

Expert Comment

by:Michel Plungjan
Comment Utility
If you add the [], php makes it into an array for you

If you need to check a string you might want to make it a number first - I do not have the php syntax to do that
0
 
LVL 3

Expert Comment

by:webvogel
Comment Utility
I don't know exaktly where the problem is. You have to make a hidden input field for every variable and not for the hole html code.

If you need this html code more than once, you can make a function.

But if it is only a display site, you can send your mail direktly or not?

Try this:
<?php

  for($i=0; $i<=4; $i++)

    if($_REQUEST['L_QTY'.$i]>=1)

    {

      ?>

      <input type="hidden" name="<?=$_REQUEST['L_QTY'.$i]?>" value="<?=$_REQUEST['L_QTY'.$i]?>" />

      <input type="hidden" name="<?=$_REQUEST['L_NAME'.$i]?>" value="<?=$_REQUEST['L_NAME'.$i]?>" />

      <input type="hidden" name="<?=$_REQUEST['L_DESC'.$i]?>" value="<?=$_REQUEST['L_DESC'.$i]?>" />

      <?php

    }

  ?>

Open in new window

0
 
LVL 75

Expert Comment

by:Michel Plungjan
Comment Utility
That does not make sense. To pass the value as name.
0
 
LVL 3

Expert Comment

by:webvogel
Comment Utility
Sorry, I'am tired
<?php

  for($i=0; $i<=4; $i++)

    if($_REQUEST['L_QTY'.$i]>=1)

    {

      ?>

      <input type="hidden" name="<?='L_QTY'.$i?>" value="<?=$_REQUEST['L_QTY'.$i]?>" />

      <input type="hidden" name="<?='L_NAME'.$i?>" value="<?=$_REQUEST['L_NAME'.$i]?>" />

      <input type="hidden" name="<?='L_DESC'.$i?>" value="<?=$_REQUEST['L_DESC'.$i]?>" />

      <?php

    }

  ?>

Open in new window

0
 
LVL 75

Accepted Solution

by:
Michel Plungjan earned 500 total points
Comment Utility
But that is what I did, I just used the smarter [] notation which creates PHP arrays

Try this - convert the quantity to an integer using intval:



<?php

  for($i=0; $i<=4; $i++) {

    if(intval($_REQUEST['L_QTY'.$i])>=1)

    { ?>

      <input type="hidden" name="L_QTY[]" value="<? echo $_REQUEST['L_QTY'.$i]; ?>">

      <input type="hidden" name="L_NAME[]" value="<? echo $_REQUEST['L_NAME'.$i]; ?>">

      <input type="hidden" name="L_DESC[]" value="<? echo $_REQUEST['L_DESC'.$i]; ?>">

    <? } 

  }?>
 

e.g.
 

<input type="hidden" name="L_QTY[]" value="First filled quantity">

<input type="hidden" name="L_NAME[]" value="First filled name">

<input type="hidden" name="L_DESC[]" value="First filled description">

<input type="hidden" name="L_QTY[]" value="Second filled quantity">

<input type="hidden" name="L_NAME[]" value="Second filled name">

<input type="hidden" name="L_DESC[]" value="Second filled description">

Open in new window

0
 

Author Closing Comment

by:jackie777
Comment Utility
That worked, Thanks!
0
 
LVL 3

Expert Comment

by:webvogel
Comment Utility
My english is not very good.

I like the [] notation too. But maybe he need the combination of the name (1,2,3,4) and the value.

<?php

  for($i=0; $i<=4; $i++) {

    if(intval($_REQUEST['L_QTY'.$i])>=1)

    { ?>

      <input type="hidden" name="L_QTY[<?=$i?>]" value="<? echo $_REQUEST['L_QTY'.$i]; ?>">

      <input type="hidden" name="L_NAME[<?=$i?>]" value="<? echo $_REQUEST['L_NAME'.$i]; ?>">

      <input type="hidden" name="L_DESC[<?=$i?>]" value="<? echo $_REQUEST['L_DESC'.$i]; ?>">

    <? } 

  }?>

Open in new window

0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Popularity Can Be Measured Sometimes we deal with questions of popularity, and we need a way to collect opinions from our clients.  This article shows a simple teaching example of how we might elect a favorite color by letting our clients vote for …
Batch, VBS, and scripts in general are incredibly useful for repetitive tasks.  Some tasks can take a while to complete and it can be annoying to check back only to discover that your script finished 5 minutes ago.  Some scripts may complete nearly …
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now