Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 26. 7. 2005, 18:23:02
Zdravim vsetkych, pokusam sa robit daco s databazou MySQL a konrektne pouzitim formulara pridat do databazy dake riadky. Problem je v tom ze sa zle koduju slovenske znaky. Som v PHP a tychto veciach uuuplny zaciatocnik.
Pozrel som si par rad kde sa pise nieco o header...blablabla. Suvisi to nejako s tym?? A kde to treba napisat lebo ked to napisem hned za <?php tak mi vypise chybu ze "Warning: Cannot modify header information - headers already sent by (output started at c:\phptest\pridaj_do_herbaru.php:5) in c:\phptest\pridaj_do_herbaru.php on line 6" Kod php-cka: <?php if ($_POST["pressok"]) : do { if (!($_POST["slov"] and $_POST["lat"] and $_POST["slovcel"] and $_POST["latcel"] and $_POST["obrazok"])) { echo "Je potrebné vyplniť všetky položky!"; break; } if (!mysql_connect()) { echo "Nepodarilo sa pripojiť k databáze!"; break; } if (!mysql_select_db("bioweb")) { echo "Databáza \"bioweb\" neexistuje!"; break; } $sql = "INSERT INTO herbar VALUES (\"".$_POST["slov"]."\", \"".$_POST["lat"]."\", \"".$_POST["slovcel"]."\", \"".$_POST["latcel"]."\", \"".$_POST["obrazok"]."\");"; $res = mysql_query($sql); if (!res) { echo "Pri vkladaní položky nastala chyba!"; break; } } while(0); endif; ?> a pokracovanie (formular): Ten myslim ani nie je dolezity ale podstatne je ze nikde nemam v dokumente napisane kodovanie. Ake mam pouzit??? Aky je rozdiel medzi tym iso... a windows-1250 ??? Ovplyvni nastavenie tychto veci aj vystup do databazy??? Dufam ze som sa vyjadril dostatocne jasne a dakujem za pomoc.... PS: Inak pouzivam system WinXP, a programky: Apache 1.33, PHP 5, MySQL 4.1.2 <form action="<?php echo $PHP_SELF ?>" method="post"> <input type="hidden" name="pressok" value="1"> <table> <tr> <td align="right">Slovenský názov:</td> <td><input type="text" name="slov" size="30"></td> </tr> <tr> <td align="right">Odborný názov:</td> <td><input type="text" name="lat" size="30"></td> </tr> <tr> <td align="right">Čeľaď:</td> <td><input type="text" name="slovcel" size="20"></td> </tr> <tr> <td align="right">Familia:</td> <td><input type="text" name="latcel" size="20"></td> </tr> <tr> <td align="right">Obrázok:</td> <td><input type="text" name="obrazok" size="20"> .jpg</td> </tr> </table> <input type="submit" name="ok" value="Vložiť záznam!"> </form> |
||
temistokles Profil |
#2 · Zasláno: 26. 7. 2005, 19:02:16
mal som rovnaky problem a po mnohych neuspesnych pokusoch som si na to vytvoril skript....
function makcene($str) pouzivam to takto: $_POST["nieco"]=makcene($_POST["nieco"]); asi to nie je cisty sposob, ale funguje! (na kodovani windows-1250) |
||
temistokles Profil |
#3 · Zasláno: 26. 7. 2005, 19:03:19
pozeram ze opera tam zobrazuje nejaky otaznik v riadku
$str=str_replace(chr($znak), "�".$znaky[$i].";", $str); je to ampersand a krizik |
||
FantomX1 Profil |
#4 · Zasláno: 26. 7. 2005, 19:06:33
hlavicka urcuje typ dokumentu, hlavicka dokumentu sa da ovplyvnit bud pomocou meta_tagov alebo pomcou PHP, castejsie ovplyvnovanie pisma sa robi pomocou meta znakov,
kodovanie nastavis touto syntaxou <meta http-equiv="content-type" content="text/html; charset=windows-1250" /> das to hore do stranky este predtym nez zapises do stranky akykolvek text ktory ma byt viditelny uzivatelovi cize aj pred title. Aky je rozdiel medzi iso-8859-2 a windows-1250? Rozlisne rozlozenie znakov, na ine pozicie, cize znak je vzdy na bite, v inom poradi v asci tabulke, ale to ta teraz nemusi zaujimat. Je dolezite vediet ze ked vkladas do databazy nejake udaje s urcitym kodovanim tak ich musis aj pri takom istom kodovani vypisovat. Ak teda pridas texty do databazy cez dokument v ktorom mas kodovanie iso tak aj dokument co zobrazuje ten text musi mat kodovanie iso. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0