2013-03-14 77 views
0

我正在创建一个原型电子商务网站的过程中,我有问题将访问者名称保存到我的平面文件数据库“购买”。传递变量到另一个文件并保存到平面文件

<body> 

    <h1>Confirm Selection</h1> 

    <form action="write.php" method="post"> 
     <table> 

      <tr><th></th><th></th><th></th><th>Price</th></tr> 

      <?php    
       $visitor = $_POST['visitor']; 
       echo "<p>".'Hello '."<b>".$visitor."</b>&nbsp;".'please confirm your purchase(s) below.'."</p>"; 
      ?> 

     </table> 

上面的确认文件创建一个变量名为$访问者是无论用户在之前的形式进入他/她的名字,然后我想利用这个变量,一旦用户确认他们的选择传递到“write.php”文件进行处理并写入采购文件。

我的“write.php”文件的一部分如下。

<?php 
     if (!($data = file('items.txt'))) { 
      echo 'ERROR: Failed to open file! </body></html>'; 
      exit; 
     } 

     $now = date(' d/m/y H:i:s '); 

     foreach ($_POST as $varname => $varvalue) { 
      foreach ($data as $thedata) { 
       list($partno, $name, $description, $price, $image) = explode('|', $thedata); 
       if ($partno == $varname) { 

        $myFile = "purchases.txt"; 
        $fh = fopen($myFile, 'a') or die("can't open file\n"); 

        $content = $now . "|" . $partno . "|" . $name . "|" . $price . "\n"; 

        if (!(fwrite($fh, $content))) { 
         echo "<p>ERROR: Cannot Write ($myFile)\n</p>"; 
         exit; 
        } else { 
         echo "<p>Transaction Completed!</p>"; 
         fclose($fh); 
        } 
       } 
      } 
     } 
     ?> 
+0

什么不工作?你说你有问题,但是有什么问题,你的输出是什么! – 2013-03-14 13:58:17

+0

我希望能够在write.php文件中使用$ visitor变量 – user2170008 2013-03-14 13:59:53

+0

write.php文件然后将数据写入平面文件数据库 – user2170008 2013-03-14 14:00:21

回答

0

如果购买页面提交去write.php,一个隐藏的变量可能的工作:

<form action="write.php" method="post"> 
    <table> 

     <tr><th></th><th></th><th></th><th>Price</th></tr> 

     <?php    
     $visitor = $_POST['visitor']; 
     echo "<p>".'Hello '."<b>".$visitor."</b>&nbsp;".'please confirm your purchase(s) below.'."</p>"; 
     ?> 
     <input type="hidden" name="visitor" value="<?=$visitor?>"/> <!-- added line to send visitor --> 
    </table> 

所以在您的write.php:

if (!($data = file('items.txt'))) { 
     echo 'ERROR: Failed to open file! </body></html>'; 
     exit; 
    } 
    $visitor = $_REQUEST['visitor']; // added line, now you have visitor 
    $now = date(' d/m/y H:i:s '); 

PS:您可能需要ヶ辆功能,因为用户可以为访客输入有趣的字符:

<input type="hidden" name="visitor" value="<?=htmlentities($visitor)?>"> 
相关问题