PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (11): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
Найдено сообщений: 157
quinlena
Отправлено: 30 Ноября, 2012 - 07:29:09 • Тема: Проблемы с $_SERVER["HTTP_REFERER"] • Форум: Вопросы новичков
Ответов: 16 Просмотров: 1081
avtor.fox пишет: quinlena
Распишите структуру (вход, проверка, редирект). Приведите код входа и прочее. И всё время смотрите входные данные.
Вот код:
PHP:
скопировать код в буфер обмена
<?PHP
include_once ( "config.php" ) ;
checkLoggedIn( "no" ) ;
$title = "Страница авторизации" ;
$fname = './tpl/header_cli1.html' ;
echo $fcontent ;
function log_append( $str , $file ) {
global $users ;
$message = sprintf ( "INSERT INTO `logs` (`user`, `file`,`act`) values ('%s ','%s ','%s ')" ,
$_SESSION [ 'login' ] ,
$file ,
$str
) ;
echo $message ; die( ) ;
}
}
if ( isset ( $_POST [ "submit" ] ) ) { field_validator( "login name" , $_POST [ "login" ] , "alphanumeric" , 4, 43) ;
field_validator
( "password" , ( md5 ( md5 ( $_POST [ 'password' ] ) . $salt ) ) , "string" , 4
, 43
) ; if ( $messages ) {
doIndex( ) ;
}
if ( ! ( $row = checkPass
( $_POST [ "login" ] , ( md5 ( md5 ( $_POST [ 'password' ] ) . $salt ) ) ) ) ) { $messages [ ] = "Неправильный логин или пароль, попробуйте снова!" ;
}
if ( $messages ) {
doIndex( ) ;
}
cleanMemberSession( $row [ "login" ] , $row [ "pas" ] , $_SERVER [ 'REQUEST_URI' ] ) ;
$str = 'User Log In!' ;
log_append
( $str , pathinfo ( __FILE__ , PATHINFO_FILENAME
) ) ; $now_date = strtotime ( date ( "d-m-Y" ) ) ; // Результат 1259614800 секунд $future_date = $now_date + 432000 ;
$holiday = date ( "Y-m-d" , $future_date ) ; $hol = mysql_query ( "SELECT * from `holidays` where `date_hol`BETWEEN '" . $today . "' AND '" . $holiday . "'" , $link ) ; $dep = mysql_query ( "select `id_dep` from `users_sys` where `login`='" . $_SESSION [ "login" ] . "'" , $link ) ;
$now_date = strtotime ( date ( "d-m-Y" ) ) ; // Результат 1259614800 секунд $future_date = $now_date + 432000 ;
$holiday = date ( "Y-m-d" , $future_date ) ; //mysql_query("SET NAMES 'cp1251'");
$hol = mysql_query ( "SELECT * from `holidays` where `date_hol`BETWEEN '" . $today . "' AND '" . $holiday . "'" , $link ) ; $dep = mysql_query ( "select `id_dep` from `users_sys` where `login`='" . $_SESSION [ "login" ] . "'" , $link ) ; $count_mes = 0 ;
if ( $count_mes == 0 ) {
?> <link href="css/jquery.alerts.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery.alerts.js"></script><?
echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><script>
alert('До праздника " . $holi [ 'name_hol' ] . " осталось" . floor ( ( $koli - $now_date ) / 86400 ) . " дн.');
</script> " ;
}
}
$ssil = $_POST [ 'ssil' ] ;
if ( $ssil = "http://адрессайта/login.php" ) {
//echo $ssil;die();
echo "<script>document.location.href='index.php';</script>" ;
}
else {
echo "<script>document.location.href=" . $ssil . ";</script>" ;
}
}
else {
doIndex( ) ;
}
function doIndex( ) {
global $messages ;
global $title ;
?>
<html>
<head>
<title><?PHP print $title ; ?> </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div id="cont">
<div id="conteiner"><div id="sign">
<h3><?PHP print $title ; ?> </h3>
<?PHP
if ( $messages ) { displayErrors( $messages ) ; }
?>
<form action="<?PHP print $_SERVER [ "PHP_SELF" ] ; ?> " method="POST">
<table>
<tr><td>Логин:</td><td><input type="text" name="login"
value="
<?PHP print isset ( $_POST [ "login" ] ) ?
$_POST [ "login" ] : "" ; ?> "
maxlength="15"></td></tr>
<tr><td>Пароль:</td><td><input type="password" name="password" value="" maxlength="15"></td></tr><br></br>
<tr align="center"><td> </td><td><input name="submit" type="submit" class="submit" value="Вход"></td></tr>
<td><input type="hidden" name="ssil" value="<? print $_SERVER [ "HTTP_REFERER" ] ; ?> "></td>
</table>
</form>
</div>
</div>
</div>
</body>
</html>
<?PHP
}
?>
<style>
#conteiner{
position: relative;
width: 500px;
height: 300px;
background: url(/images/content_bg.png);
margin: auto;
top: 100px;
border-radius: 10px 10px 10px 10px;
-moz-border-radius: 10px 10px 10px 10px;
-khtml-border-radius:10px 10px 10px 10px;
box-shadow: 0px 1px 10px #010101;
padding: 20px;
}
#sign{
margin: auto;
position: relative;
width: 300px;
}
</style>
(Добавление)
avtor.fox пишет: quinlena
Распишите структуру (вход, проверка, редирект). Приведите код входа и прочее. И всё время смотрите входные данные.
И еще, после нажатия на "вход" почему-то в $_SERVER["HTTP_REFERER"] записывается login.php(((
Может можно $_SERVER["HTTP_REFERER"] чем-то заменить?
quinlena
Отправлено: 30 Ноября, 2012 - 06:54:47 • Тема: Проблемы с $_SERVER["HTTP_REFERER"] • Форум: Вопросы новичков
Ответов: 16 Просмотров: 1081
dubasua пишет: $_SERVER["HTTP_REFERER"] не будет работать в include, только на первой странице. Если Вы подключаете файл include, и там вызываете $_SERVER["HTTP_REFERER"], он будет пустой.
Файл не подключается include! Это просто входная страница, и в ней это поле.
quinlena
Отправлено: 30 Ноября, 2012 - 06:36:40 • Тема: Проблемы с $_SERVER["HTTP_REFERER"] • Форум: Вопросы новичков
Ответов: 16 Просмотров: 1081
Всем здравствуйте! Проблема состоит в том, что на странице login.php создаю скрытое поле:
Оно запоминает предыдущую страницу. Потом:
PHP:
скопировать код в буфер обмена
$ssil = $_POST [ 'ssil' ] ;
if ( $ssil = "http://адрессайта/login.php" ) {
echo "<script>document.location.href='index.php';</script>" ;
}
else {
echo "<script>document.location.href=" . $ssil . ";</script>" ;
}
Но почему-то условие не срабатывает и постоянно переходит на index.php
В чем может быть проблема?
quinlena
Отправлено: 23 Октября, 2012 - 09:21:38 • Тема: Кнопки +/- и дерево • Форум: JavaScript & VBScript
Ответов: 3 Просмотров: 939
Имеется раскрывающееся дерево, есть кнопочки плюс/минус, отдельно меняются плюс на минус и наоборот. Но вот при этом содержимое не показывается. Вот код, функция:
PHP:
скопировать код в буфер обмена
function tree_print( & $a_tree , $id_par_service = 0 )
{
//условие завершения рекурсии
//Условие, при котором функция никогда не вызывает сама себя
//функция empty() - вернет ложь во всех нужных нам случаях:
// - элемент массива не определен
// - элемент массива определен, но является пустым массивом
if ( empty ( $a_tree [ $id_par_service ] ) ) { return ; }
echo "<ul class='open_list' ><div class='close'>" ;
for ( $i = 0 ; $i < count( $a_tree [ $id_par_service ] ) ; $i ++ )
{ $style = mysql_query ( "select * from `dir_service` where `id_service`='" . $a_tree [ $id_par_service ] [ $i ] [ 'id_service' ] . "'" ) ; if ( $style [ 'parent' ] == 1) {
echo "<li><i class='plus'>+</i><label><INPUT TYPE=RADIO NAME=parent VALUE=" . $a_tree [ $id_par_service ] [ $i ] [ 'id_service' ] . "><span >" . $a_tree [ $id_par_service ] [ $i ] [ 'name_service' ] . "<label></span>" ;
}
//onclick='tgg_parent(this);'
if ( $style [ 'parent' ] == 0) {
echo "<li ><i class='minus'>-</i><INPUT TYPE=RADIO NAME=parent VALUE=" . $a_tree [ $id_par_service ] [ $i ] [ 'id_service' ] . " ><span >" . $a_tree [ $id_par_service ] [ $i ] [ 'name_service' ] . "</span>" ;
}
//рекурсивный вызов - список всех дочерних элементов нужно вставить
// именно в этом месте:
// <li>название
// ** тут список дочерних элементов, он показывается рекурсивным вызовом **
// </li>
tree_print( $a_tree , $a_tree [ $id_par_service ] [ $i ] [ 'id_service' ] ) ;
echo "</li>" ;
}
echo "</div></ul>" ;
}
Собственно js-код
CODE (
javascript ):
скопировать код в буфер обмена
$( document) .ready ( function ( ) {
jQuery( '.open_list div' ) .slideUp ( ) ;
jQuery( '.open_list i' ) .click ( function ( ) {
if ( ! jQuery( this ) .parent ( ) .children ( 'div' ) ) { jQuery( this ) .className ( ) = 'minus' ; } else { jQuery( this ) .toggleClass ( 'plus minus' ) ; }
jQuery( this ) .parent ( ) .children ( 'div' ) .slideToggle ( ) ;
jQuery( this ) .parent ( ) .children ( 'div' ) .toggleClass ( 'close open' ) ;
if ( jQuery( this ) .hasClass ( 'plus' ) ) { jQuery( this ) .text ( '+' ) ; } else { jQuery( this ) .text ( '-' ) ; }
} ) ;
} )
Ну и css
CODE (
htmlphp ):
скопировать код в буфер обмена
. ul. open_list li { margin: 0px; background: none; }
. open_list li i { color: #f00;}
. itemBody . open_list li . close { display: none; }
. itemBody . open_list li . open{ display: block; }
quinlena
Отправлено: 25 Сентября, 2012 - 06:48:32 • Тема: Восходящая рекурсивная функция • Форум: Вопросы новичков
Ответов: 4 Просмотров: 194
armancho7777777 пишет: quinlena пишет: Надеюсь понятно изложила
Не понятно )
Какие записи, какие родители ?
Смотрите. Есть дерево, верхний элемент А, у него дочерний эл А1, у А1 - дочерний элемент А2. Так вот, как выбрать всех (А1 и А2), у которых родитель А.
(Добавление)
Проблема решена. Тему можно закрыть
quinlena
Отправлено: 25 Сентября, 2012 - 06:39:01 • Тема: Восходящая рекурсивная функция • Форум: Вопросы новичков
Ответов: 4 Просмотров: 194
Добрый день! Что-то не могу понять, как осуществить восходящее дерево. Т.е. мне нужно вот что: есть родитель - А. Мне необходимо вывести все записи, у которых родитель А. Причем не обязательно, что это будет непосредственное вхождение, возможно, что сначала у записи будет родитель В, а у В родитель А. Надеюсь понятно изложила...Помогите с алгоритмом, пожалуйста...
quinlena
Отправлено: 31 Августа, 2012 - 12:20:57 • Тема: Можно ли в ссылку вставить массив? • Форум: Вопросы новичков
Ответов: 12 Просмотров: 367
armancho7777777 пишет: Я на счёт этого ...
EuGen пишет: Если нужен исходный массив, то это несложно:
Ведь http_build_query сформирует и вернёт эту часть url строки:
param0=value0&m1=value1&m2=value2
Что вы спорите? Я сделала вот так:
quinlena
Отправлено: 31 Августа, 2012 - 12:17:55 • Тема: Можно ли в ссылку вставить массив? • Форум: Вопросы новичков
Ответов: 12 Просмотров: 367
EuGen пишет: armancho7777777 пишет: А почему не ...
Потому как в условии вовсе не сказано, что разбирается строка, которая является $_SERVER['QUERY_STRING'] (то есть GET-данные для текущего запроса). Быть может, автор темы имеет ввиду задачу по анализу некоторого текстового содержимого.
Уже все сделала) Я пытаюсь сделать рассылку сообщения, но почему-то mail() не срабатывает...
quinlena
Отправлено: 31 Августа, 2012 - 11:16:14 • Тема: Можно ли в ссылку вставить массив? • Форум: Вопросы новичков
Ответов: 12 Просмотров: 367
Но я понимаю так, что она не вернет тот самый массив, который был, из которого я ссылку сделала?
(Добавление)
Решила проблему по-другому, извлекла все с помощью цикла.
quinlena
Отправлено: 31 Августа, 2012 - 09:12:26 • Тема: Можно ли в ссылку вставить массив? • Форум: Вопросы новичков
Ответов: 12 Просмотров: 367
Звучит страшно, но знаю, что нельзя массив в ссылку вставить, но как правильно сформировать ссылку, если не знаешь количество параметров? Количество параметров зависит от количества выбранных чекбоксов...
Страниц (11): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB