ugrás a tartalomhoz

$_POST és $_REQUEST

Nyiri · 2010. Jan. 21. (Cs), 13.19
Hali!

Van egy hülye hibám. php, mysql. El akarok menteni valamit adazbázisba egy formon keresztül. Természetesen be van lőve minden rendesen UTF-8-ra (header, content, stb..)

form postra van állítva és mikor megérkezik a request és kiszedem a $_POST tömbből a változkat akkor az ékezetes karakterek szarok. Nem is kicsit! És így mentődik el az adatbázisban is. De ha nem a $_POST tömbből veszem ki hanem a $_REQUEST-ből akkor minden ékezet zsír és jól is mentődik a DB-be. Mi lehet a gond?

Másik problémám az hogy 5ből 1x hibásak az oldalon a karakterek. Nagyon random módon. Végigolvastam minden fórumot, utf-8ba mentem a php fájlokat (BOM nélkül). Content, header, charset minden UTF-8-n van. Rendszergazdával dumáltam és azt mondta náluk minden rendben.

Ötlet?
 
1

a Myql táblában milyen a

csman007 · 2010. Jan. 21. (Cs), 20.51
a Myql táblában milyen a karekterkódolás (illesztés)?
2

UTF8

Nyiri · 2010. Jan. 22. (P), 01.06
utf8_general_ci

De már a mysqlhez is hibásan érkezik az adat.
3

Forrás

gabesz666 · 2010. Jan. 22. (P), 01.18
Tudsz valami forrást mutatni?
4

Hali

Bagira85 · 2010. Jan. 24. (V), 08.36
Nem tudom pontosan, mi a különbség a post és a request között, de én a weboldalamon ugyanezt csinálom, és nekem post-al jó. Annyi, hogy az űrlap karakterkódolása

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
helyett ez:
<meta http-equiv="Content-Language" content="hu">.

Magyar karakterkészlet. Ha ez segít valamit... sok sikert!
5

MySQL connection charset

deadcode · 2010. Jan. 27. (Sze), 15.34
Próbáld meg úgy, hogy a MySQL connect után rögtön kiadod ezt a két queryt egymás után, mielőtt még lekérdeznél vagy mentenél valamit a DB-be:

set character set utf8

set names utf8

Hiába van az adatbázisban utf8-ként mentve az adat, ha a kapcsolat más charsetet használ.
6

sql vagy nem

h31st · 2010. Feb. 5. (P), 15.26
szerintem nyirinek az a baja, hogy már php szinten más értéket kap $_REQUEST -ből, mint $_POST -ból? ami amúgy meglepő lenne
8

különbség

breakline · 2010. Feb. 5. (P), 20.08
Szóval lényegében a $_REQUEST-ben benne vannak a $_GET változók is, és a $_POST változók is, méghozzá ha azonos néven vannak a POST felülírja a GET változókat.

<?php
print_r($_REQUEST);
print_r($_GET);
print_r($_POST);
//A text mezőbe "ezpostbol" volt:
//Array ( [valami] => ezpostbol ) Array ( [valami] => ezgetbol ) Array ( [valami] => ezpostbol ) 
?>
<html>
<body>
<form method="post" action="?valami=ezgetbol">
<input type="text" name="valami" value="" />
<input type="submit" />
</form>
</body>
</html>

Azt viszont nem tudom ez mennyiben érinti az eredeti problémát, csak gondoltam leírom.
7

headert

errata · 2010. Feb. 5. (P), 15.36
headert beálítottad?

header("Content-Type: text/html; charset=UTF-8");
amúgy nem írtad hogy saját progi vagy framework...
lehet valami végig megy a $_post-n valami biztonsági lépésként?
9

programozás

csman007 · 2010. Feb. 6. (Szo), 01.00
csak úgy kiváncsíságból miben programozol? netbeans, vagy zend studio, notepad++ dreanwevaer stb stb