-1

現在、テキストファイルを使用しており、その内容をリストに書き込んでいます。リストでは、GET パラメーターを使用して、リスト内の選択したリンクの値を受け取るだけです。選択したリンクをクリックすると、リンクの値を書きたいと思います。状況は、リストがまだそこにあり、値がその下に書き込まれているということです。どうすればこれを解決できますか? リストを非表示にして、選択したリンクの名前のみを表示する必要があります。if ステートメントを使用しますが、機能しません。

<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>
4

1 に答える 1

1

リストの作成を開始する前に:

 if(!isset($readin)){

上記の前に次の行を追加します。

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

その後、リストの構築を追加します

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

これにより、パラメーター名が渡されなかったときにリストが表示されなくなります。また、リストの代わりに名前を出力します。私はあなたの英語を理解する前に、あなたの質問を 3 回読みました。幸運を。

于 2013-03-12T18:18:26.133 に答える