PHP.SU

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

Страниц (59): В начало « ... 46 47 48 49 [50] 51 52 53 54 ... » В конец

> Найдено сообщений: 881
Vladimir Kheifets Отправлено: 31 Октября, 2017 - 14:54:34 • Тема: Как правильно залогиниться в форму на сайте? • Форум: Вопросы новичков

Ответов: 1
Просмотров: 122
stankhat пишет:
Всем привет. Не могу залогиниться на сайте. Покажите плз где ошибка:

PHP:
скопировать код в буфер обмена
  1.  
  2. $referer = 'http://www.b17.ru/';
  3. $login_url = 'http://www.b17.ru/login.php#login';
  4.  
  5. $agent = 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)';
  6.  
  7. $postLoginFields = array();
  8. $postLoginFields['l_login'] = 'login';
  9. $postLoginFields['l_password'] = 'password';
  10.  
  11. $ch = curl_init(); //инициализация библиотеки
  12. //указываем адрес страницы
  13. curl_setopt($ch, CURLOPT_URL,$login_url);
  14. //указываем заголовок User-Agent
  15. curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  16. //указываем, что полученная страница должна быть сохранена в переменную
  17. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  18. //указываем, что cURL должен переходить по редиректам
  19. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  20.  
  21. //referer - адрес страницы с которой вы пришли,
  22. //т.е. нужно указать адрес страницы на которой находится форма
  23. curl_setopt($ch, CURLOPT_REFERER, $referer);
  24. //указываем, что мы отправляем данные методом post
  25. curl_setopt($ch, CURLOPT_POST, 1);
  26. //добавляем строку с post данными
  27. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postLoginFields));
  28.  
  29.  
  30. //создаем файл для cookies
  31. $cookiefile = tempnam('path/to/cookie/folder', 'cookie_');
  32. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
  33. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
  34.  
  35. //выполняем запрос
  36. $page = curl_exec($ch);
  37.  
  38. echo $page;
  39.  

Добрый день! Попробуйте впосле $page = curl_exec($ch) вставить:

Удачи!
Vladimir Kheifets Отправлено: 30 Октября, 2017 - 19:46:24 • Тема: Помогите советом по созданию системы оплаты на сайте • Форум: Вопросы новичков

Ответов: 2
Просмотров: 265
LetsLoves пишет:
Помогите, советим или примером как можно это сделать.
Делаю сайт знакомств, осталось только сделать системы пополнение кредитов, использывал старый скрипт, но на нем только paypal. Хочу сделать опплату через freekassa, но не могу понять как прописать....


Добрый день! С freekassa я не работал. Посмотрел бегло их описание. Реализация традиционная.
О принципах реализации процесса акцептирования.
(прошу прощения, коды не подчистил и не комментировал.)
1. Обычно платёжные системы дают возможность акцептирования через их форму оплаты либо через XML-интерфейс. Советую выбрать первое.
Вам необходимо через POST-Request на адрес указанный документации платежной системы отправить необходимые данные.

Для начала вызывается, например, payment_online.php
Спойлер (Отобразить)

2. Затем JS загружает в iframe 'payment_f2' на Вашей странице payment.php,
а он через JS запускает в этом iframe окно акцептирования платёжной системы.
Спойлер (Отобразить)

3.Обратите внимание на параметры payment redirection.
На Ваш скрипт-обработчик по адресу $get_link через $_GET переменные поступит код статуса оплаты и вся информация о платеже.
Клиент может по-разному завершить процесс оплаты: оплатить, прервать оплату или ввести не верные данные карты.
В начале нужно проверить дигитальную сигнатуру и код статуса оплаты .
В случае успешной оплаты Вы сохраняете информацию в БД , отправляете подтверждение клиенту и.т.п.
Если оплата не проходит, выдаёте сообщение клиенту.
Неплохо было бы отправить клиенту письмо с линком на повторную оплату.
Также неплохо бы написать скрипт для контроля поступления оплаты и запускать его через CRON.

Удачи!
Vladimir Kheifets Отправлено: 29 Октября, 2017 - 09:39:44 • Тема: Замена mysql_escape_string() на mysqli_real_escape_string() • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 109
serg2211 пишет:
Здравствуйте, уважаемые форумчане! Я понимаю язык PHP только лишь поверхностно, поэтому решил обратиться к вам за помощью. В 2004-м я приобрел скрипт создающий динамические страницы для обзоров пользователей каким-либо продуктом. С тех пор скрипт еще пока работает, но mysql функции устарели, и теперь мне нужно их заменить на функции mysqli.

Доброе утро, Сергей!

В mysqli Вы можете использовать вместо функции mysql_escape_string() функцию mysqli_real_escape_string().
Я не пользовался конверторами. Изменял так:
1.Подключаю include_once("db.php");
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class DB
  3. {
  4. static $link;
  5. static $dbname;      
  6.         public static function connect()
  7.         {
  8.                 if(empty(self::$link))
  9.                 {
  10.                   $dbhost = 'xxxxxxxxx';
  11.                   $dbuser = 'xxxxxxxx';
  12.                   $dbpassword = 'xxxxxxxxxxxxx';
  13.                   $dbname = 'xxxxxxxxxxxx';
  14.  
  15.                         self::$link = @mysqli_connect($dbhost,$dbuser,$dbpassword,$dbname);
  16.                         self::$dbname=$dbname;
  17.                         //mysqli_set_charset(self::$link, 'utf8'); //если нужно, раскомментировать
  18.                 }
  19.         }
  20. }      
  21. DB::connect();
  22. ?>


2. В редакторе заменил
mysql_query($query) на mysqli_query(db::$link,$query)

3. Затем заменил все
mysql_fetch_row
mysql_fetch_assoc
mysql_fetch_array
mysql_num_rows
mysql_insert_id
mysql_close


на

mysqli_fetch_row
mysqli_fetch_assoc
mysqli_fetch_array
mysqli_num_rows
mysqli_insert_id
mysqli_close


С уважением, Владимир
Vladimir Kheifets Отправлено: 26 Октября, 2017 - 13:40:44 • Тема: Скажите, пожалуйста, почему не работает ? • Форум: Вопросы новичков

Ответов: 2
Просмотров: 144
Lagg пишет:
Здравствуйте.

Есть код:
-------------------------------- -------------------------------- ----------------
<form name="Form" id="Form" onsubmit="return flag" method="get">
<pre>
Title: <input type="text" name="title" id="title">
RES:<input type="text" name="res" id="res">
<input type="submit" onclick="checkvalues();">
</pre>
</form>

<script>
var flag=false;

function checkvalues()
{
<?php if ($_GET["title"]=='3') echo 'flag=true;' ?>
}
</script>
-------------------------------- -------------------------------- ----------------

Почему не работает ?
Как можно сразу проверить значение и если равно 3 то отправлять данные ?

Добрый день! Не работает потому, что спутали PHP c JS
Должно быть:
CODE (html):
скопировать код в буфер обмена
  1. <script>
  2. function checkvalues()
  3. {
  4.         f=document.Form;
  5.         title=f.title.value;
  6.         if(title==3) f.submit();       
  7. }
  8. </script>
  9.  
  10. <form name="Form" id="Form" onsubmit="return flag" method="get">
  11. <pre>
  12. Title: <input type="text" name="title" id="title">
  13. RES:<input type="text" name="res" id="res">
  14. <input type="button" onclick="checkvalues();">
  15. </pre>
  16. </form>
Vladimir Kheifets Отправлено: 24 Октября, 2017 - 08:12:22 • Тема: Регулярка, preg_match ищем текст между тегами с определенным классом • Форум: Вопросы новичков

Ответов: 3
Просмотров: 388
myocean пишет:
Здравствуйте, требуется ваша помощь в написание регулярки, нужно вытащить весь текст вместе с тегами которые имеют определенный класс...

например

CODE (html):
скопировать код в буфер обмена
  1. <table class="test">
  2. <tr>
  3. <td>bla bla bla</td>
  4. </tr>
  5. </table>


или

CODE (html):
скопировать код в буфер обмена
  1. <table border="1" class="test">
  2. <tr>
  3. <td>bla bla bla</td>
  4. </tr>
  5. </table>

Доброе утро! На вопросы по регулярке Вам может быть ответят другие коллеги.
Покажу как использовать "тяжелую артиллерию” - simplexml_load_String
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $str = <<<EOM
  3. <body>
  4. <table border="1" class="test">
  5. <tr>
  6. <td>bla bla bla</td>
  7. </tr>
  8. </table>
  9. </body>
  10. EOM;
  11.  
  12. $html = simplexml_load_String($str);
  13. foreach($html->children() as $nd)
  14. {
  15.         print "tag: ".$nd->getName()."<br>";
  16.         foreach($nd->attributes() as $a => $b)
  17.         {
  18.         print "attributes: $a=$b<br>";
  19.         if($a=="class" AND $b=="test")
  20.         {
  21.             $nd1=$nd->children();
  22.             foreach($nd1->children() as $nd2)
  23.                         {
  24.                              print "tag: ".$nd2->getName()."<br>";
  25.                              print "value: ".$nd2."<br>";
  26.                         }
  27.         }
  28.         }
  29. }
  30. /*
  31. tag: table
  32. attributes: border=1
  33. attributes: class=test
  34. tag: td
  35. value: bla bla bla
  36. */
  37. ?>
Vladimir Kheifets Отправлено: 22 Октября, 2017 - 14:41:04 • Тема: вертикальный текст • Форум: HTML, Дизайн & CSS

Ответов: 2
Просмотров: 558
kuller пишет:
решил проблему. Не знаю только, можно ли как та сделать проще. У меня так получилось
Спойлер (Отобразить)


Добрый день!
Вы пишите, что так получилось.
Посмотрел в трёх браузерах.(см. ниже скриншоты). Вы уверены в том, что получилось как хотелось?
Извините, нет времени довести, но если Вы замените max-height: 200px на min-height: 200px то в IE по вертикали обрубаться не будет
CODE (html):
скопировать код в буфер обмена
  1. .s-name:hover .s-content {
  2.         top: 0;
  3.         /*max-height: 200px;*/
  4.         min-height: 200px;
  5.         z-index: 5;
  6.         opacity: 1;
  7. }
  8.  


Удачи!
Vladimir Kheifets Отправлено: 20 Октября, 2017 - 15:32:02 • Тема: Авторизация и переход в личную папку • Форум: Вопросы новичков

Ответов: 1
Просмотров: 129
SkyRewir пишет:
Добрый день!
Помогите пожалуйста с реализацией задумки(новичок, сильно не ругайте).
Суть задумки:
Есть главная страница index.php с таким содержанием(авторизация), подскажите если что-то не так или не правильно сделано
Спойлер (Отобразить)

После авторизации пользователь может перейти в личную папку,которая будет хранить его файлы (Создание личной папки будет производиться в ручную, временно)
Подскажите как это можно реализовать?


Добрый день!

Принцип: Линки на заход в личный кабинет и на изменение данных профиля открываются на стартовой странице после успешной авторизации.

1. Ставите в индексе пустой контейнер для линков, например:
CODE (html):
скопировать код в буфер обмена
  1. <div id="idLink"></div>
  2. или
  3. <td id="idLink"></td>


2.Затем пишите iframe:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <iframe src='.....' id='iframe_id' height="0" width="0" frameborder='0'
  2.     onLoad="IframeToObj(this.id,idLink)" style="visibility:hidden;">
  3. </iframe>

3. В этот iframe грузите PHP-скрипт проверяюший авторизацию, и в случае успеха генерирущий линки

4. Этот JS скопирует содеожимое iframe между <body></body> в контейнер.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script>
  3. function IframeToObj(idf,ido){
  4.       iframe = document.getElementById(idf);
  5.       iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
  6.       IframeInnerHTML = iframeDocument.body.innerHTML;
  7.       Obj=window.document.getElementById(ido);
  8.       Obj.innerHTML = iframeDocument.body.innerHTML;
  9. }
  10. </script>
  11.  


Такой же принцип можно использовать для линков на корзину заказов

Удачи!
Vladimir Kheifets Отправлено: 09 Октября, 2017 - 20:54:48 • Тема: Прикрепления файла и отправка письма • Форум: Вопросы новичков

Ответов: 1
Просмотров: 371
Rishat1c пишет:
Доброго дня суток, имеется код для отправки письма на почту с прикрепленным файлом.

с html формы передаю в action_one.php данные одного инпата и файла

Но проблема в том, что если пользователь не прикрепит файл, то письмо не уходит.

писал различного рода проверки, в результате письма уходили но в файл все равно прикреплялся с неизвестным расширением и с наименование noname

Спасибо за внимание, надеюсь на помощь

Спойлер (Отобразить)

Добрый вечер! Побробуйте использовать функцию:
Спойлер (Отобразить)

Удачи!
Vladimir Kheifets Отправлено: 09 Октября, 2017 - 09:24:59 • Тема: next и prev • Форум: Работа с СУБД

Ответов: 4
Просмотров: 767
MAXIMUS_XI пишет:
Добрый день, коллеги!

У меня есть код для получения из базы id для кнопок next и prev соответственно. Вот он:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. if(isset($_GET['id'])) {
  4.         $id_wiew = $_GET['id'];
  5. };
  6.  
  7. $result = mysql_query("SELECT * FROM `b_baza` WHERE id='$id_wiew'", $db);      
  8. $myrow[] = mysql_fetch_array ($result);
  9.  
  10. $nextres = mysql_query("SELECT * FROM `b_baza` WHERE (showid = 1 AND id > $id_wiew) ORDER BY id LIMIT 1", $db);
  11. $nextmyrow[] = mysql_fetch_array ($nextres);
  12. $next = $nextmyrow[0];
  13.  
  14. $prevres = mysql_query("SELECT * FROM `b_baza` WHERE (showid = 1 AND id < $id_wiew) ORDER BY id DESC LIMIT 1", $db);
  15. $prevmyrow[] = mysql_fetch_array ($prevres);
  16. $prev = $prevmyrow[0];
  17.  
  18.  


При это id для $next - работает как надо и идет к следующему в базе id. а id для $prev выдает первый в базе - то есть кнопка prev отправляет в самое начало в не зависимости на каком id_wiew ты сейчас. отличие запросов только в знаках < и >.

Подскажите, что я не так делаю? Огорчение Огорчение Огорчение
Проверял на уровне запроса в phpMyAdmin - тот же эффект.
Заранее спасибо.

Доброе утро!
Проверял на уровне запроса в phpMyAdmin в своей БД
SELECT * FROM bestellung WHERE (rechnung_nummer != "" AND auftragsnummer <10) ORDER BY auftragsnummer DESC LIMIT 1
Результат запроса:
auftragsnummer rechnung_nummer ..........
9 05/0010-17 ..........


Поробуйте проверить в PHP значение $id_wiew и showid в БД
Vladimir Kheifets Отправлено: 09 Октября, 2017 - 08:02:40 • Тема: Помогите, как найти минимальное число • Форум: Вопросы новичков

Ответов: 1
Просмотров: 118
riba пишет:
Вот я написала маленький кодик на поиск максимального значения из 3 переменных. А вот как сделать так что-бы выводил к примеру ( число a максимальное а число с минимальное), самым простым Растерялся Растерялся Растерялся
PHP:
скопировать код в буфер обмена
  1.    $a = 100;
  2.     $b = 25;
  3.     $c = 15;
  4.     if(($a>$b)AND($a>$c)){
  5. echo "Максимальное число a";
  6. }
  7.     else if(($b>$a)AND($b>$c)){
  8. echo "Максимальное число b";
  9. }
  10.     else if(($c>$b)AND($c>$a)){
  11. echo "Максимальное число c";
  12. }
  13.     ?>

Доброе утро! Попробуйте так:
CODE (php):
скопировать код в буфер обмена
  1.        $a = 100;
  2.         $b = 25;
  3.         $c = 15;
  4.         $MinVal = min($a,$b,$c);
  5.         $MaxVal = max($a,$b,$c);
  6.         print "MinVal=$MinVal MaxVal=$MaxVal";
  7.        
  8.        //Или -----------------------------------------------------
  9.         $arr=[100,25,15];
  10.         $MinVal = min($arr);
  11.         $MaxVal = max($arr);
  12.         print "<br>MinVal=$MinVal MaxVal=$MaxVal";     
  13.        
  14.        //MinVal=15 MaxVal=100
Vladimir Kheifets Отправлено: 07 Октября, 2017 - 19:55:54 • Тема: PHP Fatal Error: Call to a member function __toString() on a non-object • Форум: HTTP и PHP

Ответов: 7
Просмотров: 1549
anstrem пишет:
Изначально в ошибке еще цифра была:
PHP Fatal Error: Call to a member function __toString() on a non-object in file.php(1656) : eval()'d code on line 29
.....
Можно в этом коде как то избавиться от ошибки с __toString(); ?
Как правильно написать проверку перед $delivery_city = $xml->ip->city->__toString(); ?


Добрый вечер!
Написал:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $delivery_city = $xml->ip->city->__toString();

Естественно получил ошибку т.к. $xml не опрелён.
Добавил проверку:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(is_object( $xml->ip->city))
  2.     $delivery_city = $xml->ip->city->__toString();
  3.  else
  4.     echo "Еrror"

Получил сообщение: Еrror
Vladimir Kheifets Отправлено: 07 Октября, 2017 - 01:47:02 • Тема: Собрать все файлы в единное • Форум: HTML, Дизайн & CSS

Ответов: 3
Просмотров: 756
pantela пишет:
спС, а можно 1 прим. как использовать... Что-то не догнал пример ))
т.е. как файлы подключать? они у меня разбросаный по файлам, папкам, либа это сама спарсит всё...? :-/

Я сделал утилиту. Выбираются папки проекта, тип файлов – JS или PHP
и для JS одна из опций упаковки: None, Numeric, Normal, High ASCII (см. описание класса)
JS - файлы из выбранной папки читаются и упаковываются так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $script = file_get_contents($src);  
  2. $packer = new JavaScriptPacker($script, $optionPack, true, false);
  3. $packed = $packer->pack();


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

Хороших выходных!
Vladimir Kheifets Отправлено: 06 Октября, 2017 - 13:58:48 • Тема: Собрать все файлы в единное • Форум: HTML, Дизайн & CSS

Ответов: 3
Просмотров: 756
pantela пишет:
Здраст.
Есть проект в котором несколько JS фйлов, + от плагинов. Как можно по быстрому всё собрать в единное, + несколько функции перезаписываются и конфликтуют вместе. может можно как-то собрать и сгенерировать + сжать...

До оптимизации руки сейчас не дотянутся + защитить хочу что бы диз не слили...

+ Как можно макс. зищитить страницы от подобных программ HTTrack Website Copier.

Спс.

P.S.


Добрый день! Можно "подсмотреть" что-то полезное и/или просто сжать JS используя PHP класс JavaScriptPackeг
https://github[dot]com/meenie/javasc[dot][dot][dot]ScriptPacker.php
Удачи!
Vladimir Kheifets Отправлено: 02 Октября, 2017 - 18:50:49 • Тема: Проблема с кодировкой • Форум: Вопросы новичков

Ответов: 2
Просмотров: 300
Добрый вечер!
1.Черные ромбики с знаком вопроса, означают, что браузер не находит символы соответсвующие кодам.
"Убираю" ромбики с помощью mb_convert_encoding
Если получены "данные постом содерщим к примеру слово введенное на рус.раскладке", то
CODE (htmlphp):
скопировать код в буфер обмена
  1. $str=mb_convert_encoding($str, "utf-8", "windows-1251");

2. Как сделать так, чтобы при utf-8. В базу данных занасилалаь как анг.раскладка так и русская.
В базе данных задаю кодировку utf-8 и сохраняю в в ней же английский, русский, немецкий, и.т.д.
Если получены данные постом ... см. п.1
Vladimir Kheifets Отправлено: 02 Октября, 2017 - 17:23:26 • Тема: Не сравнивается с бд • Форум: HTTP и PHP

Ответов: 2
Просмотров: 628
Grisha007 пишет:
Здравствуйте! Подскажите пожалуйста, почему не сравнивается слово, которое берется с базы данных? Вот код:

<?php
$result=mysqli_query($connect,"SELECT word,translate FROM `dictionary` WHERE uid='$id' ORDER BY RAND() LIMIT 1");
$row=mysqli_fetch_array($result);
echo $row['word']." - ".$row['translate']."<br/>";
?>
<input type="text" name="answer" size="30" maxlength="300"/>


<input type="submit" name="submit" value="to answer"/>
</form></center>
<?php

$arr = array($row['word']);
foreach($arr as $value){
if($_POST['answer']==$value){echo "OK";}
echo $value;
}

?>

Если написать так: $arr = array("слово");

то когда вводить в строке ввода слово "слово", то выводит, а если так $arr = array($row['word']); то нет.

В чем проблема, подскажите пожалуйста!


Добрый день! Возможно, проблема в том, что функция mysqli_fetch_array возвращать результ в виде ассоциативного и обычного массива.
Если нужно получать результат только в виде ассоциативного массива, как в Вашем сдучае, то нужно использовать функцию mysqli_fetch_assoc

Страниц (59): В начало « ... 46 47 48 49 [50] 51 52 53 54 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB