Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Linkin muuttujan printtaamisongelmia $_GET metodilla, kun muuttuja on "c++"?

marovius [06.06.2005 12:08:09]

#

Tuon kurssitietokannasta index.php sivulla jakson nimen C++ ja haluan näyttää jakson tarkemmat tiedot linkin kautta. Vien jakson nimen linkin kautta, ja C++ näyttää ok:
echo "< a href='nayta_jakso.php?jakso_nimi=$jakso_nimi'>$jakso_nimi</a>";
Ongelmana on sitten seuraavalla nayta_jakso.php sivulla, kun poimin muuttujan $jakso_nimi=$_GET['jakso_nimi'];
echo $jakso_nimi;
ELI tulostaa vain C . Toisin sanoen ei merkkijono ei tulostu oikein. Mitään ongelmia ei esiinny tavallisissa sanoissa esim. autocad, mutta nämä ++ tuottavat päänvaivaa.
Osaatteko sanoa vinkkejä miksi?

Tempfile [06.06.2005 12:19:34]

#

Siitä syystä, että PHP jossain välissä käsittelee nuo plussat operaattoreina. En ole vähään aikaan värkkäilyt kielen kanssa, joten heti ei välähdä mieleen missä tämä tapahtuu. Pari kiertotietä tosin keksii helposti, ensimmäisenä ainakin se, että ilmaisee nuo plussat HTML-entiteetteinä (&_#043; (miinus alaviiva)). Toinen keino on, että kirjoitat nuo "plusplus":ana osoitteessa.

EDIT: Olenpa ollut putkassa jo jonkin aikaa, 400. viesti lähetetty :)

tsuriga [06.06.2005 13:18:19]

#

Laitapa

<?php
$jakso_nimi=urlencode($_GET['jakso_nimi']);

/* JA */
echo '<a href="nayta_jakso.php?jakso_nimi='.$jakso_nimi.'">'.$jakso_nimi.'</a>';
/* TAI */
echo "<a href=\"nayta_jakso.php?jakso_nimi={$jakso_nimi}\">{$jakso_nimi}</a>";
?>

marovius [06.06.2005 13:42:00]

#

Kiitoksia teille Tempfile ja tsuriga! Aloin selvittämään Tempfilen kautta ongelmaa, se ei ratkennut sillä mutta tsuriga kertoi ratkaisevan sanan urlencode. Tämä oli tärkeää, kun tulevassa kurssitietokannassa on juuri näitä C++ jaksoja. KIITOS VIELÄ KERRAN virtuaaliavusta!!!!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta