Laitan lomakkeeseeni tietoa (haku -toiminnolla) seuraavanlaisella php-koodilla:
<form action="<?php print $PHP_SELF?>" method = "POST"> <!--Kentät--> Etunimi: <br/><input type="text" name="etunimi" value=<?php print $rivi[1];?> /> jne. kenttiä<br/> <!--Painikkeet--> <input type="submit" name="lisays" value="Lisää" /> <input type="submit" name="poisto" value="Poista" /> <input type="submit" name="paivitys" value="Päivitä" /> <input type="submit" name="haku" value="Hae" />
Kun lisäsin tuon PHP-koodin lomakkeeseen, se alkoi tuottamaan kenoviivoja tyhjiin ja täysiin kenttiin. Taulukko $rivi tulostuu oikein muualla. Htmlspecialchars() tai muut vastaavat funktiot eivät auta.
Noudata tämän viestin ohjetta.
Muuta myös koodista seuraava kohta:
<!-- huono: --> <input type="text" name="etunimi" value=<?php print $rivi[1];?> /> <!-- hyvä: --> <input type="text" name="etunimi" value="<?php print htmlspecialchars($rivi[1]); ?>" />
ei vaikutusta. Noita input -kenttiä on enemmän. Kahteen ensimmäiseen se ei laita kenoja, muutoin kuin tyhjänä ollessaan. Kaikki kentät tietokannassa on määritelty varcahreiksi.
Mistä taulukon $rivi tiedot ovat peräisin?
Turhat kenoviivat saa yleensä pois funktiolla stripslashes.
Mulla ei ollut nuo valuet lainausmerkeissä, tipahtivat pois, kun lisäsin php -koodia sinne väliin.
stipslahdes -funktio poisti ongelman kenoviivojen kanssa.
Taulukon $rivi tiedot tulevat tietokannasata. Minulla on käytössä xampp palvelin ja MySQLAdminilla voi säätää merkistöjä monin eri tavoin. Merkistöjä säätämällä tuon kenoviivan kait saisi myös pois, mutta säätäminen on sellainen villi viidakko, että en ehdi siihen ryhtyä.
Kiitokset stripslasheista!
Ja hyvää joulua!
Aihe on jo aika vanha, joten et voi enää vastata siihen.