PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (92): В начало « ... 77 78 79 80 [81] 82 83 84 85 ... » В конец

> Найдено сообщений: 1370
andrewkard Отправлено: 18 Августа, 2015 - 10:27:20 • Тема: Установка защиты на Facemash • Форум: Напишите за меня, пожалуйста

Ответов: 34
Просмотров: 295
Yaroshrostyslav
Пробуйте так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $ip=$_SERVER['REMOTE_ADDR'];
  3. $hash_ip = md5($ip);
  4. $vote = 1; //1=> winner, 2=> looser
  5.  
  6. //Если не голосовали
  7. if (!isset($_COOKIE['hash'])) {
  8.     //Ставим куки на сутки
  9.     setcookie("hash", $hash_ip, time() + 86400);
  10.     //Запоминаем выбор
  11.     $arr_vote[]=$vote;
  12.     setcookie("vote", serialize( $arr_vote ) ,time()*2);
  13.     //Успех
  14.     echo 'Ваш голос учтен';
  15.     exit;
  16. }
  17. //Проверка IP
  18. if ($_COOKIE['hash'] != $hash_ip) {
  19.     echo 'Техническая ошибка';
  20.     exit;
  21. }
  22.  
  23. //Если голосовали
  24. if (isset($_COOKIE['vote'])) {
  25.     //и голос тот же
  26.     $arr_vote = unserialize($_COOKIE['vote']);
  27.         if (in_array($vote,$arr_vote)){
  28.             echo 'Вы уже голосовали за этого игрока';
  29.             exit;
  30.         }
  31. }
  32.  
  33. $arr_vote[]=$vote;
  34. //Ставим куки на сутки
  35. setcookie("hash", $hash_ip, time() + 86400);
  36. //Запоминаем выбор
  37. setcookie("vote", serialize( $arr_vote ), time()*2);
  38. //Успех
  39. echo 'Ваш голос учтен';
  40.  
andrewkard Отправлено: 18 Августа, 2015 - 00:29:43 • Тема: Установка защиты на Facemash • Форум: Напишите за меня, пожалуйста

Ответов: 34
Просмотров: 295
Yaroshrostyslav
Не совсем ясно как у Вас выбор осуществляется, но примерно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $ip=$_SERVER['REMOTE_ADDR'];
  3. $hash_ip = md5($ip);
  4. $vote = 1; //1=> winner, 2=> looser
  5. //Если уже голосовали
  6. if (isset($_COOKIE['hash'])){
  7.         //Если ip совпадает
  8.         if ($_COOKIE['hash'] == $hash_ip){
  9.                 echo 'Вы уже голосовали'
  10.                 exit;
  11.         } else {
  12.                 echo 'Техническая ошибка';
  13.                 exit;          
  14.         }
  15. } else {
  16.         //Ставим куки на сутки
  17.         setcookie("hash", $hash_ip, time() + 86400);
  18.         //Если голос был и он совпадает
  19.         if (isset($_COOKIE['vote']) && $_COOKIE['vote'] == $vote){
  20.                 echo 'Вы уже голосовали за этого игрока'
  21.                 exit;
  22.         }
  23.         //Иначе запоминаем выбор
  24.         setcookie("vote", $vote,time()*2);     
  25. }
  26.  
andrewkard Отправлено: 17 Августа, 2015 - 17:37:54 • Тема: Установка защиты на Facemash • Форум: Напишите за меня, пожалуйста

Ответов: 34
Просмотров: 295
Yaroshrostyslav
Авторизация на сайте есть, или любой может голосовать?
Если человек, который голосует, авторизован, пишите в БД или сессию, id пользователя и время после которого человек может снова голосовать:
PHP:
скопировать код в буфер обмена
  1.  
  2. $_SESSION['user']=$user_id;
  3. $_SESSION['time']=time() + 86400;
  4.  

Проверка:
PHP:
скопировать код в буфер обмена
  1. if ($user_id == $_SESSION['user'] && time() > $_SESSION['time']){
  2.     //засчитываем голос
  3.  
  4.     //ставим новое время
  5.     $_SESSION['time']=time() + 86400;
  6. }


если не авторизован, пишите в куки ip адрес и время:
PHP:
скопировать код в буфер обмена
  1. $ip=$_SERVER['REMOTE_ADDR'];
  2. $hash_ip = md5($ip);
  3. $time_vote = time() + 86400;
  4. setcookie("hash", $hash_ip);
  5. setcookie("time", $time_vote);

Проверка аналогична, только используйте: $_COOKIE["your cookie name"];
Для определения ip можно использовать более сложную функцию, но в любом случае гарантии нет.
andrewkard Отправлено: 17 Августа, 2015 - 10:25:54 • Тема: не приходят данные в ajax запрос • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1810
gin101
Вот рабочий пример:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_GET['p'])){
  4.     echo $_GET['p'];
  5.     exit;
  6. }
  7.  
  8. ?>
  9. <html>
  10. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  11. <script>
  12.     $(function() {
  13.         var page = 1;
  14.         $.ajax({
  15.             url: "/test1.php?" + "p=" + page
  16.         })
  17.             .done(function(data){
  18.             MessagesParse(data)
  19.         });
  20.  
  21.         function MessagesParse(data) {
  22.             alert(data);
  23.         }
  24.     });
  25. </script>
  26. </html>
  27.  
andrewkard Отправлено: 17 Августа, 2015 - 10:11:11 • Тема: не приходят данные в ajax запрос • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1810
gin101
Вы в функцию не передаете данные:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.     $.ajax({
  3.         url: "/dialogue/GetMessages/id'+current_dialogue+'p/'+page"
  4.     })
  5.     .done(function( data ) {
  6.             MessagesParse( data );
  7.     });
  8.  
