2013-03-12 58 views
-1

我目前使用的是文本文件,並將其內容寫入列表中。在列表中,我只使用GET參數來接收列表中所選鏈接的值。當我點擊所選的鏈接時,我想寫出鏈接的值。情況是,名單仍然存在,並且其值寫在它下面。我該如何解決這個問題?我需要列表消失,並只顯示所選鏈接的名稱。我使用if語句,但它不起作用。上述前使用php清理內容

if(!isset($readin)){ 

添加以下行:

<html> 

<head> 
<title>Inlämning3</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<link rel="stylesheet" type="text/css" href="style.css"> 
<script type="text/javascript" src="jQuery.js" > 
</script> 
<script type="text/javascript" src="valideraFilmer.js" > 
</script> 


</head> 

<body> 

<?php 
// Skriva film och info till en textfil 
if(isset ($_POST['name'])){ 
    $name = $_POST['name']; 
    $grade = $_POST['options']; 
    $link = $_POST['link']; 
    $pic = $_POST['pic']; 
    $story = $_POST['story']; 

    $myFile = "filmer.txt"; 
    $handle = fopen($myFile, 'a'); 

    if(!empty($name)){ 
     fwrite($handle, $name. ";"); 
     fwrite($handle, $grade. ";"); 
     fwrite($handle, $link. ";"); 
     fwrite($handle, $pic. ";"); 
     fwrite($handle, $story. "\n"); 
     fclose($handle); 
    } 
} 
?> 

<div id="page"> 
    <?php 
     include("header.php"); 
    ?> 
    <div id="leftbar"> 
     <form id="form" method="post" action="Filmer-PHP.php" > 
      <fieldset> 
       <legend>Lägg till en film:</legend> 
       Titel: 
       <br><input type="text" name="name" id="name"><br> 
       Betyg: 
       <br><select id="options" name="options"> 
        <option value="0">Välj betyg här...</option> 
        <option value="*"> *</option> 
        <option value="**"> **</option> 
        <option value="***"> ***</option> 
        <option value="****"> ****</option> 
        <option value="*****"> *****</option>      
       </select> 
       <br> 
       Länk till imdb: 
       <br><input type="text" name="link" id="link"><br> 
       Länk till bild: 
       <br><input type="text" name="pic" id="pic"><br> 
       Filmens handling: 
       <br><textArea cols="20" rows="3" name="story" id="story"></textarea><br> 
       <br><input type="submit" name="button" value="Spara film" id="button"> 
      </fieldset> 
     </form> 
    </div> 
    <div id="rightbar"> 
     <h2>Filmer</h2> 

     <?php 
     // Läsa av och visa titel och betyg 

      if(!isset($readin)){ 
       $readin = file('filmer.txt'); 
       $ul = '<ul id="films">'; 
       echo $ul; 
       foreach($readin as $fName){ 
        $lineSplit = explode(";", $fName); 
        if(isset($lineSplit[1])){ 
         echo '<li>'.'<a href="Filmer-PHP.php?name=' .$lineSplit[0]. '">'.$lineSplit[0].'<span>'.$lineSplit[1].'</span>'.'</a>'.'</li>'; 
        } 
       } 
      } 
     ?> 

     <?php 
     // Läsa av och visa detaljerad info om filmer 
      if(isset($_GET['name'])){ 
       $name = $_GET['name']; 
       $readin = file('filmer.txt'); 
       foreach($readin as $fName){ 
        $lineSplit = explode(";", $fName); 
        $lineSplit[0] = $name; 
       } 
       echo $lineSplit[0]; 
      } 
     ?> 

    </div> 
     <?php 
      include("footer.php"); 
     ?> 
</div> 

</body> 

</html> 
+1

你的代碼相當乾淨,但是你能否讓你的問題相對於你試圖爲你解決的代碼的某個部分更多一些? 「當我點擊它時,我想寫下名字」你是什麼意思?你想寫在文本框中,你想從選項複製名稱? – Jonast92 2013-03-12 18:12:58

+1

你能更具體嗎?我不明白你的意思是「在列表下寫字」等等。 – Bart 2013-03-12 18:18:31

+1

順便說一下,不要用瑞典語對你的代碼進行評論,而是要用國際語言(比如英語)來記錄你的代碼,以便任何人接管你的系統(不要認爲它不會發生,在這個例子中你需要幫助,瑞典部分對於99%以上的用戶來說不會有太大的幫助)。 – Jonast92 2013-03-12 18:23:28

回答

1

開始創建的列表之前

if(!isset($_GET['name'])) { 

並列出建設之後添加

} else { 
    echo $_GET['name']; 
} 

那將使列表不顯示當參數名稱未被傳遞時。它也將打印名稱而不是列表。 在我理解你的英語之前,我讀了你的問題3次。 祝你好運。

+0

非常感謝,它工作得很好。對不起英文不好,我會盡力在下次更好的解釋。 – DrWooolie 2013-03-12 18:26:49