PHP.SU

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

Страниц (2): [1] 2 »

> Найдено сообщений: 27
Neirol Отправлено: 30 Июля, 2009 - 13:17:39 • Тема: Голосовалка • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 64
Предоставь то, что у тебя есть, что пробовал и что не получается.
Neirol Отправлено: 30 Июля, 2009 - 13:16:34 • Тема: Помогите с обработкой массива • Форум: Напишите за меня, пожалуйста

Ответов: 4
Просмотров: 67
Это не в коем случае не массив!!
У массива элементы указываются в квадратных скобках и в кавычках (если массив ассоциативный).

Т.е. $name[0] $email[0]

А чтобы пройтись делаешь цикл:

for($i=0; $i<count($name); $i++) {
print $name[$i]." ".$email[$i];
}
Neirol Отправлено: 30 Июля, 2009 - 13:11:17 • Тема: если условие выполняется то редирект • Форум: Программирование на PHP

Ответов: 26
Просмотров: 2697
Нужно выводить их, а не просто писать в кавычках.
Т.е. print "<meta и т.д.
Neirol Отправлено: 30 Июля, 2009 - 12:51:48 • Тема: кириллица при использовании GD • Форум: Программирование на PHP

Ответов: 2
Просмотров: 1381
Мне не помогло не смена шрифта, и вообще ничего из этого рода.
Помогла лишь одна функция, через которую надо прогонять любое русскоязычное сообщение, т.е. строку.
Поищи в интернете.
Neirol Отправлено: 30 Июля, 2009 - 12:48:28 • Тема: если условие выполняется то редирект • Форум: Программирование на PHP

Ответов: 26
Просмотров: 2697
Я так понял, ты не знаешь как сделать редирект?
Если правильно я тебя понял, то редирект можно сделать с помощью html и javascript
HTML:
<meta http-equiv='refresh' content='{1}; URL={2}'>
Вместо {1} пиши время в секундах, а вместо {2} адрес.
JavaScript:
<script type="text/javascript" language="javascript">
document.href.location = "{1}";
</script>
Вместо {1} пиши адрес.

Кстати, у тебя ошибка в скрипте.
isset возвращает булевое значение, поэтому == '' не нужно.
Neirol Отправлено: 30 Июля, 2009 - 12:45:09 • Тема: Столбцы по 5 строк • Форум: Программирование на PHP

Ответов: 16
Просмотров: 1049
Все очень просто. Рассказываю.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $array = array(1,2,3,4,5,6,7,8,9,10);
  4.  
  5. print "<table><tr>";
  6.  
  7. for($i = 0, $b = 0; $i<=(count($array)-1); $i++) {
  8.  
  9.     print "<td>".$array[$i]."</td>";
  10.     if($b == 4 && $i < (count($array)-1)) { $b = 0; print "</tr><tr>";
  11.     if($i == (count($array)-1)) print "</tr>";
  12.  
  13. }
  14.  
  15. print "</table>";
  16.  
  17. ?>


Мы создали массив, с 10 элементами.
Далее вывели <table><tr>
А далее в цикле for, объявили две переменные $i (указатель для массива), $b (счетчик для открытия/закрытия tr). Этот цикл будет действовать пока $i не будет равняться последнему элементу массива (count($array)-1).
В цикле выводиться сам элемент в td
Далее идет проверка, если $b равняется 4 (т.е. уже вывелось 5 строк), то мы закрываем tr и открываем новый. Но, закрыватся и открыватся новый tr не должен, если мы вывели последний элемент, поэтому так же добавляем проверку того, что $i меньше последнего элемента.
Далее делаем проверку для того, чтобы закрыть </tr> если выведены все элементы.
Если i равняется последнему элементу - закрываем tr.
После цикла закрываем table.
Neirol Отправлено: 30 Июля, 2009 - 12:32:39 • Тема: cURL и ВКонтакте • Форум: Программирование на PHP

Ответов: 3
Просмотров: 1200
Security error 3
Выдает вконтакте при попытке отправить сообщение через скрипт.

Вот класс:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. class Vkontakte {
  4.  
  5.         private $cookie;
  6.         private $curl_handle;
  7.         private $exec_handle;
  8.        
  9.         public $user_id;
  10.        
  11.         function __construct($email, $password) {      
  12.                 $this->curl_handle = curl_init("http://vkontakte.ru/login.php");
  13.                        
  14.                 curl_setopt($this->curl_handle, CURLOPT_RETURNTRANSFER, 1);
  15.                 curl_setopt($this->curl_handle, CURLOPT_HEADER, 1);
  16.                 curl_setopt($this->curl_handle, CURLOPT_COOKIE, "");
  17.                 curl_setopt($this->curl_handle, CURLOPT_FOLLOWLOCATION, 0);
  18.                 curl_setopt($this->curl_handle, CURLOPT_USERAGENT, "Opera/9.25 (Windows NT 6.0; U; ru)");
  19.                 curl_setopt($this->curl_handle, CURLOPT_POST, 1);
  20.                 curl_setopt($this->curl_handle, CURLOPT_POSTFIELDS, "op=a_login_attempt&email=".urlencode($email)."&pass=".$password);
  21.                
  22.                 $this->exec_handle = curl_exec($this->curl_handle);
  23.                
  24.                 curl_close($this->curl_handle);
  25.                 preg_match_all("#Set-Cookie:\s([\S]+?);#i", $this->exec_handle, $gets);
  26.  
  27.                 $cookies = join(";", $gets[1]);
  28.                
  29.                 $this->user_id = explode(";", $cookies);
  30.                 $this->user_id = explode("=", $this->user_id[2]);
  31.                 $this->user_id = $this->user_id[1];
  32.  
  33.                 if (!stripos($cookies, "remixpass=")) die("Пользователь не авторизован!");
  34.                
  35.                 $this->cookie = "remixmid=".$this->user_id."; remixemail=".$email."; remixpass=".md5($password)."; remixlang=3";
  36.         }
  37.        
  38.         function getPageContent($relativeURL, $header = "0") {
  39.                 $url = "http://vkontakte.ru/".$relativeURL;
  40.                 $this->curl_handle = curl_init();
  41.  
  42.                 curl_setopt($this->curl_handle, CURLOPT_URL, $url);
  43.                 curl_setopt($this->curl_handle, CURLOPT_RETURNTRANSFER, 1);
  44.                 curl_setopt($this->curl_handle, CURLOPT_TIMEOUT, 30);
  45.                 curl_setopt($this->curl_handle, CURLOPT_GET, 1);
  46.                 curl_setopt($this->curl_handle, CURLOPT_HEADER, $header);
  47.                 curl_setopt($this->curl_handle, CURLOPT_COOKIE, $this->cookie);
  48.  
  49.                 $this->exec_handle = curl_exec($this->curl_handle);
  50.  
  51.                 curl_close($this->curl_handle);
  52.                 return $this->exec_handle;
  53.         }
  54.        
  55.         function sendLetter($letter, $uid) {           
  56.                 $url = "http://vkontakte.ru/mail.php?act=write&to=".$uid;
  57.                
  58.                 $secure_data = $this->getPageContent("mail.php?act=write&to=".$uid);
  59.                
  60.                 print $secure_data;
  61.                
  62.                 $secure_val = preg_match('|name="secure" value="(.*)"|i', $secure_data);
  63.                 $chas_val = preg_match('|name="chas" value="(.*)"|i', $secure_data);
  64.                 $photo_val = preg_match('|name="photo" value="(.*)"|i', $secure_data);
  65.                
  66.                 $this->curl_handle = curl_init();
  67.                
  68.                 curl_setopt($this->curl_handle, CURLOPT_HEADER, 1);
  69.                 curl_setopt($this->curl_handle, CURLOPT_NOBODY, 0);
  70.                 curl_setopt($this->curl_handle, CURLOPT_URL, $url);
  71.                 curl_setopt($this->curl_handle, CURLOPT_TIMEOUT, 30);
  72.                 curl_setopt($this->curl_handle, CURLOPT_RETURNTRANSFER, 1);
  73.                 curl_setopt($this->curl_handle, CURLOPT_FOLLOWLOCATION, 0);
  74.                 curl_setopt($this->curl_handle, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
  75.                 curl_setopt($this->curl_handle, CURLOPT_COOKIE, $this->cookie);
  76.                 curl_setopt($this->curl_handle, CURLOPT_POST, 1);
  77.                 curl_setopt($this->curl_handle, CURLOPT_POSTFIELDS, "title='Тест'&message=".$letter."&secure=".$secure_val."&chas=".$chas_val."&photo=".$photo_val."&to_id=".$uid."&to_reply=0&act=sent");
  78.                
  79.                 $this->exec_handle  = curl_exec($this->curl_handle);
  80.                
  81.                 curl_close($this->curl_handle);
  82.                 return $this->exec_handle;
  83.         }
  84.  
  85. }
  86.  
  87. ?>


А вот как я им пользуюсь:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. require_once "curl.class.php";
  4.  
  5. $user = new Vkontakte("", "");
  6.  
  7. print $user->sendLetter("Тестовое сообщение", 17313857);
  8.  
  9. ?>


Помогите пожалуйста!
Neirol Отправлено: 28 Июля, 2009 - 13:11:16 • Тема: cURL и ВКонтакте • Форум: Программирование на PHP

Ответов: 3
Просмотров: 1200
Действительно проще и работает! Спасибо огромное.
Сейчас попробую осуществить тоже самое, только без ID.
(Добавление)
Хотя в принципе это и не нужно.
Мой первый вариант работает без ID, и в нем достаточно того, что он определяет авторизован я или нет.
(Добавление)
Сделал все-таки класс, который требует только E-Mail и Пароль. Когда он конструктируется идет проверка, авторизован юзер или нет, если нет, то die.
И единственная его функция выводит содержимое страницы по относительному адресу, причем можно выбрать выводить ли шапку или нет.
Выкладывать я такое добро, естественно не буду =)
Neirol Отправлено: 27 Июля, 2009 - 15:55:10 • Тема: Рушется кодировка на сайте... • Форум: Программирование на PHP

Ответов: 8
Просмотров: 420
В принципе и в обычном Notepad можно было бы при сохранении указать правильную кодировку.
Neirol Отправлено: 27 Июля, 2009 - 15:51:55 • Тема: Подключение блокоооооооооов!! • Форум: Программирование на PHP

Ответов: 4
Просмотров: 308
За этими блоками стоят шаблонизаторы.
У smarty например блок вида {$variable}
У некоторых {variable}
Neirol Отправлено: 27 Июля, 2009 - 15:49:42 • Тема: cURL и ВКонтакте • Форум: Программирование на PHP

Ответов: 3
Просмотров: 1200
Хочу получить исходник своей страницы вконтакте посредством PHP.
Использую cURL, вот, что есть:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $email = 'someEmail';
  4. $password = 'somePass';
  5.  
  6. header('Content-type:text/html; Charset=cp1251');
  7.  
  8.  
  9. function curl($get, $post = 0, $cookies = '', $head = 1) {
  10.   $cl = curl_init($get);
  11.   curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
  12.   curl_setopt($cl, CURLOPT_HEADER, $head);
  13.   curl_setopt($cl, CURLOPT_COOKIE, $cookies);
  14.   curl_setopt($cl, CURLOPT_FOLLOWLOCATION, 0);
  15.   curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 6.0; U; ru)');
  16.  
  17.   if ($post) {
  18.       curl_setopt($cl, CURLOPT_POST, 1);
  19.       curl_setopt($cl, CURLOPT_POSTFIELDS, $post);
  20.   }
  21.  
  22.   $line = curl_exec($cl);
  23.   curl_close($cl);
  24.   return $line;
  25. }
  26.  
  27. $login = curl('http://vkontakte.ru/login.php', 'op=a_login_attempt&email=' . urlencode($email) . '&pass=' . $password);
  28.  
  29. preg_match_all('#Set-Cookie:\s([\S]+?);#i', $login, $gets);
  30.  
  31. $cookies = join(';', $gets[1]);
  32.  
  33. if (!stripos($cookies, 'remixpass=')) die('Аккаунт не авторизован');
  34. else print "Аккаунт авторизован!";
  35.  
  36. ?>