andrewkard Отправлено: 16 Августа, 2015 - 10:17:36 • Тема: Не работает set_include_path • Форум: Вопросы новичков

Ответов: 6
Просмотров: 370
require выдает ошибку? Значит путь не тот, Вы установили новый путь от корня сайта, попробуйте указать абсолютный путь.
andrewkard Отправлено: 16 Августа, 2015 - 10:14:30 • Тема: Ошибка, помогите исправить • Форум: Вопросы новичков

Ответов: 2
Просмотров: 118
Если не достучитесь, но можно установить проверку, что если $places является массивом, выполнить строку:
theme_print_widgets(reset($places), $style);
иначе, ничего не делаем...
andrewkard Отправлено: 16 Августа, 2015 - 09:49:06 • Тема: Не работает set_include_path • Форум: Вопросы новичков

Ответов: 6
Просмотров: 370
Хенаро
Проверил. Должно так работать, по новому пути есть файл, который хотите подключить?
andrewkard Отправлено: 15 Августа, 2015 - 08:46:58 • Тема: разбор кода • Форум: Вопросы новичков

Ответов: 3
Просмотров: 219
mstan пишет:
/** тут_типичная_абракадабра_для_сжа того_файла **/?

Ищите в файле Улыбка
mstan пишет:
И что это за ,$match)?($match[1]):""

preg_match записывает результаты в массив $match, и это короткая форма IF, т.е.:

andrewkard Отправлено: 14 Августа, 2015 - 18:23:06 • Тема: разбор кода • Форум: Вопросы новичков

Ответов: 3
Просмотров: 219
mstan
Практически верно:
implode("",file($_SERVER["SCRIPT_FILENAME"])) - тут будет строка данных этого же файла;
preg_match ищет по маске "/**rrrrrr**/" где вместо r - любой символ и их может быть много, и если нашла, данные передаются в расшифровщик gzinflate.
И потом будет создана функция без аргументов, но тут не ясно, "};" в теле функции выводит ошибку...
(Добавление)
andrewkard пишет:
данные передаются в расшифровщик gzinflate

Только не первое вхождение, а второе: $match[1].
andrewkard Отправлено: 14 Августа, 2015 - 16:35:29 • Тема: Как вытащить все записи с поля таблицы после символа “/”, начинающиеся с англ. буквы средствами php? • Форум: Вопросы новичков

Ответов: 10
Просмотров: 332
Пробуйте, я тестировал на MySQL- выводит как нужно:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM `data` WHERE LTRIM(SUBSTRING(`title`, INSTR(`title`,'/ ') + 2, 1)) = "S"
  3.  
  4. SELECT SUBSTRING(`title`, 10) FROM `data` WHERE LTRIM(SUBSTRING(`title`, INSTR(`title`,'/ ') + 2, 1)) = "S"
  5.  
  6. SELECT SUBSTRING(`title`, INSTR(`title`,'/ ')+2) FROM `data` WHERE LTRIM(SUBSTRING(`title`, INSTR(`title`,'/ ') + 2, 1)) = "S"
  7.  


и так далее, ищите в чем причина
andrewkard Отправлено: 14 Августа, 2015 - 16:08:04 • Тема: Как вытащить все записи с поля таблицы после символа “/”, начинающиеся с англ. буквы средствами php? • Форум: Вопросы новичков

Ответов: 10
Просмотров: 332
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT SUBSTRING(`title`, INSTR(`title`,'/ ')+2) FROM `data` WHERE LTRIM(SUBSTRING(`title`, INSTR(`title`,'/ ') + 2, 1)) = "S"
  3.  
andrewkard Отправлено: 14 Августа, 2015 - 15:32:54 • Тема: Как вытащить все записи с поля таблицы после символа “/”, начинающиеся с англ. буквы средствами php? • Форум: Вопросы новичков

Ответов: 10
Просмотров: 332
Roman25
Вам же показали, как вычленить в запросе часть строки, делайте по аналогии:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `data` WHERE LTRIM(SUBSTRING(`title`, INSTR(`titlet`,'/ ') + 2, 1)) = "S"
andrewkard Отправлено: 14 Августа, 2015 - 11:33:38 • Тема: Как вытащить все записи с поля таблицы после символа “/”, начинающиеся с англ. буквы средствами php? • Форум: Вопросы новичков

Ответов: 10
Просмотров: 332
Roman25
Берите все записи из базы и потом обрабатывайте.
PHP:
скопировать код в буфер обмена
  1.  
  2. $str='Текст на русском / Some english text';
  3. $pos=strpos($str,' / ');
  4. if ($pos !== false){
  5.     $str=substr($str,$pos+3);
  6. }
  7. echo $str;
  8.  
andrewkard Отправлено: 14 Августа, 2015 - 10:30:26 • Тема: помогите с регуляркой • Форум: Вопросы новичков

Ответов: 1
Просмотров: 123
Можно и без регулярных выражений:
PHP:
скопировать код в буфер обмена
  1.  
  2. $str='есть текст, нужно обрезать его до слова Format: и убрать все символы перевода, конца строки.';
  3. $pos=strpos($str,'Format:');
  4. if ($pos !== false){
  5.     $str=substr($str,0,$pos-1);
  6. }
  7. echo $str;
  8.  

Страниц (92): В начало « ... 77 78 79 80 [81] 82 83 84 85 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB