Перейти к содержимому

Фотография

PHPвопросы по PHP


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 411

#281
bcool

bcool
  • Частый гость
  • 66 сообщений

Всем доброго времени суток. У меня Казахские буквы отображаются крокозябриками в phpmyadmin.
У меня Apache 2.2.16, MySQL 5.0.51a, PHP Version 5.2.14, PHPMyAdmin 3.1.3.
Все таблицы в базе данных mysql сохранены в кодировке UTF-8 (utf8_general_ci).
Сами php странички и скрипты тоже сохранены в UTF-8.


А для чего читать текст в пхпадмин? используйте админку сайта)) а так.. могу посоветовать использовать кодировку в пхпмайадмин cp1251 (windows-1251).
  • 0

#282
pyramida

pyramida
  • Читатель
  • 741 сообщений

Всем доброго времени суток. У меня Казахские буквы отображаются крокозябриками в phpmyadmin.
У меня Apache 2.2.16, MySQL 5.0.51a, PHP Version 5.2.14, PHPMyAdmin 3.1.3.
Все таблицы в базе данных mysql сохранены в кодировке UTF-8 (utf8_general_ci).
Сами php странички и скрипты тоже сохранены в UTF-8.


Что делать?

Спасибо

Как что делать? стрелятся :)
При входе на PHPmyadmin укажи язык с кодировкой UTF-8 и в пункте "Сопоставление соединения с MySQL:" укажи UTF-8.
Если не получится в личку скинь емайл я тебе картинку скину.

#283
kai121

kai121
  • Гость
  • 24 сообщений

Как что делать? стрелятся :)
При входе на PHPmyadmin укажи язык с кодировкой UTF-8 и в пункте "Сопоставление соединения с MySQL:" укажи UTF-8.
Если не получится в личку скинь емайл я тебе картинку скину.


Изображение

все равно в phpmyadmin крокозябрики. А если редактировать прямо в phpmyadmin то уже на сайте в браузере вместо нормальных букв вопросики.
Хотя php страницы сохранены в utf8. в чем проблема?
  • 0

#284
pyramida

pyramida
  • Читатель
  • 741 сообщений

все равно в phpmyadmin крокозябрики. А если редактировать прямо в phpmyadmin то уже на сайте в браузере вместо нормальных букв вопросики.
Хотя php страницы сохранены в utf8. в чем проблема?

В эксплорере кодировка не выставлена в utf8. Было что-то подобное давно, но я тогда не разобрался накидал скрипт и им редактировал нужное. если переключить в utf8 эксплорер он может вместо руского текста кракозябры показать, но это не страшно редактируй и сохраняй. не забуть только бекап сделать.

#285
abap

abap
  • Частый гость
  • 65 сообщений
Привет, у нас возникла неординарная задача - необходимость запрета работы с нескольких вкладок юзером. Сделали такую возможность, но только при авторизации на login.php, но это просто обходится тк после первой авторизации можно сразу перейти на страницу proc.php. Как нам сделать чтобы не запускало на proc.php если на другой вкладке эта страница уже открыта? И реально ли это реализовать на PHP, те без javascipts?
  • 0

#286
forspamonly

forspamonly
  • Гость
  • 34 сообщений
стоит подробнее рассказать про эту "неординарную задачу".

если ваш софт не умеет работать в нескольких вкладках, и вы таким образом пытаетесь от этого защититься, то не исключено что вам проще будет его научить. приделать что-нибудь на манер asp.net'овского viewstate, seam'овского conversation или gwt'шного "полнеющего" клиента. наверняка и для пхп есть фреймворки, которые что-нибудь похожее обеспечивают.

плохо то, что у каждого способа навязать состояние протоколу http имеется куча отрицательных эффектов. типа утраты кнопки "назад".

да и обходится большинство из них достаточно просто. вебовские технологии изначально открытые, поэтому мало что может защитить от подготовленного человека.

обойти жабаскрипт вообще не проблема, да и доступа к соседним вкладкам у него всё равно нет. не говоря уже о том, что никто не мешает скопировать сессионную куку и открыть страницу в другом браузере.

можно оставить нормальной страницей только логин, а остальное всё тащить на клиента аяксом. но заниматься этим будет тот же жабаскрипт и обходится это запросто.

можно пытаться ставить метки где попало, например, во флешивом local storage или html5 local storage, всяких gears и прочих websql, если они вдруг есть. но проверять это в любом случае придётся локально на клиенте, поэтому задавить такую проверку тоже легко.

более или менее пристойных результатов можно добиться если при каждом обращении сохранять в серверной сессии случайный токен, передавать его параметром в каждой форме и ссылке, а при приёме сравнивать. при этом надо сохранять маршрут и отслеживать допустимость перехода между страницами, на случай если его подменят руками. такое, кстати, можно и без жабаскрипта организовать.

наиболее секурный вариант, который навскидку придумался - это переписать софт в виде comet-приложения с постоянно висящим соединением, и следить чтобы оно было одно. ну или на каких-нить вебсокетах соединение держать, хотя их в дикой природе почти не встречается...

в общем, обладая достаточно развитой фантазией, придумать можно массу способов различной степени извращённости. поэтому определённо стоит подробнее рассказать про эту "неординарную задачу".
  • 0

#287
abap

abap
  • Частый гость
  • 65 сообщений
В качестве клиента у нас браузеры. Мы хотим только что бы после авторизации пользователь мог работать на сайте только в одной вкладке. Я не очень силен в PHP, но нравится ваш вариант со случайным числом, тк он генерируется и проверяется на стороне сервера, те обмануть его будет труднее чем изменить яваскрипт. Только пока не совсем пойму куда его воткнуть)) Наверное в куку?или записывать его во временный файл на сервере и потом проверить логин, пароль и это случайное число.

Сообщение отредактировал abap: 03.04.2011, 10:56:56

  • 0

#288
forspamonly

forspamonly
  • Гость
  • 34 сообщений
в сессию. в пхп это суперглобал $_SESSION[]
  • 0

#289
caken

caken
  • Читатель
  • 1 609 сообщений
Думаю что так не получится проверять, тк данные в сессии будут доступны и в других вкладках.

#290
Arrim

Arrim
  • Гость
  • 13 сообщений

В качестве клиента у нас браузеры. Мы хотим только что бы после авторизации пользователь мог работать на сайте только в одной вкладке. Я не очень силен в PHP, но нравится ваш вариант со случайным числом, тк он генерируется и проверяется на стороне сервера, те обмануть его будет труднее чем изменить яваскрипт. Только пока не совсем пойму куда его воткнуть)) Наверное в куку?или записывать его во временный файл на сервере и потом проверить логин, пароль и это случайное число.

Простите, а для чего такой геморрой? Вам что жалко лишних вкладок?
Проверку открытых вкладок на стороне сервера вы никак не сделаете, js тоже не позволяет этого.
  • 0

#291
Бауыржан Дастаров

Бауыржан Дастаров
  • Случайный прохожий
  • 3 сообщений
Помогите пожалуйста, чем декодировать Sourceguardian??????
  • 0

#292
kornel

kornel
  • В доску свой
  • 9 069 сообщений

Помогите пожалуйста, чем декодировать Sourceguardian??????

Посмотрите в эту сторону.
  • 0

#293
Бауыржан Дастаров

Бауыржан Дастаров
  • Случайный прохожий
  • 3 сообщений

Помогите пожалуйста, чем декодировать Sourceguardian??????

Посмотрите в эту сторону.


Хотелось бы сделать на бесплатной основе, кстати вот файлы посмотрите пожалуйста...

Прикрепленные файлы

  • Прикрепленный файл  1.zip   235,19К   Количество загрузок: 75

Сообщение отредактировал Бауыржан Дастаров: 05.11.2012, 17:31:30

  • 0

#294
Biterek

Biterek
  • В доску свой
  • 1 712 сообщений
может не много не в тему, прошу помочь В Denwer можно работать через командную строку с MySQL?

Сообщение отредактировал Biterek: 08.11.2012, 17:31:00

  • 0

