[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка введеных данных в форме+вопрос про mysql
zhorkin
добрый день.
хочется узнать, методом POST, юзеры на сайте
вводят 5 полей, нажимают "Далее", и тут нужно проверить
1) Если поле пустое, напишим что именно забыли указать
2) Если в форме больше 100 букв цифр напишим это

и второй вопрос.

на сайте кодировка windows-1251
в мускуле ставлю cp1251, сравнения cp1251_bin
таблица сделана так

CREATE TABLE IF NOT EXISTS `questions` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`question0` varchar(100) COLLATE cp1251_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin AUTO_INCREMENT=1 ;

когда в форму вбивают русские буквы в базе они - ????????? вот так выглядят, подскажите пожалуйста где ошибка.

новичок, только учюсь, не ругайте слишком)



Спустя 8 минут, 13 секунд (1.09.2011 - 18:25) inpost написал(а):
Кодировки: лучше UTF-8, перепиши всё в новой кодировке. Вот описание: http://phpforum.ru/index.php?showtopic=27289 , надо её ввести в: файле пхп: header(), потом внутри html в <head><meta кодировка>, потом в .htaccess, потом в БД, и так же при установке соединения с БД так же указать кодировку. Тогда проблем никогда не будет.

1) Проверку через if(isset($_POST['text']) && empty($_POST['text'])) - если ты отправляешь данные, но они пустые!
2) mb_strlen - длина строки в кодировке UTF-8,

Спустя 12 минут, 8 секунд (1.09.2011 - 18:37) zhorkin написал(а):
хочется 1251, мб дадите совет


немного не понял про проверку, приведите пожалуйста простейший пример

Спустя 16 минут, 57 секунд (1.09.2011 - 18:54) inpost написал(а):
всмысле? Аргументируй причину твоего желания использовать 1251, вместо рекомендованного профессионалами ЮТФ?
Что непонятно по поводу проверки? Вот банальная проверка:
if(условие)
действие в случае удачи
else
действие в случае не удачи

У тебя условие на проверку заполнения, то есть НЕ ПУСТАЯ, !empty. Более подробно о функциях на сайтах: php.su, php.net и в учебниках.

Спустя 26 минут, 8 секунд (1.09.2011 - 19:20) zhorkin написал(а):
значит благодаря вам и гуглу решил 2 из 3ех проблем

1) ограничение вводимых символов в форму сделал так maxlength="100"
2) проверить чтобы все 5 из 5 форм были заполнены сделал так
 if (empty($NOMER_1) || empty($NOMER_2) || empty($NOMER_3) || empty($NOMER_4) || empty($NOMER_5))
{
echo "заполни все 5 из 5 пунктов";
}
else
{
// пишим результаты в мускль
}


попрошу проверить, правльно ли я реализовал свои потребности


3) осталась только проблема в бд.. незнаю прописал utf8 в мета коде потом прописал в хттаксес.
зашел на свой же сайт, там иерогливы

Спустя 4 минуты, 4 секунды (1.09.2011 - 19:24) inpost написал(а):
1. нет, я для кого давал функцию mb_strlen ?
3. Сначала прописывается кодировка, а потом запускается файл.
Покажи, как ты прописал кодировки, особенно через заголовок: header();

Спустя 2 минуты, 52 секунды (1.09.2011 - 19:27) zhorkin написал(а):
<head> 
<link
rel="stylesheet" type="text/css" href="style.css" type="text/css" />

<title>
тест</title>
<style
type="text/css">
BODY {
background-image: url('images/bg.jpg');
}

header("Content-Type: text/html; charset=utf-8");

</style>

Спустя 44 минуты, 37 секунд (1.09.2011 - 20:12) inpost написал(а):
zhorkin
в самом начале скрипта напиши: error_reporting(E_ALL);
и увидишь все свои ошибки в скрипте. Ошибка №1, нельзя отправлять заголовок ПОСЛЕ любого вывода текста на экран, то есть заголовок кодировки сначала передаётся, а уже потом всё остальное.
К тому же header("Content-Type: text/html; charset=utf-8"); - это PHP код, а разве для PHP не надо какие-то специальные теги в начале и в конце писать, чтобы выделить, что этот участок является пхп кодом?

Спустя 51 минута, 8 секунд (1.09.2011 - 21:03) zhorkin написал(а):
да ет я уже понял всеравно не прокатило
в жопу этот утф8 в самую большую огромную жопу, благодаря этому ютф тупо запорол index.php, думал проблема может быть в том что файл сохранил не в той кодировке, перекодировал пару раз в разные кодировки и все теперь весь текст\код испорчен, пошел писать заного 154 строки...

кп1251, как его настроить чтобы в базе норм отображался ?

Спустя 9 минут, 30 секунд (1.09.2011 - 21:12) inpost написал(а):
zhorkin
Потому что есть такая банальная вещь, как буква Б в одировке 1251 = код№122, а в кодировке ютф = код№231. (примерно), поэтому просто буквы надо нормально заново перенабрать и сохранить в кодировке, либо банально в DreamWeaver перегрузить кодировку, тогда весь текст меняется на кодировку скрипта.
Если руки кривые, то кодировка тут не при чём, давай я скажу: в жопу zhorkin, он на столько туп, что не может банально перевести текст из одной кодировки в другую, в жопу его! Как ты на это смотришь?

Спустя 1 минута, 39 секунд (1.09.2011 - 21:14) inpost написал(а):
Я тебе говорю, что надо сделать - а ты опять о своём. Если не нужна помощь, что ты тут ждёшь? Я дал и ссылки, и объяснил, что надо добавить в скрипт, чтобы видеть ошибки, как исправить твои ошибки. А так же сказал, чтобы ты показал скрипт, в ответ ты о своём.

Спустя 16 минут, 38 секунд (1.09.2011 - 21:31) zhorkin написал(а):
сделал сам в cp1251

нельзя было просто посоветовать

перед

mysql_query("INSERT INTO бла бла бла

поставить 2 строчки

mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");


нет блин иди мудись с эти ютф 8


нафига мне ютф8 когда для моих целей чтобы забивались в базу руские слова, подходит 1251

Спустя 4 минуты, 24 секунды (1.09.2011 - 21:35) inpost написал(а):
Читай внимательнее: "лучше UTF-8", это не значит, что надо делать обязательно.
Следующее предложение: Вот описание: http://phpforum.ru/index.php?showtopic=27289 , открываешь ссылку, и там как раз есть про mysql_query("SET NAMES 'cp1251'");. Если прочитаешь третье моё предложение, то там есть такая фраза: "при установке соединения с БД так же указать кодировку.". Как раз это всё я сказал в первом комменте, так что заявление: "нельзя было просто посоветовать" - ПУСТОЕ!

Зачем тебе ЮТФ? Ну потому что к нам на форум люди приходят обычно учиться правильно программировать после того, как им недо-преподы, либо всякие видео-курсы Попова расскажут об абсурдных вещах. Поэтому и даём советы, как научиться профессионально программировать. Если бы ставили цель "выполнить проекты", то ты бы уже должен был мне денег smile.gif

Спустя 4 минуты, 43 секунды (1.09.2011 - 21:40) zhorkin написал(а):
я в начале указал что я новичек, и попросил конкретное решение с кп1251

незнаю, помоему если я не научюсь элементарно настроить 1251, к более сложному ютф8 переходить нету смысла

 ! 

М
Неуважительное общение с людьми. Предупреждение, учись нормально общаться, это тебе не школа и не дворы за гаражами. На нашем форуме люди по 40-50 лет есть, ты к ним тоже будешь в таком тоне писать?
inpost

Спустя 57 секунд (1.09.2011 - 21:41) zhorkin написал(а):
тему можно закрыть, тебе конечно спасибо что помог, но блин нада с уважением относиться к "малышам" в програмирование
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.