PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (5): « 1 [2] 3 4 5 »
Найдено сообщений: 63
tsoi85
Отправлено: 14 Августа, 2011 - 19:50:44 • Тема: Как бы движок, но дико втыкает • Форум: Напишите за меня, пожалуйста
Ответов: 43 Просмотров: 447
ok
ok пишет: [Sun Aug 14 20:10:18 2011] [error] [client 109.165.95.118] PHP Warning: Cannot modify header information - headers already sent by (output started at /usr/home/...../site.ru/html/index.php:1) in /usr/home/...../site.ru/html/ind ex.php on line 5
Или пробел на первой строке файла, или Utf-8 с BOM.
Поэтому заголовок на пятой строке, не может быть отправлен/изменён.
tsoi85
Отправлено: 14 Августа, 2011 - 16:27:31 • Тема: Как бы движок, но дико втыкает • Форум: Напишите за меня, пожалуйста
Ответов: 43 Просмотров: 447
ok , вариант с Вашим .htaccess
При обращении к /index.(html|php) - теперь 404.
Проблема с показом errors/404.php, думаю теперь также решена.
PHP:
скопировать код в буфер обмена
<?PHP
$url = ( preg_match ( "/^([-_a-zA-Z0-9\/\.]+)(\.html|\/)$/" , $_SERVER [ 'REQUEST_URI' ] ) ?
str_replace ( '..' , '' , $_SERVER [ 'REQUEST_URI' ] ) : '' ) ; if ( $_SERVER [ 'HTTP_HOST' ] == 'www.site.ru' ) {
header ( "HTTP/1.1 301 Moved Permanently" ) ; header ( "Location: http://site.ru" . $_SERVER [ 'REQUEST_URI' ] ) ; }
$incfile = "data" ;
if ( $_SERVER [ 'REQUEST_URI' ] == '/' ) {
$incfile .= "/index." ;
$incfile .= $url . "index." ;
} else {
}
$incfile .= "php" ;
$incl = ( basename ( $_SERVER [ 'REQUEST_URI' ] ) != 'index.html' ) ?1
: 0 ; include ( $incfile ) ;
} else {
header ( "HTTP/1.0 404 Not Found" ) ; header ( 'HTTP/1.1 404 Not Found' ) ; header ( 'Status: 404 Not Found' ) ; include ( "errors/404.php" ) ;
}
include ( "templates/template.php" ) ;
?>
Если же ругается сервер
CODE (
htmlphp ):
скопировать код в буфер обмена
[ Sun Aug
14 01
: 15 : 41 2011 ] [ error
] [ client 46
. 61
. 1
. 7
] ALERT
- tried to register forbidden variable
'_REQUEST' through GET variables
( attacker
'46.61.1.7' , file '/usr/home/...../site.ru/html/index.php' ) , referer
: http
: //site.ru/contacts.html
то попробуйте заменить в .htaccess:
это: RewriteRule ^(.*)$ index.php?_REQUEST=$1 [L]
на это: RewriteRule ^(.*)$ index.php?$1 [L]
возможно перестанет ругаться.
tsoi85
Отправлено: 14 Августа, 2011 - 13:49:58 • Тема: Как бы движок, но дико втыкает • Форум: Напишите за меня, пожалуйста
Ответов: 43 Просмотров: 447
ok пишет: tsoi85
Страницы со слешем, включая корень, стали открываться. Но по-прежнему, выводится пустая страница вместо 404 и выводятся /index.(html|php).
/index.php - Выводится только (в корне), файл ведь существует и не него не действует:
CODE (
htmlphp ):
скопировать код в буфер обмена
RewriteCond % { REQUEST_FILENAME} !- f
RewriteCond % { REQUEST_FILENAME} !- d
RewriteRule ^( .* ) $ index. php?r= $1 [ L]
Например обращение к /articles/index.php - Возвращает 404.
/articles/index.html тоже самое что и /articles/horosho.html
Можно в скрипте указать по умолчанию, не index, а например default и переименовать соответственно в папке data/* .
И не будет /articles/index.html
Хотя я считаю это лишним действием.
А errors/404.php - не пустой?
tsoi85
Отправлено: 14 Августа, 2011 - 03:00:05 • Тема: Как бы движок, но дико втыкает • Форум: Напишите за меня, пожалуйста
Ответов: 43 Просмотров: 447
index.php
PHP:
скопировать код в буфер обмена
<?PHP
$url = ( preg_match ( "/^([-_a-zA-Z0-9\/\.]+)(\.html|\/)$/" , $_SERVER [ 'REQUEST_URI' ] ) ?
str_replace ( '..' , '' , $_SERVER [ 'REQUEST_URI' ] ) : '' ) ; if ( $_SERVER [ 'HTTP_HOST' ] == 'www.my-site.ru' ) {
header ( "HTTP/1.1 301 Moved Permanently" ) ; header ( "Location: http://my-site.ru" . $_SERVER [ 'REQUEST_URI' ] ) ; }
$incfile = "data" ;
if ( $_SERVER [ 'REQUEST_URI' ] == '/' ) {
$incfile .= "/index." ;
$incfile .= $url . "index." ;
} else {
}
$incfile .= "php" ;
$incl = ( basename ( $_SERVER [ 'REQUEST_URI' ] ) != 'index.html' ) ?1
: 0 ; include ( $incfile ) ;
} else {
header ( "HTTP/1.0 404 Not Found" ) ; header ( 'HTTP/1.1 404 Not Found' ) ; header ( 'Status: 404 Not Found' ) ; include ( "errors/404.php" ) ;
}
include ( "templates/template.php" ) ;
?>
.htaccess
CODE (
html ):
скопировать код в буфер обмена
Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?r=$1 [L]
tsoi85
Отправлено: 12 Августа, 2011 - 01:31:43 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
armancho7777777 ,
Была поставлена интересная задача, было написано решение.
В удалении как одного, так и нескольких «фрагментов» не вижу ничего сложного.
Строится новый массив подобный тому что при загрузке и перезаписывается.
UPD:
Лично мне, не лень, сделать ещё одну таблицу.
tsoi85
Отправлено: 12 Августа, 2011 - 00:38:06 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
armancho7777777 пишет: tsoi85, в любом поле в любой таблице, допускается лишь одно значение.
Создайте отдельную таблицу для картинок. Я объяснил выше.
А как тогда по вашему в полях c типом TEXT хранятся переводы строк?
Задача на данный момент следующая:
KuPbI4 пишет: У меня вопрос появился.
Существует ли в природе динамическая загрузка файлов? То есть скажем так, в БД, есть таблица, в этой таблице есть один столбец под названием img, а там внутри количество наименований файлов изображения и загрузится хоть 1 файл изображения, хоть 5 изображений и т.д. Если да, то подскажите, как это реализовать?! Тут конечно нужен динамический массив, но я его не совсем представил.
PHP:
скопировать код в буфер обмена
$img=array();
А в таблице базы данных, есть поле `files` c типом TEXT , там хранятся имена файлов (одно имя в строке).
file1.jpg
file2.jpg
file3.jpg
tsoi85
Отправлено: 12 Августа, 2011 - 00:22:38 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
Поправлено.
Вывод данных из БД:
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
//session_start();
include ( "mysql.php" ) ;
$q = "SELECT * FROM `cars` WHERE id_car='$id_car '" ;
/*$img1 = strip_tags(stripslashes(substr($row['img1'],0,255)));
$img2 = strip_tags(stripslashes(substr($row['img2'],0,255)));
$img3 = strip_tags(stripslashes(substr($row['img3'],0,255)));*/
###$files = strip_tags(stripslashes(substr($row['files'],0,255)));
#Разбиваем текст и создаём массив c именами файлов:
#Если поле files пустое, подставляем пустой массив
echo '
<h1>' . $model . '</h1>
<table border="1" cellspacing="2" cellpadding="2">
<tr><td> ID : ' . $id_car . '<br></td></tr>
<tr><td> Модель машины: ' . $model . '<br></td></tr>
<tr><td> Год выпуска: ' . $year . '<br></td></tr>
<tr><td> Место стоянки: ' . $mesto . ' <br></td></tr>
<tr><td> Контактный телефон: ' . $phone . '<br></td></tr>
<tr><td> КПП(на данный момент): ' . $kpp . '<br></td></tr>
<tr><td> Мощность: ' . $moschnost . ' см<sup>3</sup><br></td></tr>
<tr><td> Пробег: ' . $probeg . ' км<br></td></tr>
<tr><td> Цена: ' . $money . ' руб.<br></td></tr></table>
<h2>Фотографии машины:</h2>
<div id="gallery">' . "\n " ;
###
if ( $c > 0) {
for ( $i = 0 ; $i < $c ; $i ++ ) {
echo '<a href="../../img/cars/' . $files [ $i ] . '"><img style="width: 150px; height: 150px;" src="../../img/cars/' . $files [ $i ] . '" alt="."></a>' . "\n " ;
}
}
else {
echo 'Нет фотографий' ;
}
echo '
</div>
<form action="index.php"><label><input type="submit" value="Назад"></label></form>' ;
###
?>
tsoi85
Отправлено: 11 Августа, 2011 - 22:28:41 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
Поправил, но не проверял:
Скрипт добавления в БД:
Спойлер (Отобразить )
PHP:
скопировать код в буфер обмена
<?PHP
include ( "mysql.php" ) ;
require ( "img_resize.php" ) ;
$_SESSION [ 'model' ] = $model ;
$_SESSION [ 'year' ] = $year ;
$_SESSION [ 'mesto' ] = $mesto ;
$_SESSION [ 'phone' ] = $phone ;
$_SESSION [ 'probeg' ] = $probeg ;
$_SESSION [ 'kpp' ] = $kpp ;
$_SESSION [ 'moschnost' ] = $moschnost ;
$_SESSION [ 'money' ] = $money ;
if ( strlen ( trim ( $_FILES [ 'file' ] [ 'name' ] [ 0
] ) ) > 0
) { $files = '' ;
foreach ( $_FILES [ 'file' ] [ 'name' ] as $k => $f ) {
if ( ! $_FILES [ 'file' ] [ 'error' ] [ $k ] ) {
if ( move_uploaded_file ( $_FILES [ 'file' ] [ 'tmp_name' ] [ $k ] , "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] [ $k ] ) ) { $files .= $_FILES [ 'file' ] [ 'name' ] [ $k ] . "\r \n " ;
//echo 'Файл: '.$_FILES['file']['name'][$k].' загружен!';
if ( Img_Resize( "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] [ $k ] , "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] [ $k ] , 600 , 600 ) ) {
// echo "Файл".$_FILES['file']['name'][$k]."изменен!";
}
}
}
}
}
$query = "INSERT INTO cars ( model, year, mesto, phone, probeg, kpp, moschnost, money, files ) VALUES ('$model ', '$year ', '$mesto ', '$phone ', '$probeg ', '$kpp ', '$moschnost ', '$money ', '$files ')" ;
unset ( $_SESSION [ 'model' ] ) ; unset ( $_SESSION [ 'year' ] ) ; unset ( $_SESSION [ 'mesto' ] ) ; unset ( $_SESSION [ 'phone' ] ) ; unset ( $_SESSION [ 'probeg' ] ) ; unset ( $_SESSION [ 'moschnost' ] ) ; unset ( $_SESSION [ 'money' ] ) ; header ( "Location: ./index.php" ) ; }
else {
header ( "Location: ./add_form.php" ) ; }
}
else {
echo "<script language='JavaScript'>window.alert('Выберите, пожалуйста, следующее изображение для загрузки.');
location.href='add_form.php'</script>" ;
###
}
}
else {
echo "<script language='JavaScript'>window.alert('Введите стоимость данной машины');
location.href='add_form.php'</script>" ;
###
}
}
else {
echo "<script language='JavaScript'>window.alert('Введите мощность');
location.href='add_form.php'</script>" ;
###
}
}
else {
echo "<script language='JavaScript'>window.alert('Введите КПП');
location.href='add_form.php'</script>" ;
###
}
}
else {
echo "<script language='JavaScript'>window.alert('Введите пробег данной машины');
location.href='add_form.php'</script>" ;
###
}
}
else {
echo "<script language='JavaScript'>window.alert('Введите номер контактного телефона');
location.href='add_form.php'</script>" ;
###
}
}
else {
echo "<script language='JavaScript'>window.alert('Введите место стоянки машины');
location.href='add_form.php'</script>" ;
###
}
}
else {
echo "<script language='JavaScript'>window.alert('Введите год выпуска данной машины');
location.href='add_form.php'</script>" ;
###
}
}
else {
echo "<script language='JavaScript'>window.alert('Введите модель данной машины');
location.href='add_form.php'</script>" ;
###
}
?>
И вывод данных с БД:
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
//session_start();
include ( "mysql.php" ) ;
$q = "SELECT * FROM `cars` WHERE id_car='$id_car '" ;
/*$img1 = strip_tags(stripslashes(substr($row['img1'],0,255)));
$img2 = strip_tags(stripslashes(substr($row['img2'],0,255)));
$img3 = strip_tags(stripslashes(substr($row['img3'],0,255)));*/
#Разбиваем текст и создаём массив c именами файлов:
$files = explode ( "\r \n " , $row [ 'files' ] ) ; #$files[0] - file1.jpg и т.д.
echo '
<h1>' . $model . '</h1>
<table border="1" cellspacing="2" cellpadding="2">
<tr><td> ID : ' . $id_car . '<br></td></tr>
<tr><td> Модель машины: ' . $model . '<br></td></tr>
<tr><td> Год выпуска: ' . $year . '<br></td></tr>
<tr><td> Место стоянки: ' . $mesto . ' <br></td></tr>
<tr><td> Контактный телефон: ' . $phone . '<br></td></tr>
<tr><td> КПП(на данный момент): ' . $kpp . '<br></td></tr>
<tr><td> Мощность: ' . $moschnost . ' см<sup>3</sup><br></td></tr>
<tr><td> Пробег: ' . $probeg . ' км<br></td></tr>
<tr><td> Цена: ' . $money . ' руб.<br></td></tr></table>
<h2>Фотографии машины:</h2>
<div id="gallery">' . "\n " ;
###
if ( $c > 0) {
for ( $i = 0 ; $i < $c ; $i ++ ) {
echo '<a href="../../img/cars/' . $files [ $i ] . '"><img style="width: 150px; height: 150px;" src="../../img/cars/' . $files [ $i ] . '" alt="."></a>' . "\n " ;
}
}
else {
echo 'Нет фотографий' ;
}
echo '
</div>
<form action="index.php"><label><input type="submit" value="Назад"></label></form>' ;
###
?>
tsoi85
Отправлено: 11 Августа, 2011 - 19:05:02 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
KuPbI4 , очень интересный вопрос.
Итак, в таблице есть поле `files` c типом TEXT, там хранятся имена файлов (одно имя в строке).
file1.jpg
file2.jpg
file3.jpg
При записи, с примером выше:
PHP:
скопировать код в буфер обмена
$img = '' ;
foreach ( $_FILES [ 'file' ] [ 'name' ] as $k => $f ) {
if ( ! $_FILES [ 'file' ] [ 'error' ] [ $k ] ) {
if ( move_uploaded_file ( $_FILES [ 'file' ] [ 'tmp_name' ] [ $k ] , "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] [ $k ] ) ) { $img .= $_FILES [ 'file' ] [ 'name' ] [ $k ] . "\r \n " ;
}
}
}
}
#Далее, $img обработать функцией trim() и записать в базу данных
При выводе из базы:
tsoi85
Отправлено: 11 Августа, 2011 - 18:20:53 • Тема: Таблица умножения • Форум: Вопросы новичков
Ответов: 7 Просмотров: 627
PHP:
скопировать код в буфер обмена
<?PHP
function table( $cols , $rows , $color1 , $color2 , $color3 ) {
echo '<div align="center"><h1 align="center">Таблица умножения</h1>
<table border=1>' ;
###
for ( $i = 1 ; $i < $cols ; $i ++ ) {
echo '<tr align="center">' ;
for ( $j = 1 ; $j < $rows ; $j ++ ) {
$rez = $i * $j ;
$color = ( ( $i == 1 && $j == 1) ?$color1 : ( ( $i == 1) ?$color2 : ( ( $j == 1) ?$color3 : 'white' ) ) ) ;
echo '<td style="background-color: ' . $color . '; text-align:center;">' . $rez . '</td>' ;
}
echo '</tr>' ;
}
echo '</table></div>' ;
}
table( 10 , 10 , "blue" , "yellow" , "green" ) ;
?>
tsoi85
Отправлено: 09 Августа, 2011 - 20:58:09 • Тема: Таблица умножения • Форум: Вопросы новичков
Ответов: 7 Просмотров: 627
Цвета измените на свои
PHP:
скопировать код в буфер обмена
<?PHP
$cols = 10 ;
$rows = 10 ;
$cols1 = 1 ;
echo '<h1><center>ТАБЛИЦА УМНОЖЕНИЯ</center></h1>' ;
echo '<table style="border:1px solid black; padding:10px; margin-left:300px;">' ;
while ( $cols1 < $cols ) {
$rows1 = 1 ;
echo '<tr>' ;
while ( $rows1 < $rows ) {
$rez = $cols1 * $rows1 ;
# Цвета
$bgr = ( ( $rows1 == 1 && $cols1 == 1 ) ?'#00F' : ( ( $rows1 == 1 ) ?'#F00' : ( ( $cols1 == 1 ) ?'#0F0' : '#FFF' ) ) ) ;
echo '<td style="border:1px solid black; padding:20px; background-color: ' . $bgr . ';">' . $rez . ' ' . ' </td>' ;
###
$rows1 ++;
}
echo '<br />' ;
echo '</tr>' ;
$cols1 ++;
}
echo '</table>' ;
?>
Страниц (5): « 1 [2] 3 4 5 »
Powered by ExBB FM 1.0 RC1. InvisionExBB