Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

RE: Вопросы по PHP (для новичков)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> RE: Вопросы по PHP (для новичков)
Имя
Сообщение << Старые топики   Новые топики >>
RE: Вопросы по PHP (для новичков) - 2009-07-09 03:12:00.346666   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
Вся инфа хранится здесь - &lt;textarea name="mailMsg" id="mailMsg" cols="90" rows="10" class="fields" readonly&gt;&lt;/textarea&gt;
Т.е. просто либо используй их способ, в HTML-коде zayavka.php все понятно, либо форму добавь и из текстарии получай, ну или как-нибудь по-своему, куда все данные складываются я написал.
Post #: 961
RE: Вопросы по PHP (для новичков) - 2009-07-14 18:43:26.740000   
Revival1002

Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
Есть код:
&lt;?php include "config.php"; if (isset($_POST['login'])) { &nbsp;&nbsp; $passwordHash = md5($_POST['password']); &nbsp;&nbsp; $login = $_POST['login']; &nbsp;&nbsp;&nbsp;&nbsp; if (!preg_match("/^\w{3,}$/", $login)) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die("&lt;script&gt;alert(\"Неправильный логин!\");&lt;/script&gt;&lt;meta http-equiv=\"Refresh\" content=\"0; URL=$site\"&gt;"); &nbsp;&nbsp; } &nbsp;&nbsp; $link = mysql_connect('localhost', $dbuser, $dbpass); &nbsp;&nbsp; if (!$link) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die("&lt;script&gt;alert(\"Ошибка подключения к БД\");&lt;/script&gt;&lt;meta http-equiv=\"Refresh\" content=\"0; URL=$site\"&gt;"); &nbsp;&nbsp; }else{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_select_db($sitedbname, $link); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $res = mysql_query("SELECT status FROM tbl_users WHERE login='$login'", $link); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (mysql_num_rows($res) &lt; 1) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_close($link); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die("&lt;script&gt;alert(\"Такого пользователя нет\");&lt;/script&gt;&lt;meta http-equiv=\"Refresh\"content=\"0; URL=$site\"&gt;");} $userpass = mysql_query("SELECT 'pass' FROM tbl_users WHERE login='$login'", $link); $password = mysql_result($userpass, 0 ); if ($password != $passwordHash) {die("&lt;script&gt;alert(\"Неверный пароль\");&lt;/script&gt;&lt;meta http-equiv=\"Refresh\" content=\"0; URL=$site\"&gt;");} else { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session_start(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $_SESSION['user'] = $login; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_close($link); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (isset($_SERVER['HTTP_REFERER'])) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; header ("location: ".$_SERVER['HTTP_REFERER']); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; header ("location: index.php"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } &nbsp;&nbsp; } }} mysql_close($link); ?&gt; При попытки авторизации выдает - Неверный пароль. Как это исправить. (есть предположение что запутался с фигурными скобками, н ошибку не нашел)
Post #: 962
RE: Вопросы по PHP (для новичков) - 2009-07-14 21:01:42.633333   
МегаЛамер

Сообщений: 64
Оценки: 0
Присоединился: 2009-05-14 20:39:48.716666
попробуй делать вот так
$user = mysql_query("select * from tbl_users where `login`='$login' and `pass`='$passwordHash'")
это будет более правильный метод на мой взгляд
чем проверять есть ли юзер такой
if(mysql_num_rows($user) == 0)
{
die("<sсriрt>alert(\"Неверный логин и/или пароль\");</sсriрt><meta http-equiv=\"Refresh\" content=\"0; URL=$site\">")
}
Post #: 963
RE: Вопросы по PHP (для новичков) - 2009-07-15 08:09:49.613333   
Revival1002

Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
Все спасибо, помогли.
—–
Хотя нет. Все равно не работает((
Post #: 964
RE: Вопросы по PHP (для новичков) - 2009-07-15 15:37:34.473333   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
Revival1002 ты исправил на то, что тебе предложил МегаЛамер? И что теперь выдает?
Пришли исправленный код.
Post #: 965
RE: Вопросы по PHP (для новичков) - 2009-07-15 19:07:54.853333   
Revival1002

Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
quote:

&lt;?php
include "config.php";
if (isset($_POST['login'])) {
&nbsp;&nbsp; $passwordHash = md5($_POST['pass']);
&nbsp;&nbsp; $login = $_POST['login'];
&nbsp;&nbsp;&nbsp;&nbsp; if (!preg_match("/^\w{3,}$/", $login)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die("&lt;script&gt;alert(\"Неправильный логин!\");&lt;/script&gt;&lt;meta http-equiv=\"Refresh\" content=\"0; URL=$site\"&gt;");
&nbsp;&nbsp; }
&nbsp;&nbsp; $link = mysql_connect(localhost, $dbuser, $dbpass);
&nbsp;&nbsp; if (!$link) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die("&lt;script&gt;alert(\"Ошибка подключения к БД\");&lt;/script&gt;&lt;meta http-equiv=\"Refresh\" content=\"0; URL=$site

\"&gt;");
&nbsp;&nbsp; }else{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_select_db($sitedbname, $link);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $user = mysql_query("select * from tbl_users where 'login'=\"$login\" and 'pass'=\"$passwordHash\"", $link);
echo mysql_num_rows($user);
&nbsp;&nbsp;&nbsp; if (mysql_num_rows($user) == 0)
{
die("&lt;script&gt;alert(\"Неверный логин или пароль\")&lt;/script&gt;");
} else {

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session_start();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $_SESSION['user'] = $login;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_close($link);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (isset($_SERVER['HTTP_REFERER'])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; header ("location: ".$_SERVER['HTTP_REFERER']);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; header ("location: index.php");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp; }
}}
mysql_close($link);
?&gt;

Добавил строчку
quote:

echo mysql_num_rows($user);

Результат всегда равен 0. Не понятно почему.
Post #: 966
RE: Вопросы по PHP (для новичков) - 2009-07-15 19:18:00.100000   
QunneD

Сообщений: 833
Оценки: 0
Присоединился: 2008-11-09 20:54:38.113333
&lt;?php include "config.php"; if (isset($_POST['login'])) { $passwordHash = md5($_POST['pass']); $login = $_POST['login']; if (!preg_match("/^\w{3,}$/", $login)) { die("&lt;sсriрt&gt;alert(\"Неправильный логин!\");&lt;/sсriрt&gt;&lt;meta http-equiv=\"Refresh\" content=\"0; URL=$site\"&gt;"); } $link = mysql_connect(localhost, $dbuser, $dbpass); if (!$link) { die("&lt;sсriрt&gt;alert(\"Ошибка подключения к БД\");&lt;/sсriрt&gt;&lt;meta http-equiv=\"Refresh\" content=\"0; URL=$site \"&gt;"); }else{ mysql_select_db($sitedbname, $link); $user = mysql_query("select * from tbl_users where 'login'=\"$login\" and 'pass'=\"$passwordHash\"", $link); $myrow = mysql_num_rows($user); if (!$myrow['login'] == $login and $myrow['pass'] == $passwordHash) { die("&lt;sсriрt&gt;alert(\"Неверный логин или пароль\")&lt;/sсriрt&gt;"); } else { session_start(); $_SESSION['user'] = $login; mysql_close($link); if (isset($_SERVER['HTTP_REFERER'])) { header ("location: ".$_SERVER['HTTP_REFERER']); }else { header ("location: index.php"); } } }} mysql_close($link); ?&gt;
Так пробуй, точно не уверен.
Post #: 967
RE: Вопросы по PHP (для новичков) - 2009-07-15 19:20:06.670000   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
Кажется я понял. Делай такой запрос:
"select * from tbl_users where login='$login' and pass='$passwordHash'"
Надо убрать кавычки в именах столбцов.
Post #: 968
RE: Вопросы по PHP (для новичков) - 2009-07-15 19:22:13.490000   
QunneD

Сообщений: 833
Оценки: 0
Присоединился: 2008-11-09 20:54:38.113333
quote:

Надо убрать кавычки в именах столбцов.

Они вроде не влияют
Post #: 969
RE: Вопросы по PHP (для новичков) - 2009-07-15 19:26:17.416666   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
QunneD по идее 'login'=\"$login\" будет интерпритированно как сравнение константных строк.
Post #: 970
RE: Вопросы по PHP (для новичков) - 2009-07-15 19:33:32.260000   
QunneD

Сообщений: 833
Оценки: 0
Присоединился: 2008-11-09 20:54:38.113333
horiz, ну хз.. я вообще пишу так 'login'=$login
Post #: 971
RE: Вопросы по PHP (для новичков) - 2009-07-15 19:38:22.953333   
Revival1002

Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
QunneD, ваш код не работал. Авторизация происходила всегда (даже если пользователя нет в БД или пароль не верный)
horiz, да проблема оказалась в этом, спасибо!
Post #: 972
RE: Вопросы по PHP (для новичков) - 2009-07-15 19:49:34.913333   
QunneD

Сообщений: 833
Оценки: 0
Присоединился: 2008-11-09 20:54:38.113333
Revival1002, негде проверить было
Post #: 973
RE: Вопросы по PHP (для новичков) - 2009-07-15 21:18:27.876666   
Revival1002

Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
QunneD, только сейчас подумал. А ведь выражения в условии в вашем коде каждое в отдельные скобки надо было брать.
вместо:
$myrow = mysql_num_rows($user); if (!$myrow['login'] == $login and $myrow['pass'] == $passwordHash) { Надо было
$myrow = mysql_num_rows($user); if (!($myrow['login'] == $login) and !($myrow['pass'] == $passwordHash)) { Наверно так. Ну все равно, спасибо. Вы же пытались помочь!

Post #: 974
RE: Вопросы по PHP (для новичков) - 2009-07-15 21:49:17.500000   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
Ну тогда уж проще так:
if ($myrow['login']!=$login or $myrow['pass']!=$passwordHash)
Post #: 975
RE: Вопросы по PHP (для новичков) - 2009-07-21 23:30:57.580000   
phpdreamer

Сообщений: 119
Оценки: 0
Присоединился: 2009-07-19 00:46:59.216666
Нужна помощь
этот фрагмент кода(я его модифицировал для наглядности) приводит к неправильной работе скрипта

&lt;?php $Stroka = "test"; $postfields = array( 'vasia' =&gt; 'login' ,'password' =&gt; '123'); $curld = curl_init(); curl_setopt($curld, CURLOPT_POST, true); curl_setopt($curld, CURLOPT_POSTFIELDS, $postfields); curl_setopt($curld, CURLOPT_URL, 'http://test.page.com'); curl_setopt($curld, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($curld); // получаем ответ на запрос POST curl_close($curld); if(strpos($output, $Stroka)===false) // если тестовой строки нет в строке ответа - завершаем и выводим месагу { echo "Preved, MedveD"; //break; // - это все будет в цыкле, поэтому будет эта строка для выхода из него }; ?&gt;
функцию свою не выполняет
ошибок я не нашел - все как по учебнику(((
может люди больше понимающие найдут…

ЗЫ в двух словах задача этого фрагмента: отправить POST на страницу и проверить в ответе (странице которую вернул сервер) наличие заданой строки.
Если ее нет - значит все хорошо и можно завершать работу


if(strpos($output, $Stroka)===false)
всегда идет по true (тоесть, строка не найдена) даже когда она там 100% ЕСТЬ
Post #: 976
RE: Вопросы по PHP (для новичков) - 2009-07-22 01:18:59.476666   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
http://ru.php.net/function.strpos
quote:


int strpos ( string $haystack , mixed $needle [, int $offset= 0 ] )

Returns the numeric position of the first occurrence of needle in the haystack string


Возвращает НОМЕР позиции заданного в строке поиска, чтобы было понятно, как правильно, привожу два примера:

&lt;?php $output = 'lasso'; $stroka = 'ss'; if(strpos($output, $stroka)) echo 'ok'; else echo 'wrong'; ?&gt;
&lt;?php $output = 'lasso'; $stroka = 'sss'; if(strpos($output, $stroka)) echo 'ok'; else echo 'wrong'; ?&gt;
Т.е. не надо проверять в данном конкретном случае НОМЕР найденного вхождения, а достаточно проверить лишь корректность выполнения strpos


Post #: 977
RE: Вопросы по PHP (для новичков) - 2009-07-22 18:49:33.820000   
phpdreamer

Сообщений: 119
Оценки: 0
Присоединился: 2009-07-19 00:46:59.216666
if(strpos($output, $Stroka)===false)
это и делает, только проверяет именно некоректность - тоесть не наличие строки, а ее отсутствие
что мне и нужно
Post #: 978
RE: Вопросы по PHP (для новичков) - 2009-07-22 19:02:05.250000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
Вот упертый, у тебя там бред написан, если ты не понял, вот так правильно:

if(!strpos($output, $stroka))























Post #: 979
RE: Вопросы по PHP (для новичков) - 2009-07-22 20:17:01.836666   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
quote:

ORIGINAL: Pashkela
Вот упертый, у тебя там бред написан, если ты не понял, вот так правильно:

if(!strpos($output, $stroka))

А как сработает твой пример а случае:
$output="dddfffggg";
$stroka="ddd";
Позиция подстроки равна 0 и результат будет аналогичный, как при ненахождении подстроки и возвращении false.

phpdreamer
if(strpos($output, $Stroka)===false) - правельный вариант. У меня работает нормально. Проверь, что тебе возвращает курл.
Post #: 980
RE: Вопросы по PHP (для новичков) - 2009-07-22 22:57:30.656666   
phpdreamer

Сообщений: 119
Оценки: 0
Присоединился: 2009-07-19 00:46:59.216666

quote:

ORIGINAL: Pashkela

Вот упертый, у тебя там бред написан, если ты не понял, вот так правильно:

if(!strpos($output, $stroka))

гггг
в моем скрипте все было правильно!
просто хостинг был проблемный
все работает - зря я сюда писал
Post #: 981
RE: Вопросы по PHP (для новичков) - 2009-07-22 23:11:15.586666   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
if(strpos($output, $Stroka)===false)
if(!strpos($output, $stroka))

это понятно, просто….ладно, не хотите понимать, пишите как хотите, тем более автору уже и не надо:)
Post #: 982
RE: Вопросы по PHP (для новичков) - 2009-07-22 23:21:38.640000   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
Во-во, ведь совпадение может стоять в самом начале строки.
невнимательнось была
Post #: 983
RE: Вопросы по PHP (для новичков) - 2009-07-23 00:32:37.896666   
phpdreamer

Сообщений: 119
Оценки: 0
Присоединился: 2009-07-19 00:46:59.216666
quote:

ORIGINAL: Cep}|{

Во-во, ведь совпадение может стоять в самом начале строки.
невнимательнось была

совпадение в начале строки невозможно (из назначения данной части кода)

quote:

ORIGINAL: Pashkela

if(strpos($output, $Stroka)===false)
if(!strpos($output, $stroka))

это понятно, просто….ладно, не хотите понимать, пишите как хотите, тем более автору уже и не надо:)

да я понял, что if(!strpos($output, $stroka)) немножко лучше, но это не играет серьезной роли в данном случае

спс что хотели помоч
Post #: 984
RE: Вопросы по PHP (для новичков) - 2009-07-23 22:00:27.866666   
NEFFboy

Сообщений: 204
Оценки: 0
Присоединился: 2007-03-18 11:11:02.040000
при парсинге XML файла у меня возникает ошибка:

Elemet: ROOT

XML Error: Invalid character at line 3

вот

как исправить подскажите??
Post #: 985
RE: Вопросы по PHP (для новичков) - 2009-07-27 21:44:37.433333   
cyberx

Сообщений: 83
Оценки: 0
Присоединился: 2009-01-04 11:47:38.966666
У меня проблема с поиском. есть код который работает на одном сайте, копирую на другой и там он не работает.
вот подключения к базе и обработка переменных:

&lt;?php include ("bd.php"); if (isset($_POST['submit_s'])) {$submit_s=$_POST['submit_s'];} if (isset($_POST['search'])) {$search=$_POST['search'];} if (isset($submit_s)) { if (empty($search) or strlen($search)&lt;4) { exit ("&lt;p&gt;Не ввели слово или оно меньше 4 символов&lt;/p&gt;"); } $search = trim($search); $search = stripslashes($search); $search = htmlspecialchars($search); } else { exit ("&lt;p&gt;error!&lt;/p&gt;"); } ?&gt; а здесь выводится: &lt;?php &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $result = mysql_query ("select id,name,lastname,post from person where MATCH(text) AGAINST('$search')",$db); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!$result) &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; echo "&lt;p&gt;error!&lt;/p&gt;"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit (mysql_error()); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (mysql_num_rows ($result) &gt; 0) &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $myrow = mysql_fetch_array($result); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; do &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; printf ("&lt;table align='center'&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;p&gt;Id: %s&lt;/p&gt;&lt;p&gt;Name: %s&lt;/p&gt;&lt;p&gt;Lastname: %s&lt;/p&gt;&lt;/td&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;p&gt;Gender: %s&lt;/p&gt;&lt;/td&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;&lt;br&gt;&lt;br&gt;", $myrow["id"],$myrow["name"],$myrow["lastname"],$myrow["post"]); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while ($myrow = mysql_fetch_array($result)); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; echo "&lt;p&gt;error!&lt;/p&gt;"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit (); &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ?&gt;
Post #: 986
RE: Вопросы по PHP (для новичков) - 2009-07-28 00:49:27   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
В чем выражается его "не работа" ?
Post #: 987
RE: Вопросы по PHP (для новичков) - 2009-07-28 10:48:32.843333   
sepo

Сообщений: 434
Оценки: 10
Присоединился: 2009-01-13 21:19:09.150000
Требуется написать для небольшого магазина кассовую программу с интегрированной системой складского учёта на PHP Mysql.

Особенности:
* Несколько терминалов
* Интеграция с движком CS-Cart

Основные функции

* регистрация прихода и расхода товара;
* Фильтры и поиск товара, как по наименованиям, так и по бар-кодам, вендор-кодам, названию, категориям и т.д.
* Применение в таблицах редактирования товаров AJAX-а (например grid таблицы)
* Подробная статистика продаж за день/месяц/год (по товару, категории товаров)
* Система скидок (например по желанию кассира можно скинуть с товара цену) в процентах и в цене.
* Слежение за складом и автоматический съем единицы товара из магазина CS-Cart.
* Система ежечасного бэкапа данных.
* Система должна давать возможность продавать одновременно несколько единиц товара
* Отпуск клиенту товара, не существующего в базах данных кассового терминала или движка CS-Cart
* Логирование действий кассира (вход/выход, возврат товара, IP).
* Логирование ошибок - попытка несанкционированного входа - запись неверно введеных паролей.
* Система блокировки IP (White и Blacklist)
* Высокая защищенность движка. включение-выключение SSL протокола. Проверка пользователя по сессиям + cookies. Тестирование движка на Mysql инъекции.

и как лучше? чтоб это всё работало и локально тоже ?- без интернета, с возможностью последующей связки с сайтом?
может какие-то функции я не учёл, может что дельное ещё кто подскажет…

Заранее благодарю за любые подсказки…
Post #: 988
RE: Вопросы по PHP (для новичков) - 2009-07-28 13:19:17.126666   
cyberx

Сообщений: 83
Оценки: 0
Присоединился: 2009-01-04 11:47:38.966666
выдает эту ошибку:
quote:

error!
Unknown column 'text' in 'where clause'


не могу понять в чем причина. на одном сайте работает а копирую этот код в другой и эта ошибка вылезает. сайти ничем не отличаются. что самое главное код правильно ли написан?
Post #: 989
RE: Вопросы по PHP (для новичков) - 2009-07-28 14:52:36.830000   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
quote:

ORIGINAL: sepo

Требуется написать для небольшого магазина кассовую программу с интегрированной системой складского учёта на PHP Mysql.

Особенности:
* Несколько терминалов
* Интеграция с движком CS-Cart

Основные функции

* регистрация прихода и расхода товара;
* Фильтры и поиск товара, как по наименованиям, так и по бар-кодам, вендор-кодам, названию, категориям и т.д.
* Применение в таблицах редактирования товаров AJAX-а (например grid таблицы)
* Подробная статистика продаж за день/месяц/год (по товару, категории товаров)
* Система скидок (например по желанию кассира можно скинуть с товара цену) в процентах и в цене.
* Слежение за складом и автоматический съем единицы товара из магазина CS-Cart.
* Система ежечасного бэкапа данных.
* Система должна давать возможность продавать одновременно несколько единиц товара
* Отпуск клиенту товара, не существующего в базах данных кассового терминала или движка CS-Cart
* Логирование действий кассира (вход/выход, возврат товара, IP).
* Логирование ошибок - попытка несанкционированного входа - запись неверно введеных паролей.
* Система блокировки IP (White и Blacklist)
* Высокая защищенность движка. включение-выключение SSL протокола. Проверка пользователя по сессиям + cookies. Тестирование движка на Mysql инъекции.

и как лучше? чтоб это всё работало и локально тоже ?- без интернета, с возможностью последующей связки с сайтом?
может какие-то функции я не учёл, может что дельное ещё кто подскажет…

Заранее благодарю за любые подсказки…
минимум 3500 евро - единственная подсказка.
Post #: 990
RE: Вопросы по PHP (для новичков) - 2009-07-28 15:17:28.836666   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
quote:

ORIGINAL: cyberx

выдает эту ошибку:
quote:

error!
Unknown column 'text' in 'where clause'


не могу понять в чем причина. на одном сайте работает а копирую этот код в другой и эта ошибка вылезает. сайти ничем не отличаются. что самое главное код правильно ли написан?

Все-таки чем-то отличаются. В таблице 'person' есть столбец 'text' ?

Post #: 991
RE: Вопросы по PHP (для новичков) - 2009-07-28 16:23:48.406666   
cyberx

Сообщений: 83
Оценки: 0
Присоединился: 2009-01-04 11:47:38.966666
добавил и пишет:

error! Can't find FULLTEXT index matching the column list
Post #: 992
RE: Вопросы по PHP (для новичков) - 2009-07-28 16:26:27.640000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
quote:


Full-text indexes can be used only with MyISAM tables, and can be created only for CHAR, VARCHAR, or TEXT columns.

A FULLTEXT index definition can be given in the CREATE TABLE statement when a table is created, or added later using ALTER TABLE or CREATE INDEX.


1. FULLTEXT может быть использован только с MyISAM таблицами, и может работать только с колонками, чей тип определен как:

CHAR
VARCHAR
TEXT

2. Для использования FULLTEXT должно быть произведено индексирование таблицы, либо при её создании, либо добавлено позже с помощью функций ALTER TABLE или CREATE INDEX
http://dev.mysql.com/doc/refman/5.1/en/create-index.html

Скорее всего невыполнение одного из этих двух пунктов
Post #: 993
RE: Вопросы по PHP (для новичков) - 2009-07-28 17:07:19.790000   
cyberx

Сообщений: 83
Оценки: 0
Присоединился: 2009-01-04 11:47:38.966666
дело в том что я на локалке собрал сайт и там все работало, потом по тому же принципу собрал второй. те же поля в базе и все, но там уже не работал. щас собрал третий и тут тоже самое. шяс не хватало столбца 'text', добавил и тоже самое. на втором была копия первого но чет нито.
Post #: 994
RE: Вопросы по PHP (для новичков) - 2009-07-28 17:36:24.056666   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
Ты те два пункта вообще читал, что написаны?:)) Врубайся, ссылки там есть
Post #: 995
RE: Вопросы по PHP (для новичков) - 2009-07-31 19:23:27.700000   
Revival1002

Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
Есть код.
&lt;?php include "config.php"; $dbc = mysql_connect('localhost', $dbuser, $dbpass); mysql_select_db($sitedbname, $dbc); $id = $_GET['id']; $query = mysql_query("SELECT * FROM news WHERE id = $id", $dbc); while ($res = mysql_fetch_array($query)) { $title = $res['title']; $description = $res['description']; $text = $res['text']; } $type = $_GET['type']; if ($type == 'editnews') { $f1 =&nbsp; &lt;&lt;&lt;QWE &nbsp;&nbsp;&nbsp; &lt;center&gt; &nbsp;&nbsp;&nbsp; &lt;form action="addnews.php" method="POST"&gt; &nbsp;&nbsp;&nbsp; &lt;table&gt; &nbsp;&nbsp;&nbsp; &lt;tr&gt; &nbsp;&nbsp;&nbsp; &lt;td&gt;Заголовок новости: &lt;/td&gt;&lt;td&gt;&lt;input size="52" name="title" value="$title\"&gt;&lt;/td&gt;&lt;/tr&gt; &nbsp;&nbsp;&nbsp; &lt;tr&gt; &nbsp;&nbsp;&nbsp; &lt;td valign="top"&gt;Краткое описание:&lt;/td&gt;&lt;td&gt;&lt;textarea cols="40" rows="6" name="description" value="$description"&gt;&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt; &nbsp;&nbsp;&nbsp; &lt;tr&gt;&lt;td valign="top"&gt;Текст статьи: &lt;/td&gt;&lt;td&gt; &lt;textarea cols="40" rows="15" name="text" value="$text"&gt;&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt; &nbsp;&nbsp;&nbsp; &lt;/table&gt; &nbsp;&nbsp;&nbsp; &lt;input type="submit" value="Разместить новость"&gt; &nbsp;&nbsp;&nbsp; &lt;/form&gt; QWE; &nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp; else &nbsp;&nbsp;&nbsp; { &nbsp;&nbsp;&nbsp; $f1 = &lt;&lt;&lt;RTY &lt;center&gt; &nbsp;&nbsp;&nbsp; &lt;form action="addnews.php" method="POST"&gt; &nbsp;&nbsp;&nbsp; &lt;table&gt; &nbsp;&nbsp;&nbsp; &lt;tr&gt; &nbsp;&nbsp;&nbsp; &lt;td&gt;Заголовок новости: &lt;/td&gt;&lt;td&gt;&lt;input size="52" name="title"&gt;&lt;/td&gt;&lt;/tr&gt; &nbsp;&nbsp;&nbsp; &lt;tr&gt; &nbsp;&nbsp;&nbsp; &lt;td valign="top"&gt;Краткое описание:&lt;/td&gt;&lt;td&gt;&lt;textarea cols="40" rows="6" name="description"&gt;&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt; &nbsp;&nbsp;&nbsp; &lt;tr&gt;&lt;td valign="top"&gt;Текст статьи: &lt;/td&gt;&lt;td&gt; &lt;textarea cols="40" rows="15" name="text"&gt;&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt; &nbsp;&nbsp;&nbsp; &lt;/table&gt; &nbsp;&nbsp;&nbsp; &lt;input type="submit" value="Разместить новость"&gt; RTY; &nbsp;&nbsp;&nbsp; } ?&gt; Вот ошибка:
[b]Parse error[/b]: syntax error, unexpected $end in [b]Z:\home\RevivalCMS.ru\www\newsform.inc[/b] on line [b]42[/b] Как решить эту проблему?
Post #: 996
RE: Вопросы по PHP (для новичков) - 2009-07-31 19:50:02.046666   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
QWE; на строчку вниз опусти и прибей к левому краю, не взирая на красоту. Тоже самое касается RTY;
Post #: 997
RE: Вопросы по PHP (для новичков) - 2009-07-31 20:07:37.586666   
Revival1002

Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
Та же ошибка, только номер строчки изменился(
Post #: 998
RE: Вопросы по PHP (для новичков) - 2009-08-01 00:44:12.640000   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
Нельзя часть условия вставлять внутрь внутрь QWE
Post #: 999
RE: Вопросы по PHP (для новичков) - 2009-08-01 10:50:36.870000   
Revival1002

Сообщений: 96
Оценки: 0
Присоединился: 2009-02-28 18:09:51.870000
ну а как же тогда это реализовать? я сделал чтобы html код шел в одну строку и использовал за экранировал кавычки . Работает, но выглядит код не хорошо. Есть другие способы?
Post #: 1000
Страниц:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [25] 26 27 28 29 30 31 32 33 34 35 36 37 38
Все форумы >> [Веб-программинг] >> RE: Вопросы по PHP (для новичков)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.