Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z kodwaniem w polach input
bleeder
post 19.08.2008, 11:51:06
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 30.06.2008

Ostrzeżenie: (0%)
-----


Witam
Mam problem z kodowaniem znaków w php... dokladniej chodzi o to że mam formularz który wysyła dane do bazy danych mysql.
Baz danych ma kodowanie znaków:
jak tworze tabele to wpisuje ->
engine=InnoDB DEFAULT CHARSET=utf8;
Metoda porównywania napisów w mysql: utf8_polish_ci
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)

wszytsko ładnie zapisuje się w bazie i odczytuje na stronie ale problem jest w tym że jak wpisuje tekst polski w pole input i gdy wciskam OK to następuje weryfikacja formularza i jeśli są błędy to odświeża formularz i wpisuje dane wcześniej wpisane w pola input - no i niestety już pole zamist polskich znaków ma krzaki :-( (jak formularz jest oki to wszytskie polskie znaki są wysłane do bazy i tam się dobrze zapisują oraz odczytują gdy je pobieram w php)
Ponieżej kawalek kodu który działa i można przetestować (po wisaniu slowa "aaaaaaaa" i kliknieciu oki wszystko jest dobrze ale gdy już wpiszę "śąćżłóźźź" wyskakują krzaki :-( )

Kod

<?php ob_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<?php

     if ($_SERVER['REQUEST_METHOD'] == 'GET') {

     display_form(array());
} else {

     $errors = validate_form();
     if (count($errors)) {

         display_form($errors);
     } else {
    
     $imie_k=$_POST['imie_k'];
  
       try
    {  

             dodaj_nowego_klienta($imie_k);
         komunikat('Dodano nowego klienta');
    }
    catch (Exception $e)
    {
     blad($e->getMessage());
     exit;
      
    }      
     }
}
function display_form($errors) {    
    
     $defaults['imie_k'] = isset($_POST['imie_k']) ? htmlentities($_POST['imie_k']) : '';

     ?>
     <script><!--
function displayWindow(url, width, height) {        var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=yes,menubar=no' );}
//-->
</script>
         <div id='maincontent'>
         <h1 class='first'></h1>
         <h1>Dodaj klienta do bazy</h1>
         <form method=post action='<?php echo $_SERVER['SCRIPT_NAME'] ?>'>
         <h2>
            <table>
            <tr>
            <td>Imie:<font color=red > * </font></td>
            
              <td valign=top><input type=text name=imie_k value='<?php echo $defaults['imie_k'] ?>'
                              size=30 maxlength=20</td></tr>
            
            <td colspan=2 align=center>
              <input class='button' type=submit value="OK"></td>
         </h2>
          </form>
          
          <p class='last'></p>
         </div><!-- end div maincontent -->

<?php        
}

function print_error($key, $errors) {
     if (isset($errors[$key])) {
         echo "<dd class='error' >{$errors[$key]}</dd>";
        
     }
}

function validate_form() {
     global $flavors;

     $errors = array();
    
    
         if (isset($_POST['imie_k']) && (strlen($_POST['imie_k']) > 3))
          {

                  $errors['imie_k'] = '<font color=red > długa nazwa</font>';
                  
             }
        return $errors;
}
?>
</html>
<?php ob_end_flush(); ?>


Go to the top of the page
+Quote Post
Sedziwoj
post 19.08.2008, 12:54:42
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Może chodzić o kodowanie znaków... ale to nie temat na to pod forum.


--------------------
Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami.
Go to the top of the page
+Quote Post
Cysiaczek
post 19.08.2008, 12:56:12
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Ja tylko formalnie. Widzę, że dyskusja nad poziomem edukacji nie jest bezsensowna, a przynajmniej narzekanie na owy poziom jest zasadne
http://forum.php.pl/Poziom_szkolnictwa_zar...tc_t100547.html
Następnym razem pomyśl, zanim gdzieś otworzysz temat. Przenoszę na PHP


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
bleeder
post 19.08.2008, 13:20:48
Post #4





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 30.06.2008

Ostrzeżenie: (0%)
-----


sorki - nie mam doswidczenia wystawianiu postów i nie zauważyłem gdzie to poszło winksmiley.jpg

co do kodowania to mam w ustawione w pliku php w sekscji head
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
inne polskie znaki które wysietlane są w formularzu html i php są poprawne, i te które sa wysyłane i pobierane z bazy też!
kod pisze w eclipse - tam też mam ustawione kodowanie na utf-8.
nie wiem gdzie jest błąd i proszę o pomoc.
Go to the top of the page
+Quote Post
Kicok
post 19.08.2008, 16:08:46
Post #5





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


htmlentities" title="Zobacz w manualu PHP" target="_manual - trzeci parametr


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
bleeder
post 19.08.2008, 20:16:10
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 30.06.2008

Ostrzeżenie: (0%)
-----


dzięki wielkie!! pomogło :-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 11.08.2025 - 12:57