变量在会话中返回单词ARRAY

时间:2014-07-30 15:47:36

标签: php arrays

所以我有两个页面,一个表单页面和一个发送页面。第一页开始一个会话,将一系列项目存储到变量$mine中,如此

<? php session_start(); ?>
<?php foreach($items as $itemIndex => $item): ?>
        <?php $product->load($item->getProductId()); ?>
    <tr>
        <td >
          <?php #echo $item->getItemNumber(); ?>
          <?php echo $item->getFullDisplayName(); ?>
          <?php $_SESSION['mine'] = $mine; 
            $mine [] = $item->getFullDisplayName();
          ?>
        </td>

然后在第二个我会显示项目,除了它只返回单词ARRAY。

<?php

 session_start();

// Send the email
 $to = "packytagliaferro@gmail.com";
 $name = $_POST['name'] ; 
 $from = $_POST['email'] ; 
 $phone = $_POST['phone'] ; 
 $headers = "MIME-Version: 1.0\n";
 $headers .= "Content-type: text/html; charset=iso-8859-1\n";
 $headers .= "From: $from"; 
 $subject = "Pump Part Inquiry"; 
 $mine = $_SESSION['mine'];
 $flygt = $_SESSION['flygt'];

 $emailBody = "
  <html>
      <head>
        <style>
        </style>
      </head>
      <body>
        <h1> Pump Inquiry</h1>
        <h3>From:".$name."<h3>
        <h3>Phone:".$phone."<h3>
        <p>Minetuff Parts:".$mine."</p>
        <p>Flygt Parts:".$flygt."</p>
      </body>
  </html>";



 $send = mail($to, $subject, $emailBody, $headers); 
    if($send) 
        {header( "Location: http://fitter.henry-griffitts.com/fitter/success.php" );} 
    else 
     {print "We encountered an error sending your mail, please review your information"; } 
 ?>

5 个答案:

答案 0 :(得分:1)

当您创建$mine变量时,您将[]放入使其成为数组。所以即使你只是放入getFullDisplayName(),它仍然是一个值为1的数组

['Full Display Name']

因此,当您尝试回显变量时,它只是说它是一个数组。

尝试回显$mine[0]

您总是可以将会话变量设为字符串而不是具有1值的数组

SESSION['mine'] = $item.getFullDisplayName()

答案 1 :(得分:0)

我认为因为您在设置$_SESSION['mine']后将值分配给$ mine 试试这个

 <?php 
         $mine [] = $item->getFullDisplayName();
         $_SESSION['mine'] = $mine; 
  ?>

答案 2 :(得分:0)

我认为是这样的,因为你试图将数组$ mine作为字符串输出。 这里:

"<p>Minetuff Parts:".$mine."</p>""

答案 3 :(得分:0)

您正在将数组存储到$_SESSION["mine"]

$_SESSION['mine'] = $mine; 
$mine [] = $item->getFullDisplayName();

然后你试图将它添加到一个字符串,在这里:

$emailBody = "...<p>Minetuff Parts:".$mine."</p>...";

PHP的字符串转换的默认数组是返回一个字符串Array。例如,如果你想要一个用逗号分隔的列表:

$mineString = implode(", ", $mine);
$emailBody = "...<p>Minetuff Parts:".$mineString."</p>...";

答案 4 :(得分:0)

我认为您之后已经完成了作业$_SESSION['mine'] = $mine;

<?php session_start(); ?>
<?php $mine = array();?>
<?php foreach($items as $itemIndex => $item): ?>
        <?php $product->load($item->getProductId()); ?>
    <tr>
        <td >
          <?php #echo $item->getItemNumber(); ?>
          <?php echo $item->getFullDisplayName(); ?>
          <?php $mine[] = $item->getFullDisplayName(); ?>
        </td>
    </tr>
<?php endforeach;?>
<?php $_SESSION['mine'] = $mine;?>