#295
codev0

codev0
  • Завсегдатай
  • 155 сообщений

может не много не в тему, прошу помочь В Denwer можно работать через командную строку с MySQL?

Кажется это проблемно.
Думаю ubuntu на virtualbox будет самое то.
  • 0

#296
Biterek

Biterek
  • В доску свой
  • 1 712 сообщений

Кажется это проблемно. Думаю ubuntu на virtualbox будет самое то.

Да нет проблем разобрался, в командной строке просто полный путь до mysql.exe -u root
  • 0

#297
Biterek

Biterek
  • В доску свой
  • 1 712 сообщений
помогите
function clearData($data, $type="s"){
switch($type){
case "s":
return mysql_real_escape_string(trim(strip_tags($data)));
case "sf":
return (trim(strip_tags($data)));
case "i":
return (int)$data;

}
}
function selectAll(){
$sql = "SELECT * FROM catalog";
$result = mysql_query($sql) or die(mysql_error());
return db2Array($result);
}
<?php
$goods = selectAll();
foreach($goods as $item){
?>
//ссылка изменить передает id
<tr>
<td><a href="update_form_catalog.php?id=<?=$item["id"]?>">Изменить</a></td>
</tr>
<?php
}
?>
//id доходить до формы изменения, хочу дальше отправляю id на Update скрытым полем
$id = clearData($_GET["id"], "i");
?>
<html>
<head>
<title>Форма добавления товара в каталог</title>
</head>
<body>
<form action="update_catalog.php" method="post">
<p>Автор: <input type="text" name="author" size="50">
<p>Название: <input type="text" name="title" size="100">
<p>Год издания: <input type="text" name="pubyear" size="4">
<p>Цена: <input type="text" name="price" size="6"> руб.
<p><input name="id" type="hidden" value="<?=$id?>">
<p><input type="submit" value="Добавить">
</form>
</body>
</html>
function db2Array($data){
$arr = array();
while($row = mysql_fetch_assoc($data)){
$arr[] = $row;
}
return $arr;
}
//функция обновления

function updateCat(){
$sql = "UPDATE catalog SET author='$a', title='$t', pubyear='$py', price='$pr' WHERE id='$id'";
$result = mysql_query($sql) or die(mysql_error());
}
//прием с формы и Update
$a = clearData($_POST["author"]);
$t = clearData($_POST["title"]);
$py = clearData($_POST["pubyear"], "i");
$pr = clearData($_POST["price"], "i");
$id = clearData($_POST["id"], "i");

//изменения товара в БД
updateCat($a, $t, $py, $pr);

не обновляется....
  • 0

#298
forspamonly

forspamonly
  • Гость
  • 34 сообщений
это же куски разных исходников вперемешку? потому как целиком оно некорректно чисто синтаксически.

ладно, "не обновляется" оно скорее всего потому, что параметры в updateCat передаются, хоть и не все, но не принимаются.

либо добавить
function updateCat($a, $t, $py, $pr, $id){
и передачу $id при вызове.

либо, убрать передачу при вызове и добавить
function updateCat(){
global $a, $t, $py, $pr, $id;
чтобы оно получало данные снаружи без передачи.

вообще, интерпретатор должен ругаться на обращения к неинициализированным переменным. если такие проблемы не очевидны, значит надо настроить в конфиге, чтобы ругань наружу выдавалась.
  • 2

#299
Biterek

Biterek
  • В доску свой
  • 1 712 сообщений

вообще, интерпретатор должен ругаться на обращения к неинициализированным переменным

Спасибо за ответ, но если я вас правильно понял почему он должен ругаться? я же с формы данные принял и назначил их на эти переменные , да это куски с разных исходников
  • 0

#300
Biterek

Biterek
  • В доску свой
  • 1 712 сообщений

либо добавить

Спасибо большое!!! знал что истина где-то рядом :)

Сообщение отредактировал Biterek: 18.11.2012, 22:07:56

  • 0


Количество пользователей, читающих эту тему: 2

пользователей: 0, неизвестных прохожих: 2, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.