PHP.SU

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

Страниц (8): [1] 2 3 4 5 6 7 8 »

> Найдено сообщений: 108
freelsd Отправлено: 01 Июня, 2016 - 13:45:46 • Тема: Автоматизировання выплата webmoney • Форум: Вопросы новичков

Ответов: 0
Просмотров: 124
И снова здравствуйте! Есть простой движок на пхп и mysql - нужно реализовать автоматическую выплату WM. Поэтому вопрос (может кто сталкивался и знает про подводные камни) - есть ли хорошие api/классы для этой задачи и какой, собственно, аттестат нужно иметь чтобы была возможность автоматически производить выплаты ? Спасибо.
freelsd Отправлено: 15 Марта, 2016 - 09:03:29 • Тема: Не исполнить "\n" • Форум: Вопросы новичков

Ответов: 1
Просмотров: 79
Test11 пишет:
Как сделать так, чтобы "\n" в

ech "asfas \n df";

Не исполнилась, чтобы мол в ответе она была....

Используйте одинарные кавычки.
freelsd Отправлено: 12 Марта, 2016 - 13:38:03 • Тема: Не добавляется элемент в массив сессии • Форум: Вопросы новичков

Ответов: 8
Просмотров: 720
У вас все время создается массив, заполненный значениями. Можно проверить, существует ли массив, перед тем как пытаться его создать, например:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if ( !isset($_SESSION['favnodes'] )
  5.     $_SESSION['favnodes'] = array(1,2,3,4,5);
  6. ...


А потом уже добавлять туда значения, они должны дописаться уже.
freelsd Отправлено: 12 Марта, 2016 - 12:33:39 • Тема: Не добавляется элемент в массив сессии • Форум: Вопросы новичков

Ответов: 8
Просмотров: 720
Шмайсер пишет:
OrmaJever пишет:
В вашем коде кроме пустого массива в сесию ничего не добавляется. Что вы там хотите увидеть?

а как тогда сделать, чет не соображу..
смысл в чем - изначально массив может быть пустой, но может в нем и есть чтото (1,2,3) например. Если есть событие POST , я проверяю in_array на наличие в массиве idшника, приходяшего с ПОСТ, и если его нет дописываю в конец массива.
Но вот что-то все никак не получаетсо)))


Это не си, и $fav_node это не массив переменных сессии, это совершенно другой массив. Все что вы добавите в массив $fav_node будет только там.
freelsd Отправлено: 12 Марта, 2016 - 08:34:23 • Тема: Формы, поля и передача данных • Форум: Вопросы новичков

Ответов: 3
Просмотров: 203
В обработчике уберите action, тогда ваш скрипт с формой сам будет обработчиком:

freelsd Отправлено: 11 Марта, 2016 - 12:36:30 • Тема: Вывод файла • Форум: Вопросы новичков

Ответов: 7
Просмотров: 360
Значит у вас перед этим кодом что-то идет не так. Вы кстати перед отправкой файла делаете?
freelsd Отправлено: 11 Марта, 2016 - 09:28:53 • Тема: Формы, поля и передача данных • Форум: Вопросы новичков

Ответов: 3
Просмотров: 203
mentax пишет:
Всем привет!
Пытаюсь разобраться с PHP и написать небольшую утилиту.
Задача в следующем:
Когда я ввожу IP адрес в форму - в поле ip и нажимаю на кнопку получить mac, ip адрес передается в скрипт php(ssh.php) который используя ssh подключается к этому ip и вытаскивает mac.
Теперь вопрос - как мне по нажатию на кнопку получить данные и вставить их в форму mac?
В форме есть 5 полей, имя сервера, ip адрес, mac адрес, OS и Arch
все это планируется получать через ssh

PHP:
скопировать код в буфер обмена
  1.  
  2. <tr>
  3.   <td align="right">MAC Address:</td>
  4.   <td><input type="text" size="50" name="mac_addr"><button type="button" id="button">Отправить запрос</button></td>
  5. </tr>
  6.  



PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. // nproc get cpu numbers
  5. //
  6.  
  7.  
  8. $hostname = $_GET['hostname'];
  9. function get_mac () {
  10.  
  11. if($ssh = ssh2_connect('$hostname', 22)) {
  12.     if(ssh2_auth_password($ssh, 'admin', 'superpass')) {
  13.         $stream = ssh2_exec($ssh, 'ifconfig eth0 | grep -o -E "([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}"');
  14.         stream_set_blocking($stream, true);
  15.         $data = '';
  16.         while($buffer = fread($stream, 4096)) {
  17.             $data .= $buffer;
  18.         }
  19.         fclose($stream);
  20.         echo $data; // user
  21.     }
  22. }
  23. }
  24. ?>
  25.  
  26.  


Проще всего сделать чтобы скрипт с формой сам вставлял в поле мак данные если он их
получил. То есть у вас будет форма, в которой клацаешь на кнопку и она в том же файле обрабатывает ваши данные, а функция get_mac() возвращает результат и он вставляется потом в форму просто так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //если нажали на кнопку формы
  3. if($_POST['ip]){
  4. получаем мак
  5. $mac = get_mact($ip);
  6. }
  7.  
  8. ?>
  9. <input type="text" size="50" name="mac_addr" value="<?PHP echo $mac;?>">


То есть если вы просто открыли форму, то поле мак будет пустое, если отправили ип для проверки нажав на кнопку формы, то в поле мак должен будет мак отобразится.
freelsd Отправлено: 11 Марта, 2016 - 09:21:32 • Тема: Не записывает форму в таблицу • Форум: Вопросы новичков

Ответов: 12
Просмотров: 548
Barnaus пишет:
Благодарен!
Прогресс есть, но ещё не конец Улыбка

INSERT INTO WTB (offer, contact) VALUES ('texttext_pole1','contact_pole2')
ERROR, , not added.texttext_pole1,contact_pole2

Данные видит, таблицу и поля видит, значения для таблицы видит. Но не добавляет.

Подозреваю, что чтото ненравится самой таблице и БД. Я в таблице поставил значение полей NULL(чтоб допускалось пустое значение для ненужных полей), но вот с полем ID с автоинкрементом такое не проходит. и туда ничего не пишется(это поле ведь должно само автодобавляться).


А не может ли быть такое, что надо ещё и логин пароль от БД прописывать в команде добавления строки?


Чтобы не гадать нужно сделать так mysqli_error($dbcon) там где у вас ошибка выводится и смотреть на вывод. В общем узнать, что бд не нравится при добавлении.
freelsd Отправлено: 10 Марта, 2016 - 20:48:55 • Тема: Не записывает форму в таблицу • Форум: Вопросы новичков

Ответов: 12
Просмотров: 548
Barnaus пишет:
Добавил по крайнему совету , только вывел ещё и переменные
echo "<p>ERROR, ".mysqli_error().", not added.".$offer.",".$contact."</p>";

Выдаёт ошибку:
INSERT INTO WTB (offer, contact) VALUES ('','')
ERROR, , not added.texttext,name

При этом ведь присвоил
$offer=$_POST['info']; \\ данные из поля INFO
$offer=htmlspecialchars($offer);
$contact=$_POST['cont']; \\ данные из поля CONT
$contact=htmlspecialchars($contact);

Переменные из формы передаются(в текстовый файл ведь пишет), К базе подключается, таблицу находит, соответствующие поля в таблице видит.
Ведь не может же быть ошибки из-за того, что в таблице 10 полей с разными именами, а данные передать хочу только в два?

ПС! мне все зарезервированные команды sql* следует заменить на sqli ?


Да, лучше заменить на mysqli эквиваленты. Я когда код приводил, я там забыл совсем что в mysqli_real_escape_string первым аргументом идет ссылка на соединение (я сам ооп стилем пользуюсь, поэтому совсем про эту деталь забыл), может быть поэтом у вас пустые переменные в запросе получились.
Должно быть что-то вроде:

PHP:
скопировать код в буфер обмена
  1. $dbcon = mysqli_connect("localhost", "elcarcus_broker", "*******");
  2. ...
  3. $query = sprintf("INSERT INTO WTB (offer, contact)
  4.                          VALUES ('%s','%s')", mysqli_real_escape_string($dbcon, $offer), mysqli_real_escape_string($dbcon, $contact));
  5. echo $query;
  6. $result = mysqli_query($query);

Попробуйте, надеюсь что проблему решит.
freelsd Отправлено: 10 Марта, 2016 - 20:42:19 • Тема: Проблеми UPDATE • Форум: Вопросы новичков

Ответов: 6
Просмотров: 315
Поздравляю!
freelsd Отправлено: 10 Марта, 2016 - 19:06:45 • Тема: Не записывает форму в таблицу • Форум: Вопросы новичков

Ответов: 12
Просмотров: 548
Barnaus пишет:
первая ошибка
ERROR, Unknown column 'WTB WTB WTB' in 'field list', not added.

WTBWTBWTB - это текст в текстовом поле.


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

Скрипт говорит что нету такого поля 'WTB WTB WTB' в таблице, что странно, так как кавычки у вас в запрос есть. Кстати, mysql* уже не использует никто, пользуйтесь mysqli и еще перед добавлением текста делайте mysqli->real_escape_string. Сделайте вывод запроса перед добавлением чтобы было видно какой запрос вносится в базу, то есть:
PHP:
скопировать код в буфер обмена
  1. $query = "INSERT INTO `WTB` ('offer', 'contact')
  2.                       VALUES ('".$offer."','".$contact."')";
  3. echo $query;

Так будет виднее что в запросе за ошибка.

Вообще я был сделал так:

PHP:
скопировать код в буфер обмена
  1. $query = sprintf("INSERT INTO WTB (offer, contact)
  2.                       VALUES ('%s','%s')", mysqli_real_escape_string($offer), mysqli_real_escape_string($contact));
  3. echo $query;
  4. $result = mysqli_query($query);
  5. ...
  6.  
freelsd Отправлено: 10 Марта, 2016 - 18:04:11 • Тема: Проблеми UPDATE • Форум: Вопросы новичков

Ответов: 6
Просмотров: 315
По другому нельзя. PHP не вызывается из тела страницы как javascript. Вообщем вам почитать побольше нужно по этой теме: работа с бд и отправка данных из формы.
freelsd Отправлено: 10 Марта, 2016 - 16:40:08 • Тема: Kron • Форум: Вопросы новичков

Ответов: 15
Просмотров: 548
ytrewq123 пишет:
Вындовз7 проф.

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


https://ru[dot]wikipedia[dot]org/wiki/Cron

Там и пример есть. Суть в том что крон это такое приложение в памяти, которое в заданные интервалы времени запускает нужную программу/скрипт. Вот и все. Все остальное делает пользователь/разработчик. То есть у вас, например есть код, который загружает в базу данные из какого-то файла. Вы добавили его в крон и поставили чтобы он каждый понедельник выполнялся. Значит каждый понедельник этот скрипт себе молча запускаться будет. Если вы хотите чтобы он (скрипт) как-то оповещал вас о том что работа проделана, добавьте, например создание файла с текстом "Работа выполнена: (тут текущее время)". А на вики пример конфигурационного файла, который нужно создать чтобы крон по нему работал.
freelsd Отправлено: 10 Марта, 2016 - 15:25:35 • Тема: Проблеми UPDATE • Форум: Вопросы новичков

Ответов: 6
Просмотров: 315
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type="button" value="+" onClick="<?PHP plusTovar($id);?>">//кнопка (+)


У вас тут каша из php и javascript. Не будет php код так выполняться. Вам нужно либо сделать форму, либо с помощью ajax обращаться к странице со скриптом, который будет данные в бд вносить.

например так (могут быть мелкие неточности и ошибки, но суть такова):

PHP:
скопировать код в буфер обмена
  1. <form action="add.php" method="POST">
  2. <input type="hidden" name="id" value="<?PHP echo $item['id']; ?>">
  3. <input type="submit" name="addPlus" value="Add +">
  4. </form>
  5.  
  6. //а это код страницы add.php
  7.  
  8. <?PHP
  9.  
  10. if($_POST['addPlus']){
  11.    plusTovar($_POST['id']);
  12. }
  13.  
  14. function plusTovar($id){//переменая $id здесь работает
  15.         global $a;//переменая запуск БД
  16.         $sql=mysqli_query($a, "UPDATE basket SET quantity=quantity+1 WHERE id=$id") or die (mysqli_error($a));
  17.         return $sql;
  18. }      
  19.  
  20. ?>
freelsd Отправлено: 10 Марта, 2016 - 14:39:53 • Тема: Не записывает форму в таблицу • Форум: Вопросы новичков

Ответов: 12
Просмотров: 548
Сейчас mysql* функции не используются, нужно юзать либо PDO либо mysqli. А чтобы понять почему данные не добавились нужно выводить сообщение с информацией об ошибке:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. if ($sql) {
  4.         echo "<p>Данные успешно добавлены в таблицу.</p>";
  5. } else {
  6.         echo "<p>ERROR, ".mysql_error()." not added.</p>";
  7.        
  8. }

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB