2013-03-14 25 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)?>"> 
相關問題