Если я указываю верные данные то он успешно авторизовывается, иначе - наоборот.
Но, как мне, имея $cookies или $login получить контент свой страницы?
Neirol Отправлено: 19 Июня, 2009 - 16:59:16 • Тема: Скрипт отправки e-mail (почты) • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1301
Создаешь форму с 4 полями (to, subject, message, headers) headers сделай необязательным.
Далее с помощью PHP суешь все эти данные в функцию mail с синтаксисом:
Цитата:
bool mail (string to, string subject, string message [, string additional_headers [, string additional_parameters]])
Можно так же добавить соответствующие проверки того, что письмо отправилось (if (mail( и т.д.) и все, скрипт готов.
Neirol Отправлено: 19 Июня, 2009 - 16:56:14 • Тема: Добавление в класс методов из другог файла • Форум: Программирование на PHP

Ответов: 2
Просмотров: 778
Пользуйся наследованием.
Для этого тебе нужно в другом файле, подключить файл в котором описан класс, который нужно дополнить, а дальше создать новый класс наследованный от предыдущего, в этом классе будут методы из предыдущего и те методы, которые ты добавишь в этом файле.

Файл index.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. class Dog {
  4.  
  5.    function MainDescr() {
  6.       print "Собака.";
  7.    }
  8.  
  9. }
  10.  
  11. ?>


Файл other.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. include("index.php");
  4.  
  5. class dwarfish_poodle extends Dog {
  6.  
  7.   function AllDescr() {
  8.     print "Маленьких размеров, интеллигентная порода, с кудрявой шерстью.";
  9.   }
  10.  
  11. }
  12.  
  13. ?>


В примере в файле index.php создается класс Dog, содержащий метод выводящий основное описание (main description), а в файле other.php подключается файл index.php и создается класс dwarfish_poodle (карликовый пудель), который является собакой но имеет свои отличительные методы, в данном случае AllDescr (все описание).
Neirol Отправлено: 19 Июня, 2009 - 16:48:40 • Тема: Можно ли восстановить структуру таблицы если остался файл только с расширением .frm? • Форум: Программирование на PHP

Ответов: 5
Просмотров: 332
JustUserR
В моем случае этот файл создавал PHPMyAdmin, как предложишь им воспользоваться?
Neirol Отправлено: 19 Июня, 2009 - 00:52:14 • Тема: Раскрывающийся список! • Форум: Программирование на PHP

Ответов: 3
Просмотров: 429
Атрибут selected тега option есть сокращенная форма selected="selected", указание этого атрибута говорит браузеру о том, что этот параметр выбран по умолчанию.
А выводить все это дело можно так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. if($_GET['w_count'] == 10) print "<option value='".$action_urll."&w_count=10' selected>10</option>";
  4. else print "<option value='".$action_urll."&w_count=10'>10</option>";
  5.  
  6. // И так далее
  7.  
  8. ?>
  9.  


По другому никак.

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB