PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (7): « 1 2 3 4 [5] 6 7 »
Найдено сообщений: 94
Wooorker
Отправлено: 25 Декабря, 2013 - 10:02:52 • Тема: Где ошибка в запросе к mySQL? • Форум: Вопросы новичков
Ответов: 9 Просмотров: 298
kotyara1979 пишет:
Тогда зачем сессия, если все происходит в одном скрипте? Лишняя трата ресурсов.
Если в разных, то есть ли старт сессии в целевом скрипте?
Я просто экспериментирую с сессиями, т. к. первый раз с этим сталкиваюсь.
Wooorker
Отправлено: 25 Декабря, 2013 - 07:44:42 • Тема: Где ошибка в запросе к mySQL? • Форум: Вопросы новичков
Ответов: 9 Просмотров: 298
kotyara1979 пишет:
Где происходит присвоение в сессию данных?
Нет ли между присвоением и чтением переадресации? стартует ли сессия после переадресации?
Присвоение данных в сессию происходит в этом же скрипте, в самом начале таким образом:
PHP:
скопировать код в буфер обмена
//Проверим логин и пароль
if ( ! isset ( $_SESSION [ 'sdlogin' ] ) || ! isset ( $_SESSION [ 'sdpassword' ] ) ) {
echo "В сессии нет данных логина или пароля<br>" ;
if ( empty ( $_POST [ "login" ] ) || empty ( $_POST [ "password" ] ) ) {
die ( "Поля логин и пароль обязательные!" ) ; } else {
$_SESSION [ 'sdlogin' ] = $_POST [ 'login' ] ;
$_SESSION [ 'sdpassword' ] = $_POST [ 'password' ] ;
}
} else {
echo "Есть даннные логина (" . $_SESSION [ 'sdlogin' ] . ") и пароля (" . $_SESSION [ 'sdpassword' ] . ") в сессии<br>" ;
}
Если это криво выглядит - подскажите как лучше сделать?
Wooorker
Отправлено: 25 Декабря, 2013 - 06:40:53 • Тема: Где ошибка в запросе к mySQL? • Форум: Вопросы новичков
Ответов: 9 Просмотров: 298
JamesHound пишет: Что бы самому исправлять ошибки всегда делай проверку на ошибки особенно при обработке запросов в бд
Ошибка была в самом тексте, который я копипастил. М. б. какие-то символы не на латинице а на кириллице были - не знаю. Но когда я ручками перебил все запросы - всё заработало.
Но дальше - больше.
Кладу логин и пароль из POST в SESSION. И где-то что-то пошло не так, т. к. не работает должным образом.
PHP:
скопировать код в буфер обмена
$SQL = "SELECT * FROM `users` WHERE `login` = '" . $_SESSION [ 'sdlogin' ] . "' AND `password` = '" . md5 ( $_SESSION [ 'sdpassword' ] ) . "'" ; echo $SQL . "<br>" ;
здесь в браузере выводит текст "SELECT * FROM `users` WHERE `login` = 'user3' AND `password` = '92877a....sdf8'"
Здесь пишет: "Пользователь найден" PHP:
скопировать код в буфер обмена
}
}
else
{
mysql_close($link);
die("Не могу выбрать базу данных!");
}
}
else
{
die("Не могу присоедениться к серверу бд!");
}
?>
<html>
<head><title></title></head>
<body>
<?PHP
//Если есть переменная act с действием добавления комментария
if ( isset ( $_POST [ "act" ] ) && $_POST [ "act" ] == "addcomment" ) {
if ( ! isset ( $_SESSION [ 'sdlogin' ] ) || ! isset ( $_SESSION [ 'sdpassword' ] ) ) {
die ( "В сессию не переданы логин или пароль" ) ; }
Вот здесь получаю сообщение "В сессию не переданы логин или пароль"
Но почему? Выше ведь эта же проверка проходила успешно? Или в ходе работы скрипта данные сессии сбрасываются? (в коде нигде session_destroy() не писал).
Wooorker
Отправлено: 21 Декабря, 2013 - 09:35:02 • Тема: Где ошибка в запросе к mySQL? • Форум: Вопросы новичков
Ответов: 9 Просмотров: 298
Подскажите, пожалуйста, где ошибка?
Пользователь зарегистрировался, в базе он есть.
Специально для проверки вывел и список пользователей и текст запроса, который идёт в базу. Но почему-то проверка никак не проходит и выдаётся сообщение "Пользователь не найден".
Для тестирования создал уже двух пользователей, у которых и логин и пароль - user1 у первого пользователя, и user2, соответственно, у второго.
PHP:
скопировать код в буфер обмена
if ( empty ( $_POST [ "login" ] ) || empty ( $_POST [ "password" ] ) ) {
die ( "Поля логин и пароль обязательные!" ) ; }
$link = mysql_connect ( $mysql_host , $mysql_user , $mysql_password ) ; if ( $link )
{
{
//выводим список пользователей
echo "<tr><td>Пользователь</td><td align='left'valign='center'><input type='text'name='data[0]'value='" . $myrow [ login] . "'size='40'></td></tr>\n " ;
echo "<tr><td >Пароль</td><td align='left'><input type='text'name='data[1]'value='" . $myrow [ password] . "'size='40'></td></tr>\n <br>" ;
}
//закончили выводить список пользователей
//Ищем в базе нашего пользователя
$SQL = "SELECT * FROM `Users` WHERE `login` = '" . $_POST [ "login" ] . "' AND `password` = '" . $_POST [ "password" ] . "'" ;
echo $SQL . "<br>" ;
//echo $result."<br>";
{
die ( "Пользователь не найден!" ) ; }
}
Как работает этот код можно посмотреть на http://adm-stud[dot]w[dot]pw/sdayka
Это не реклама этого сайта, просто там я тестирую php
Wooorker
Отправлено: 19 Ноября, 2013 - 20:18:11 • Тема: if empty • Форум: Вопросы новичков
Ответов: 8 Просмотров: 356
Никто не знает как разделить проверку empty и == 0 ?
Вернее даже так:
- при НЕ первом запуске
передает
указанное значение скрипту.
- но и при ПЕРВОМ запуске передаётся в $var1 = 0
т. е. непонятно как определять первый ли это запуск, или в поле ввели значение = 0
Изменения типа тоже ничего не дают.
Wooorker
Отправлено: 15 Ноября, 2013 - 21:39:59 • Тема: if empty • Форум: Вопросы новичков
Ответов: 8 Просмотров: 356
Задам в этой же теме ещё похожий вопрос.
$var1 принимает значения от 0 до 5
Условие нормально срабатывает при первом запуске, когда $var1 не присвоено никакое значение.
И при значениях >0 тоже правильно срабатывает.
А когда передаёшь значение =0, то показывает ту же картинку, что и при первом запуске.
Почему для php значение =0 равнозначно empty? Как правильно проверку в этом случае проводить, чтобы и случай первого запуска обработать, и нулевое значение?
Wooorker
Отправлено: 12 Ноября, 2013 - 21:03:01 • Тема: if empty • Форум: Вопросы новичков
Ответов: 8 Просмотров: 356
DelphinPRO пишет: может $_GET['userName'] ?
Да, спасибо!
Как впрочем и $_REQUEST
Wooorker
Отправлено: 11 Ноября, 2013 - 21:09:17 • Тема: if empty • Форум: Вопросы новичков
Ответов: 8 Просмотров: 356
Простите, господа, за неумный вопрос.
Почему в этом коде
PHP:
скопировать код в буфер обмена
<?
print '<form>Пожалуйста введите ваше имя:
<input type="text" name="userName"><br>
<input type="submit"></form>' ;
} else {
print "<h3>Привет, $userName !</h3>" ;
}
?>
После нажатия кнопки не появляется "Привет, юзернэйм!" при заполненном поле userName?
Wooorker
Отправлено: 29 Октября, 2013 - 22:48:59 • Тема: Браузеры не показывают изображения сайтов на denwer • Форум: Apache и другие веб-серверы
Ответов: 8 Просмотров: 1454
esterio пишет: Цитата: / shop_items_catalog_image976101.jpg
бесполезно
равно как и такая же строка с " или ' - картинка не отображается.
На нормальном хостинге всё ж нормально показывает, без всяких / и т. п.
Гугл говорит что настройки денвера не причём. В чём же тогда проблема?
Wooorker
Отправлено: 29 Октября, 2013 - 21:55:10 • Тема: Браузеры не показывают изображения сайтов на denwer • Форум: Apache и другие веб-серверы
Ответов: 8 Просмотров: 1454
esterio пишет: укажите полный путь к картинке от корня хоста
Подскажите, пожалуйста, как это на денвере выглядит?
Так: "//home/testphp.ru/www/shop_items_catalog_image976101.jpg"
или "home/testphp.ru/www/shop_items_catalog_image976101.jpg"
или "/testphp.ru/www/shop_items_catalog_image976101.jpg"
в общем пробывал по-всякому - картинка не отображается.
Wooorker
Отправлено: 03 Июня, 2012 - 17:09:42 • Тема: Передача разделителей при экспорте CSV • Форум: Напишите за меня, пожалуйста
Ответов: 2 Просмотров: 39
tuareg пишет: Ищите обработчик этой формы, там скорее всего массив допустимых значений, туда добавляйте ваши разделители
Да, действительно
PHP:
скопировать код в буфер обмена
/*
* Метод возвращает разделитель полей
*
* @return char
*/
public function getDividerField( )
{
$divider_field = JRequest:: getVar ( 'divider_field' , ',' ) ;
switch ( $divider_field ) {
case 'colon' :
$divider_field = ':' ;
break ;
case 'semicolon' :
$divider_field = ';' ;
break ;
case 'space' :
$divider_field = ' ' ;
break ;
default :
$divider_field = ',' ;
break ;
}
return $divider_field ;
}
/*
* Метод возвращает разделитель текста
*
* @return char
*/
public function getDividerText( )
{
$divider_text = JRequest:: getVar ( 'divider_text' ) ;
switch ( $divider_text ) {
case 'quote' :
$divider_text = '"' ;
break ;
case 'apos' :
$divider_text = "'" ;
break ;
default :
$divider_text = '"' ;
break ;
}
return $divider_text ;
}
файл /administrator/components/com_si mplecsv/helpers/simplecsv.php
Wooorker
Отправлено: 02 Июня, 2012 - 22:52:46 • Тема: Передача разделителей при экспорте CSV • Форум: Напишите за меня, пожалуйста
Ответов: 2 Просмотров: 39
Подскажите, пожалуйста, как добавить в SimpleCSV Virtuemart кроме "обычных" разделителей "нестандартные"
Вот текст скрипта /administrator/components/com_si mplecsv/views/simplecsv/tmpl/def ault.php
CODE (
html ):
скопировать код в буфер обмена
<table >
<tr >
<td width = "150px" align = "right" ><?php echo JText::_( 'DIVIDER FIELD' ) ; ?></ td >
<td align = "left" >
<select name = "divider_field" class = "divider" >
<option value = "comma" > ,</ option >
<option value = "colon" > :</ option >
<option value = "semicolon" > ;</ option >
<option value = "space" > {<?php echo JText::_( 'SPACE' ) ; ?> }</ option >
</ select >
</ td >
</ tr >
<tr >
<td align = "right" ><?php echo JText::_( 'DIVIDER TEXT' ) ; ?></ td >
<td align = "left" >
<select name = "divider_text" class = "divider" >
<option value = "quote" > "</ option >
<option value = "apos" > '</ option >
</ select >
</ td >
</ tr >
</ table >
Нужно добавить разделитель полей ^ и разделитель текста ^
Простое добавление
приводит к тому, что используются разделители
и
соответственно.
Поиск пробывал формулировать и так и эдак, ничего нужного не нашёл
К сожалению стандартные разделители текста никак не подходят, т. к. в тексте запросто могут встретиться как ' так и ".
Страниц (7): « 1 2 3 4 [5] 6 7 »
Powered by ExBB FM 1.0 RC1. InvisionExBB