Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30
Príspevok NapísalOffline : 22.04.2014 15:06

Dobrý deň,
dúfam že som nezaradil tento príspevok do nesprávnej témy, ale mám problém s údajmi v databáze MySQL.

Ide totiž o to, že ak zadám vo svojom formulári (HTML) údaje, uložia sa mi do databázy v tabuľke, ale bez diakritiky, vlastne so zvláštnymi znakmi. Napríklad, ak zadám meno Anežka - v phpMyAdmin sa zobrazí: Anežka. Chyba bude pravdepodobne v skripte PHP, lenže skúšal som všetky možné varianty a nič nefunguje.
Databázu aj tabuľky mám nastavené na kódovanie UTF-8_general_ci

PHP skript:
Kód:
<?php
$con=mysqli_connect("localhost","root","","sxt");
// Pripojenie - kontrola

mysql_query("SET CHARACTER SET 'utf-8'");
mysql_query("SET NAMES utf-8");

if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$meno = $_POST['meno'];
$priezvisko = $_POST['priezvisko'];
...


kódovanie stránky v HTML:
Kód:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


Všade v phpMyAdmin mám nastavené kódovanie na UTF-8 (UTF-8_general_ci)

Ak by mal niekto nápad ako by som to mohol vyriešiť, budem vďačný. Vďaka :)


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 22.04.2014 15:33

A keď to z db vytiahneš a zobrazíš na stránke, tak je to správne? Ak áno, tak je všetko v poriadku. Phpmyadmin to len číta v zlom kódovaní. Aby si to overil, môžeš prehliadaču vnútiť zobrazenie stránky v UTF-8 (phpmyadmin to teraz asi zobrazuje v ISO-8859-1) V chrome to máš hore v možnostiach -> tools -> encoding (nástroje->kódovanie)

Ďalšia možnosť je, že databáza je v poriadku, ale nemáš súbor, kde to zobrazuješ, uložený v kódovaní utf-8. Html tag nestačí, musíš ho aj uložiť ako utf-8. To vie každý normálny editor textu.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30
Príspevok Napísal autor témyOffline : 22.04.2014 15:56

Skúsil som zobraziť údaje z databázy na stránke a ukazuje mi otázniky namiesto znakov s diakritikou. Napr. toto: ���??? Ak po odoslaní údajov z formulára použijem v tom istom PHP skripte výpis odoslaných údajov cez: $_POST['priezvisko']; tak diakritika sa zobrazí správne, ale v databáze phpMyAdmin už nie, ani ked vytvorím stránku pre výpis údajov z databázy. Skúsim ešte raz skontrolovať kodovanie globane v databaze, aj pre tabuľky. Nemyslim ale ze mam v tom chybu, všade mám UTF-8_general_ci


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 22.04.2014 16:12

Pozri sa do phpmyadmin s tým vynuteným kódovaním v prehliadači. Zobrazí to správne? (Malo by podľa toho Anežka. To by znamenalo, že dáta sú tam vporiadku, len sa zle zobrazujú.)

A len hádam, ale mohlo by mať vplyv aj to, že používaš zastaralé funkcie, ktoré sa už dosť dlho používať nemajú a máš nejakú novšiu verziu databáze. Aj keď by to žiadny vplyv mať nemalo, určite používaj radšej mysqli, alebo pdo.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30
Príspevok Napísal autor témyOffline : 22.04.2014 16:42

Mám to nastavené v Mozille cez kodovanie - Unicode a napriek tomu tá istá chyba. Skúsim iné kódovanie, nejako sa s tym pohrať..


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 22.04.2014 17:52

PhpMyAdmin to zobrazí správne, problém sú (ako vždy pri tejto otázke), nesprávne uložené dáta. :)

To "SET NAMES" tam bolo vždy? Ak nie, tak sú niektoré údaje zakódované do UTF-8 dva krát.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30
Príspevok Napísal autor témyOffline : 22.04.2014 21:10

Už to mám, chyba bola v skripte, resp. upravou skriptu mi to už funguje.

Kód:
<?php
$con=mysqli_connect("localhost","root","","sxt");
// Pripojenie - kontrola


mysqli_query("SET NAMES utf8");


if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con, "SET NAMES utf8");

$meno = $_POST['meno'];
$priezvisko = $_POST['priezvisko'];
$adresa = $_POST['adresa'];
$email = $_POST['email'];
$tovar = $_POST['tovar'];
$platba = $_POST['platba'];
$dodanie = $_POST['dodanie'];
$platforma = $_POST['platforma'];
$rezervovat = $_POST['rezervovat'];
$popis = $_POST['popis'];
$podmienky = $_POST['podmienky'];


$sql="INSERT INTO objednavky (meno, priezvisko, adresa, email, tovar, platba, dodanie, platforma, rezervovat, popis)
VALUES ('$meno', '$priezvisko', '$adresa', '$email','$tovar','$platba','$dodanie','$platforma','$rezervovat', '$popis')";

if (!mysqli_query($con,$sql))
{
  die('Chyba: ' . mysqli_error($con));
}
echo "Vaša objednávka bola úspešne odoslaná";

?>


Ten skript:
Kód:
mysqli_query($con, "SET NAMES utf8");

som vložil pod error hlášku


Offline

Správca fóra
Správca fóra
Zlá diakritika v phpMyAdmin

Registrovaný: 08.08.09
Príspevky: 12449
Témy: 39
Príspevok NapísalOffline : 22.04.2014 22:03

Ale fuj, takéto neošetrené vstupy ukladať do databázy!? Zlý nápad! Keď už tam máš mysqli, naštuduj si niečo aspoň o mysqli->bind_param







_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30
Príspevok Napísal autor témyOffline : 24.04.2014 20:58

Už je to zabezpečené proti prázdnemu odoslaniu hodnôt z formulára do DB :D


Offline

Správca fóra
Správca fóra
Zlá diakritika v phpMyAdmin

Registrovaný: 08.08.09
Príspevky: 12449
Témy: 39
Príspevok NapísalOffline : 24.04.2014 22:44

Perfektné, akurát že prázdny formulár je ešte to najmenšie zlo, čo ťa môže pri takomto riskantnom kóde stretnúť.







_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.10.10
Prihlásený: 20.04.15
Príspevky: 65
Témy: 30
Príspevok Napísal autor témyOffline : 25.04.2014 18:10

Bezpečnosť budem študovať po mature ked bbudem mať čas, a ak budem vedieť lepšie programovať :D teraz som len začiatočník, tzv. light programator :) ...teda nie som programator ale rád by som v tom pokračoval do budúcnosti, ak sa bude dariť :) Teraz len skladám už existujúce skripty, stiahnute z netu. Priznám sa :D


Offline

Čestný člen
Čestný člen
Zlá diakritika v phpMyAdmin

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 25.04.2014 22:31

To je nahovno postup, na bezpecnost musis mysliet v prvom rade, existujuci skript sa plata tazsie. Ale vsak to je tvoja vec.


Odpovedať na tému [ Príspevkov: 12 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Zlá diakritika

v Databázy

5

792

09.04.2010 23:37

spoki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zlá diakritika presun hostingu

v Redakčné systémy

2

651

18.11.2008 22:30

Owen Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zla diakritika - nejdu pismena l a t

v Operačné systémy Unix a Linux

9

872

11.08.2007 11:38

javo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. phpMyAdmin

v Databázy

1

809

10.09.2007 13:05

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. phpmyadmin

v Ostatné

1

528

24.03.2009 15:35

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. phpMyAdmin

v Databázy

4

593

29.12.2009 16:21

vputin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. phpMyAdmin - CHYBA

v Databázy

4

518

23.12.2009 18:39

tyr Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problém s phpMyAdmin

v Ostatné

2

554

23.07.2009 11:03

gomra Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako na phpmyadmin?

v PHP, ASP

4

601

12.09.2007 17:15

pitrik1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Phpmyadmin - big problem

v Databázy

2

1760

06.11.2005 18:12

Driv3r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. phpMyAdmin - MySql Eroor

v Databázy

3

355

01.07.2014 21:38

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem s phpMyAdmin

v PHP, ASP

2

737

07.02.2012 18:03

fubu Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zabudnute heslo pre phpMyAdmin

v Ostatné

2

1010

15.10.2009 19:13

dKWt Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Free MySQL hosting + PhpMyAdmin

v Databázy

2

622

01.08.2011 15:35

mitko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. phpMyAdmin pod vlastnym rozhranim

v Databázy

6

681

28.11.2007 10:43

stewee Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako v PhpMyAdmin zablokovat udaj ?

v PHP, ASP

4

446

30.05.2009 16:01

waltherold Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra