PHP.SU

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

Страниц (59): В начало « ... 51 52 53 54 [55] 56 57 58 59 »

> Найдено сообщений: 881
Vladimir Kheifets Отправлено: 06 Июля, 2017 - 10:49:33 • Тема: не срабатывает функция update в sql • Форум: CMS и фреймворки

Ответов: 3
Просмотров: 903
dorofej85 пишет:
почему не срабатывает update после формы - вот код
........................
if (isset($_POST['summ'])) mysql_query('UPDATE `table_user` SET `sum` = `sum` +'.$sum.' WHERE `username`='.$komu.'');
else echo 'Ошибка';
}


Добрый день!
Ошибка в конце с кавычками здесь ='.$komu.'').
написано так:
PHP:
скопировать код в буфер обмена
  1. mysql_query('UPDATE `table_user` SET `sum` = `sum` +'.$sum.' WHERE `username`='.$komu.'');

Должно быть:
PHP:
скопировать код в буфер обмена
  1. mysql_query("UPDATE `table_user` SET `sum` = `sum` +".$sum." WHERE `username`='".$komu."'");


Если что-то не работает используйте or die( mysql_error())
Например:
PHP:
скопировать код в буфер обмена
  1. mysql_query('UPDATE `table_user` SET `sum` = `sum` +'.$sum.' WHERE `username`='.$komu.'') or die( mysql_error());
Vladimir Kheifets Отправлено: 06 Июля, 2017 - 09:40:57 • Тема: адаптивное меню • Форум: HTML, Дизайн & CSS

Ответов: 1
Просмотров: 847
Добрый день!
Несколько советов:
1. Добавить:
CODE (html):
скопировать код в буфер обмена
  1. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">


2. Отказаться от JS для проверки размеров экрана, а использовать только возможности CSS. В CSS отказаться от задания максимальных размеров экрана в явном виде(320px,480px), а использовать 100% и функцию calc
Например:
CODE (html):
скопировать код в буфер обмена
  1. width: -moz-calc(100% - 20px);
  2. width: -webkit-calc(100% - 20px);
  3. width: calc(100% - 20px);

3. В медиа запросах CSS ориентацию лучше проверять так:
CODE (html):
скопировать код в буфер обмена
  1. @media screen and (min-aspect-ratio: 13/9)  
  2. {  
  3.     /*orientation: landscape*/
  4. }    
  5. @media screen and (max-aspect-ratio: 13/9)
  6. {
  7.     /*orientation: portrait*/
  8. }


Можете посмотреть как это работает здесь:
Vladimir Kheifets Отправлено: 04 Июля, 2017 - 11:16:09 • Тема: Данные с <table> в массив • Форум: Вопросы новичков

Ответов: 5
Просмотров: 238
Строитель
Добрый день! Недавно была тема про обработку тэгов <p>.
В этом примере с тэгами <th><td> как и в предыдущем случае Вы подложили отличные решения.
Большое спасибо!
Мне кажется, что в хозяйстве может пригодится функция: array InnerHTML($TagName,$html)
Спойлер (Отобразить)
Demo: https://www[dot]alto-booking[dot]com/test/p.php
Vladimir Kheifets Отправлено: 03 Июля, 2017 - 08:38:41 • Тема: Обработка ввода от двух юзеров • Форум: Хранение данных, их вывод и обработка

Ответов: 1
Просмотров: 694
happy_man329 пишет:
Доброго времени суток, дорогие форумчане! Прошу помощи подсказать краткую логику(как бы вы хранили данные и каким образом их обработать чтобы выдать результат) или как правильно погуглить в этом направлении, что вообще искать?

Задача:
Юзер приходит на сайт, на главной видит форму с полями: Имя, пол, возраст и изображение. После успешного ввода Юзеру предлагаются кандидаты противоположного пола по очереди и наоборот. То есть Юзер видит кандидата и кандидат видит юзера. У обоих есть две опции: "Да", "Нет" и 15 секунд на принятие решения. Вопрос состоит в том, что я никак не могу понять, если Юзер жмет "Да" сразу и кандидат жмет так же "Да" спустя сскажем три секунды, каким образом мне сохранить их общее согласие и дальше выдать результат основанный на этой информации.

Заранее благодарен.


Добрый день!
как правильно погуглить в этом направлении, что вообще искать?”
Например, искать: “php скрипт сайта знакомств

Краткая логика:
1. "Юзер приходит на сайт, на главной видит форму с полями: Имя, пол, возраст и изображение."
Поскольку Вы хотите, чтобы программа работала в реальном времени(5,15 секунд), придётся искать тех, кто удовлетворяет поисковому запросу и имеет статус “онлайн”.
Для проверки статуса на серверной стороне необходимо проверять время отправки клиентского запроса, а на стороне клиента на JS необходимо реализовать отправку запроса на сервер через заданный интервал времени (например, каждые 15 секунд)

2."После успешного ввода Юзеру предлагаются кандидаты противоположного пола по очереди и наоборот. То есть Юзер видит кандидата и кандидат видит юзера. У обоих есть две опции: "Да", "Нет" и 15 секунд на принятие решения"
На северной стороне Вы сделали выборку и отправляете клиенту код с формуляром со списковом кандидатов и опциями "Да", "Нет". Для каждого кандидата втавляете input hidden и сохранете время клика по опции "Да", "Нет"(JS)
По клику на кнопку submit или по опции "Да", "Нет" или через заданный интервал времени отправляется запрос на сервер и там запускается PHP-скрипт.

3. "каким образом мне сохранить их общее согласие и дальше выдать результат основанный на этой информации".
В PHP-скрипт от каждого олайн-клиента, приходят данные из формуляра - кого выбрал/ не выбрал и время выбора. В этом скрипте должно происходить сравнение данных запроса с ранне сохранёнными в БД и сохранение в БД.
Vladimir Kheifets Отправлено: 01 Июля, 2017 - 13:28:21 • Тема: Получить содержимое из тэга <P>, но если в содержимом не встречается тэг P • Форум: Регулярные выражения

Ответов: 7
Просмотров: 649
antobra, добрый день! Вы уже получили очень хороший ответ на Ваш вопрос.
Просто ради интереса, я попробовал для решение этой задачи использовать DOMDocument class и вот, что получилось:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. error_reporting(E_ERROR|E_PARSE);
  3.     $str = '<html><body>
  4.    ...some code...
  5.    <p class="any_class">
  6.     <p class="any_class" anyAttribute="anyValue">Value 1</p>
  7.     <p class="any_class" anyAttribute="anyValue">Value 2</p>
  8.     <p class="any_class" anyAttribute="anyValue">Value 3</p>
  9.    </p>
  10.    <p class="any_class">
  11.     <p class="any_class" anyAttribute="anyValue">Value 4
  12.  
  13.  
  14.     </p>
  15.     <p class="any_class" anyAttribute="anyValue">Value 5</p>
  16.    </p>
  17.    ...some code...
  18.    </body></html>';
  19.  
  20. $a = array();
  21. $doc = new DOMDocument();
  22. $doc->loadHTML($str);
  23. $items = $doc->getElementsByTagName('p');
  24. if(count($items)>0)
  25. {
  26.     foreach ($items as $tag)
  27.     {
  28.          $a[] = $tag->nodeValue;
  29.     }
  30.     echo '<pre>'; var_dump($a); echo '</pre>';
  31. }
  32.  
  33. /*
  34. array(7) {
  35.   [0]=>
  36.   string(7) "
  37.      "
  38.   [1]=>
  39.   string(7) "Value 1"
  40.   [2]=>
  41.   string(7) "Value 2"
  42.   [3]=>
  43.   string(7) "Value 3"
  44.   [4]=>
  45.   string(7) "
  46.      "
  47.   [5]=>
  48.   string(18) "Value 4
  49.  
  50.  
  51.      "
  52.   [6]=>
  53.   string(7) "Value 5"
  54. }
  55. */
  56. ?>
Vladimir Kheifets Отправлено: 29 Июня, 2017 - 16:27:51 • Тема: Вывод в html таблицу массивов • Форум: Вопросы новичков

Ответов: 1
Просмотров: 140
Добрый день! Вы обязательно должны находить пары значений title/text и только при условии их существования дописывать значения в массивы $titleRes и $textRes. К сожалению, так как это сделано сейчас, никакими “обрезаниями” и “заплатками” Вы ничего не сможете сделать.
Vladimir Kheifets Отправлено: 28 Июня, 2017 - 14:25:06 • Тема: Лог по IP • Форум: Вопросы новичков

Ответов: 2
Просмотров: 174
pantela пишет:
Всем прив.

В БД сохраняю логи авторизации, поле varchar(16). В коде где для значения IP имею $_SERVER['REMOTE_ADDR']. Лога записываються виде 1121713327, почему...?

И стоит использовать другую глобальную переменую $_SERVER['****']...

спс.Ув.

Добрый день! Я согласен с коллегой. У Вас перед сохранением в БД IP4 преобразуется в число, возможно функцией ip2long.
Вернуть исходное значение IP4 можно с помощью функции long2ip, которая преобразует 1121713327 в 66.219.252.175
Может Вам пригодится. В своих проектах я сохраняю в БД IP4 и IP6, используя тип TINYBLOB и для упаковки функцию inet_pton,
а для распаковки функцию inet_ntop.
Vladimir Kheifets Отправлено: 26 Июня, 2017 - 10:00:51 • Тема: Как сделать переход на страницу по id из таблицы Mysql • Форум: Вопросы новичков

Ответов: 1
Просмотров: 320
khomchenko пишет:
Подскажите, как присвоить item[id] для перехода на след страничку, и куда вставит код?

while ($rows = $resultSet->fetch_assoc())
{
$company_name = $rows['company_name'];
$company_location = $rows['company_location'];
$company_city = $rows['company_city'];
$company_address = $rows['company_address'];
$company_website = $rows['company_website'];
$company_email = $rows['company_email'];
echo "
<tr>
<td>$company_name</td>
<td>$company_location</td>
<td>$company_city</td>
<td>$company_address</td>
<td>$company_website</td>
<td>$company_email</td>
<td><a href='edit-employer.php?id=".$item['id']."' title='Edit'><i class='fa fa-pencil-square-o fa-lg' aria-hidden='true'></i></a></td>
</tr>
";
}
echo "</table>";


Добрый день!

Очень хотелось бы Вам помочь, но к сожалению, для этого не достаточно информации.
1. Можно только предполагать, что в $item["id"](не понятно зачем), присваиваться значения поля id из базы данных.
2.Не очень понятно, почему Вы не выводите текст линка здесь:
<a href='edit-employer.php?id=".$item['id']."' title='Edit'><i class='fa fa-pencil-square-o fa-lg' aria-hidden='true'></i></a>
т.е. должно что-то быть перед </i>

Если исходить из предположения, что id выбирается их базы данных,то можно сделать так:

PHP:
скопировать код в буфер обмена
  1. echo "<table>";
  2. while ($rows = $resultSet->fetch_assoc())
  3. {
  4.     echo "<tr>";
  5.     foreach($rows as $v)
  6.     {
  7.         echo "<td>".$v."</td>";
  8.     }
  9.     echo "<td><a href='edit-employer.php?id=".$rows['id']."' title='Edit'><i class='fa fa-pencil-square-o fa-lg' aria-hidden='false'>Item N ".$rows['id']."</i></a></td>";
  10.     echo "</tr>";
  11. }
  12. echo "</table>";
Vladimir Kheifets Отправлено: 25 Июня, 2017 - 07:52:59 • Тема: Как сделать чтобы цены на сайте менялись автомат от доллара • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 65
ren4os пишет:
Здравствуйте, у меня есть интернет-магазин, в нём есть определенное кол-во наименований, так как каждый день доллар меняться, соответственно мне нужен скрипт который будет менять цены всех товаров + моя наценка(пример: товар стоит 132 наценка 10% = итоговая цена ). Прошу мне помочь в решении данного вопроса. Спасибо


Здравствуйте, попробуйте использовать функцию:
PHP:
скопировать код в буфер обмена
  1. function get_currency($from_Currency, $to_Currency, $amount) {
  2.     $amount = urlencode($amount);
  3.     $from_Currency = urlencode($from_Currency);
  4.     $to_Currency = urlencode($to_Currency);
  5.     $url = "http://www.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency";
  6.     $ch = curl_init();
  7.     $timeout = 0;
  8.     curl_setopt ($ch, CURLOPT_URL, $url);
  9.     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  10.  
  11.     curl_setopt ($ch, CURLOPT_USERAGENT,
  12.                  "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
  13.     curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  14.     $rawdata = curl_exec($ch);
  15.     curl_close($ch);
  16.     $data = explode('bld>', $rawdata);
  17.     $data = explode($to_Currency, $data[1]);
  18.     return round($data[0], 2);
  19. }
  20.  
  21. $AmountRUB=get_currency("USD", "RUB", $AmountUSD);
Работает здесь:
https://www[dot]alto-booking[dot]com
Необходимо на стартовой странице выбрать желаемую валюту, например, ₽ Российский рубль и нажать "Начать поиск".
Vladimir Kheifets Отправлено: 25 Июня, 2017 - 07:33:29 • Тема: Вопрос по MYSQL • Форум: Вопросы новичков

Ответов: 1
Просмотров: 112
deu пишет:
$auto = mysql_query("SELECT * FROM auto");

while($rows=mysql_fetch_array($auto)) {
$color_number_auto = colors($rows['number_auto']);
$color_marka = colors($rows['marka']);
$color_gto = colors($rows['gto']);
$color_tahogrof = colors($rows['tahogrof']);
$color_osago = colors($rows['osago']);
$color_green_cart = colors($rows['green_cart']);
$color_zamena_masla = colors($rows['zamena_masla']);
$color_kontrol_akb = colors($rows['kontrol_akb']);
$color_kasko = colors($rows['kasko']);
$color_osmotr_ts = colors($rows['osmotr_ts']);
$color_komplektnost_ts = colors($rows['komplektnost_ts']);
$color_komplektnost_doc = colors($rows['komplektnost_doc']);
}

Доброе утро! "Без лишних телодвижений и не создавая массив новый с ключами и не используя array_keys" можно написать так:

PHP:
скопировать код в буфер обмена
  1. $preff="color_";
  2. while($rows=mysqli_fetch_assoc(($auto))
  3. {
  4.         foreach($rows as $n=>$v)
  5.         {
  6.            ${$preff.$n}=colors($v);
  7.         }
  8. }
Vladimir Kheifets Отправлено: 24 Июня, 2017 - 13:03:56 • Тема: Безпрерывная работа скрипта • Форум: Вопросы новичков

Ответов: 6
Просмотров: 559
OrmaJever пишет:
Vladimir Kheifets и что с этого будет? Если скрипт будет в бесконечном цикле то через час будет уже 30 копий скрипта, а если нет то ничего слушать он не сможет

Добрый день!
А Вы пробовали так делать?
Чтобы в скрипт "не был в бесконечном цикле" нужно в нём обязательно задавать timeout.
Затем нужно будет подобрать такт запуска скрипта в crontab и значение timeout в скрипте.
Проверяется это очень просто.
Такт увеличивается, например, до 15 минут и в crontab
добавляется: MAILTO="test@test.de" и в скрипт ставится отладочная печать.
Vladimir Kheifets Отправлено: 23 Июня, 2017 - 07:06:15 • Тема: Безпрерывная работа скрипта • Форум: Вопросы новичков

Ответов: 6
Просмотров: 559
Добрый день! Вы могли использовать cron, и запускать скрипт, например, через каждые 5 минут , указав в crontab :
*/5 * * * * /usr/bin/php56 /usr/home/.................../xxxxx.php
Скрирт xxxxx.php будет слушать соккет и отдавать результат, почти постоянно.
Vladimir Kheifets Отправлено: 22 Июня, 2017 - 15:11:14 • Тема: вывод сообщений • Форум: SQL и Архитектура БД

Ответов: 9
Просмотров: 117
Sail пишет:
Vladimir Kheifets пишет:
Из название поля "date" не следует, что тип поля также "date".
В данном случае, тип поля должен быть "datetime".
Исходя из этого я показал как найти последнее сообщение.

Суть не в детализации времени (в день, в час, в секунду...), а в том, что требуется не одно последнее сообщение всех диалогов, а последнее сообщение для каждого диалога.

Добрый день!
Прочтите, пожалуйста, вопрос, с корого началась тема:
Богдан Скуба пишет:
Всем привет, у меня есть таблица : messages
id | sender | taker | message | date | value
нужно вывести последние сообщения всех диалогов отсортированых по date
все перепробовал ничего придумать или найти не могу

Я понял так, что требуется "вывести последние сообщения всех диалогов", а не "последнее сообщение для каждого диалога".
Vladimir Kheifets Отправлено: 22 Июня, 2017 - 12:14:58 • Тема: Нажатие кнопкки сабмит в форме обновляет страницу или только внутри формы срабатывает? • Форум: Вопросы новичков

Ответов: 14
Просмотров: 802
zapatronen пишет:
Действительно, зачем он там нужен. Наверное перепутал по-моему это из функции можно объявить переменной зону видимости

Добрый день!
global это не главное. Вы обратили Вы внимание на, то что я объяснил Вам почему код не срабатывает после первого сабмита?
На всякий случай повторю:
После submit формы, проверка if($dir!=NULL) с строке 4 не должна выполняться т.к.
файл сохраняется move_uploaded_file($_FILES['userfile']['tmp_name'], $target) в строеке 19
Vladimir Kheifets Отправлено: 22 Июня, 2017 - 10:23:20 • Тема: Как заменить текст на текст в div? • Форум: Вопросы новичков

Ответов: 3
Просмотров: 270
masters пишет:
У меня есть ссесия:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $login = 'admin';
  4. $password = '123';
  5.  
  6. if($_POST['submit']){
  7.         if($login == $_POST['login'] AND $password == ($_POST['password'])){
  8.                 $_SESSION['admin'] = $login;
  9.                 header("Location: admin.php");
  10.                 exit;
  11.         } else //что тут нужно?
  12. }
  13.  


Если пароль не правильный то в блоке:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div id="title">Вход</div>
  3.  

Нужно заменить слово "Вход" на "Неправильный логин или пароль".


Доброе утро!

1. Вопрос про сообщение в диве. Если авторизация проходит успешно, то Вы хотите перейти в admin.php
Поэтому сообщение об успешной авторизации и приветствие должно быть в admin.php.

2. Желательно логины и пароли сохранять в БД и написать функцию для проверки: например, CheckLogin($login ,$password)
Затем можно будет заменить:
if($login == $_POST['login'] AND $password ==$_POST['password'])
на
if(CheckLogin($_POST['login'] ,$_POST['password']))

Работающий код:
https://www[dot]alto-booking[dot]com/demo/PHPSU_Log.php
PHP:
скопировать код в буфер обмена
  1. <?
  2. $login = 'admin';
  3. $password = '123';
  4. $ViewForm=false;
  5. $Error=false;
  6. if(isset($_POST['submit']))
  7. {
  8.         if($login == $_POST['login'] AND $password == $_POST['password'])
  9.         {
  10.              $_SESSION['admin'] = $login;
  11.              header("Location: admin.php");
  12.              exit;
  13.  
  14.         }
  15.         else //что тут нужно?
  16.         {
  17.                 $Error=true;
  18.         }
  19. }
  20. else $ViewForm=true;
  21. ?>
  22. <html>
  23. <head>
  24. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  25. <title>Admin</title>
  26. </head>
  27. <body>
  28. <form name="log" action=""  method="post">
  29.  <?
  30.  if($Error OR $ViewForm)
  31.  {
  32.         ?>
  33.      login:<br /><input name="login" type="text" />     password:<br /><input name="password" type="password" />     <input name="submit" type="submit" value="submit" />
  34.         <?
  35.         if($Error)
  36.         {
  37.             ?>
  38.                 <div id="title">Неправильный логин или пароль!</div>
  39.             <?
  40.         }
  41. }
  42. ?>
  43. </form>
  44. </body>
  45. </html>

Страниц (59): В начало « ... 51 52 53 54 [55] 56 57 58 59 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB