2017-06-17 62 views
0

我有我的網站上,以供使用者進入的文章鏈接製作的HTML目錄列表

到目前爲止...當一個鏈接提交,我能夠獲得該鏈接張貼到目的地的HTML頁。

但是...如果提交了另一個鏈接,它將刪除第一個鏈接。

我想鏈接到'堆棧',並建立目標(目錄)頁面(目前是一個HTML頁面)的列表。

我不知道如何做到這一點。任何建議或例子將不勝感激。

我有包括所有三個頁面的一個非常精簡版....

1)本表

<!DOCTYPE html> 
    <html> 
    <head> 
    <title>FORM</title> 

    <style> 
    body{margin-top:20px; margin-left:20px;} 
    .fieldHeader{font-family:Arial, Helvetica, sans-serif; font-size:12pt;} 
    .articleURL{margin-top:10px; width:700px; height:25px;} 
    .btnWrap{margin-top:20px;} 
    .postButton{cursor:pointer;} 
    </style> 

    </head> 
    <body> 
    <form action="urlUpload.php" method="post" enctype="multipart/form-data"> 

    <div class="fieldHeader">Enter Article Link:</div> 
    <input class="articleURL" id="articleURL" name="articleURL" autocomplete="off"> 
    <div class="btnWrap"><input class="postButton" type="submit" name="submit" value="POST"></button></div> 

    </form> 
    </body> 
    </html> 
  • 上載PHP(緩存)頁

    <?php ob_start(); ?> 
    <!DOCTYPE html> 
    <html> 
    <head> 
    <title>urlUpload</title> 
    <style>body{margin-top:20px; margin-left:20px;}</style> 
    </head> 
    <body> 
    <?php $articleURL = htmlspecialchars($_POST['articleURL']); echo $articleURL;?> 
    </body> 
    </html> 
    <?php echo ''; file_put_contents("urlDirectory.html", ob_get_contents()); ?> 
    
  • 3)目標HTML '目錄列表' 頁面

    <!DOCTYPE html> 
        <html> 
        <head> 
        <title>urlDirectory</title> 
    
        <style>body{margin-top:20px; margin-left:20px;}</style> 
    
        </head> 
        <body> 
        Sumbitted URL's should be listed here: 
        </body> 
        </html> 
    

    PS:我甚至可能不需要中間php'緩衝'頁面。迄今爲止,我對這類事情的認識是有限的。如果我不需要它,並且可以跳過該頁面來完成我的需求,請告知。

    +0

    你在數據庫中存儲這些值或者你只是想在HTML文件中添加到列表中? – sjdaws

    +0

    沒有sjdaws。不存儲在數據庫中。只是想使用表單提交來生成HTML文件中的列表。 –

    回答

    1

    您可以通過使用PHP編寫文件並使用urlDirectory.html作爲模板來完成此操作。你只需要改變你的PHP文件:

    urlUpload.php

    <?php 
    
    function saveUrl($url, $template, $tag) 
    { 
        // If template is invalid, return 
        if (!file_exists($template)) { 
         return false; 
        } 
    
        // Remove whitespace from URL 
        $url = trim($url); 
    
        // Ignore invalid urls 
        if (!filter_var($url, FILTER_VALIDATE_URL)) { 
         return true; 
        } 
    
        // Read template into array 
        $html = file($template); 
    
        foreach ($html as &$line) { 
         // Look for the tag, we will add our new URL directly before this tag, use 
         // preg_match incase the tag is preceded or followed by some other text 
         if (preg_match("/(.*)?(" . preg_quote($tag, '/') . ")(.*)?/", $line, $matches)) { 
          // Create line for URL 
          $urlLine = '<p>' . htmlspecialchars($_POST['articleURL']) . '</p>' . PHP_EOL; 
    
          // Handle lines that just contain body and lines that have text before body 
          $line = $matches[1] == $tag ? $urlLine . $matches[1] : $matches[1] . $urlLine . $matches[2]; 
    
          // If we have text after body add that too 
          if (isset($matches[3])) { 
           $line .= $matches[3]; 
          } 
    
          // Don't process any more lines 
          break; 
         } 
        } 
    
        // Save file 
        return file_put_contents($template, implode('', $html)); 
    } 
    
    $template = 'urlDirectory.html'; 
    
    $result = saveUrl($_POST['articleURL'], $template, '</body>'); 
    
    // Output to browser 
    echo $result ? file_get_contents($template) : 'Template error'; 
    
    +0

    謝謝sjdaws。我有點困惑,新的PHP應該去哪裏?我在我的問題中開始了3個不同的頁面。在你的例子中...你的例子有多少? –

    +0

    道歉,你的表單很好,我的答案分別代替'urlUpload.php'和'urlDirectory.html'。 – sjdaws

    +0

    好吧,我想我只是困惑,因爲urlUpload文件看起來與現在的變化相同。 –