Domanda

this is what the link look like:

<a href='?title=rawurlencode($title)'><h3>$title</h3></a>

PHP code:

<?php
  error_reporting(E_ALL ^E_NOTICE);

    $title = $_POST['title'].";";
    $betyg = $_POST['betyg'].";";
    $imdb = $_POST['imdb'].";";
    $bild = $_POST['bild'].";";
    $desc = $_POST['handling'].";";
    $send = $_POST['laggTill'];
    $file = 'filmer.txt';
    $doc = file_get_contents($file);

    if(isset($_POST['laggTill']))
    {
      $f = @fopen ($file,"a");
      $nyFilm = PHP_EOL.$title.$betyg.$imdb.$bild.$desc;
      fwrite($f,$nyFilm);
      fclose($f);
        echo "<h2>Filmer</h2>";
        $lines = explode("\n",$doc);
        foreach ($lines as $newlines)
        {
          list($title,$betyg,$imdb,$bild,$desc) = explode(";",$newlines);
          echo "
            <div class='thumbNail'><a href='?title=rawurlencode($title)'><h3>$title</h3></a><img class='cover' src='$bild' alt='$title'
            title='$title'/><br><span class='rating'>";?>
          <?php
          for($i = 0; $i<$betyg; $i++)
          {
            echo "<img src='./star.png' alt=''/>";
          }?>
          <?php echo"</span></div>";
        }
    }
    else
    {
      if(isset($_GET['title']))
      {
        $searchfor = $_GET['title'];
        $pattern = preg_quote($searchfor, '/');
        $pattern = "/^.*$pattern.*\$/m";
        if(preg_match_all($pattern, $doc, $matches))
        {
          $movie = implode ("\n",$matches[0]);
          list($title,$betyg,$imdb,$bild,$desc) = explode(";",$movie);
          echo "
            <div class='info'>
            <a class='imdb' href='$imdb' target='_blank'><img src='./imdb.png' alt=''/></a>
            <img class='cover' src='$bild' alt='$title' title='$title'/><br>
            <span class='rating'>
          ";?>
          <?php
          for($i = 0; $i<$betyg; $i++)
          {
            echo "<img src='./star.png' alt=''/>";
          }?>
          <?php echo"</span></div>
            <div id='desc'>
            <h2>$title</h2>
            <p class='desc'>$desc</p>
            </div>";
        }
        else
        {
          echo "No matches found";
        }
      }
      else
      {
        echo "<h2>Filmer</h2>";
        $lines = explode("\n",$doc);
        foreach ($lines as $newlines)
        {
          list($title,$betyg,$imdb,$bild,$desc) = explode(";",$newlines);
          echo "
            <div class='thumbNail'><a href='?title=$title'><h3>
            $title</h3></a><img class='cover' src='$bild' alt='$title'
            title='$title'/><br><span class='rating'>";?>
          <?php
          for($i = 0; $i<$betyg; $i++)
          {
            echo "<img src='./star.png' alt=''/>";
          }?>
          <?php echo"</span></div>";
        }
      }
    }
?>

HTML code:

<!doctype html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <link rel="stylesheet" href="css/style.css" type="text/css"/>
    <link rel="stylesheet" href="css/films.css" type="text/css"/>
    <title>Film PHP</title>
</head>
  <body>

    <div id="content">

      <header id="header">
        <h1 id="title">Min Filmsamling</h1>
        <nav id="menyBar">
          <?php include_once('pages/navigeringBar.php'); ?>
        </nav>
      </header>
      <section id="filmer">
          <form action="nyFilm.php" method="post" id="nyFilm">
        <div id="info"></div>
        <fieldset>
        <legend><h4>Lägg till ny film </h4></legend>
        <label for="title">Titel:</label><br/>
        <input type="text" class="text" name="title" id="movieTitle"/><br/>
        <label for="betyg">Betyg:</label><br/>
        <select name="betyg" id="betyg"><br/>
          <option value="0">Välj betyg här:</option>
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
        </select><br/>
        <label for="imdb">Länk till imdb:</label><br/>
        <input type="text" class="text" name="imdb" id="imdb"/><br/>
        <label for="bild">Länk till bild:</label><br/>
        <input type="text" class="text" name="bild" id="bild"/><br/>
        <label for="handling">Filmens handling:</label><br/>
        <textarea name="handling" class="text" id="handling"></textarea><br/>
        <input type="submit" class="buttons" value="Lägg till film" name="laggTill" id="laggTill"/>
      </fieldset>
      </form>
          <div id="movie">
            <?php include_once('nyFilm.php');?>
          <div class="clear"/>
        </div>
      </section>
    </div>
  <!--scripts-->
  <script type="text/javascript" src="js/jquery.min.1.10.2.js"></script>
  <script type="text/javascript" src="js/nyfilm.js"></script>
  </body>    

and this is the text file:

Public Enemie;5;http://www.imdb.com/title/tt1152836/;http://ia.media-imdb.com/images/M/MV5BMjA3NDI0NzM2MV5BMl5BanBnXkFtZTcwODk5MTk2Mg@@._V1_SX214_.jpg;Historien utspelar sig under brottsvågens år 1933-34 när gangsterlegenderna John Dillinger, Baby Face Nelson och Pretty Boy Floyd härjade fritt i USA. Regeringen försök att stoppa dem ledde till att J. Edgar Hoover tillsatte Melvin Purvis för att leda den ökända jakten på Dillinger som förvandlade FBI till landets första federala poliskår.;
Gangster Squad;3;http://www.imdb.com/title/tt1321870/;http://ia.media-imdb.com/images/M/MV5BMTcwMjAyMTUzMl5BMl5BanBnXkFtZTcwODgxNzk1OA@@._V1_SY317_CR0,0,214,317_.jpg;Mot slutet av 1940-talet kontrolleras Los Angeles helt av maffialedaren Mickey Cohen. För att förgöra Cohens imperium tillsätts en hemlig styrka inom LAPD ledd av Sgt. John O'Mara och Jerry Wooters som måste ta till alla metoder för att befria staden från en av de farligaste maffiorna genom tiderna.;
The Tourist;5;http://www.imdb.com/title/tt1243957/;http://ia.media-imdb.com/images/M/MV5BMTMyMzc3OTkwMV5BMl5BanBnXkFtZTcwMjc0MTgwNA@@._V1_SX214_.jpg;Under en improviserad resa till Europa för att laga ett brustet hjärta snubblar Frank oväntat in i ett flirtigt möte med Elise, en extraordinär kvinna som medvetet har korsat hans väg. Med det hisnande vackra Venedig som bakgrund utvecklas deras romans snabbt och omedvetet och snart befinner de sig i en dödligt katt och råtta-lek.;
The Hunger Games;5;http://www.imdb.com/title/tt1392170/;http://ia.media-imdb.com/images/M/MV5BMjA4NDg3NzYxMF5BMl5BanBnXkFtZTcwNTgyNzkyNw@@._V1_SX214_.jpg;Varje år direktsänds Hunger Games som en av de största mediala händelserna. Från varje distrikt lottas två ungdomar mellan tolv och arton ut att delta i tävlingen. De skickas omedelbart till huvudstaden där de ska stylas, tränas och visas upp i direktsända intervjuer, för att sedan delta i spelet där bara en vinner – den som överlever. Katniss Everdeen är sexton år. Hon älskar sin lillasyster Prim över allt annat, och försöker skydda henne från allt hemskt i distrikt tolv, men mot Hungergames har hon inget skydd. När det är Prims namn som dras i lottningen ser Katniss ingen annan utväg än att själv ta Prims plats i spelen. Baserad på romanen "The Hunger Games" av Suzanne Collins från år 2008.;
The Avenger;3;http://www.imdb.com/title/tt0848228/;http://ia.media-imdb.com/images/M/MV5BMTk2NTI1MTU4N15BMl5BanBnXkFtZTcwODg0OTY0Nw@@._V1_SY317_CR0,0,214,317_.jpg;En brokig skara individer med superkrafter samlas ihop av den hemliga organisationen S.H.I.E.L.D. för att skydda planeten mot invaderande styrkor från yttre rymden. Tillsammans bildar de motvilliga superhjältarna gruppen The Avengers.;

With rawurlencode it should look something like this:

Public%20Enemie

But it still looks like this: Public Enemie

Any idea how to fix this?

È stato utile?

Soluzione

That's not valid syntax by any stretch of the imagination.

If this is some sort of template file, you need to do something like:

<a href='?title=<?php echo rawurlencode($title) ?>'><h3><?php echo $title ?></h3></a>

If you're outputting this directly via PHP, the line is probably actually like:

echo "<a href='?title=rawurlencode($title)'><h3>$title</h3></a>";

in which case it needs to become:

echo "<a href='?title=" . rawurlencode($title) . "'><h3>$title</h3></a>";
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top