|
|
|
| вот написал скрипт но он почему то не работает
И самое интересное выводит ошибки - что не существует переменных которые точно существуют!!! Даже $HTTP_HOST внутри функции add_news не была найдена!!!!
Подскажите пожалуйста в чём проблема и где я ошибся????
Вот код
<?
session_start();
include "config.php";
# Уменьшение картинки #
function resizeimg($filename1, $smallimage, $w, $h)
{
$ratio = $w/$h;
$size_img = getimagesize($filename1);
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
$src_ratio=$size_img[0]/$size_img[1];
if ($ratio<$src_ratio)
{
$h = $w/$src_ratio;
}
else
{
$w = $h*$src_ratio;
}
$dest_img = imagecreatetruecolor($w, $h);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename1);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename1);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename1);
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
# /Уменьшение картинки #
# добавление новостей #
function add_news($titl,$news,$short,$kuda,$kto)
{
@$nickk=strip_tags($nickk,"");
$nickk = stripslashes ($nickk);
$nickk=strip_tags($nickk,"");
$nickk = stripslashes ($nickk);
$titl= str_replace("|","¡",$titl);
$titl=strip_tags($titl,"");
$titl= str_replace("\r\n","",$titl);
$titl= str_replace("\n","",$titl);
$titl = stripslashes ($titl);
$short= str_replace("|","¡",$short);
$short=strip_tags($short,"");
$short= str_replace("\r\n","",$short);
$short= str_replace("\n","",$short);
$short = stripslashes ($short);
$news= str_replace("|","¡",$news);
$news=strip_tags($news,"<b><i><u><center><font>");
$news= str_replace("\r\n","<br>",$news);
$news= str_replace("\n","<br>",$news);
$news = stripslashes ($news);
$date=date("d.m.Y H:i");
if (@$kuda!=@$news_base){ $silka="news.php?add_news=add&er"; } else { $silka="news_admin.php?error"; }
if ((strlen($titl) < 2) or (strlen($titl) > 31))
{
header("Location: http://$HTTP_HOST/$silka=5"); exit;
}
if ((strlen($short) < 19) or (strlen($short) > 301))
{
@header("Location: http://$HTTP_HOST/$silka=6"); exit;
}
if ((strlen($news) < 199) or (strlen($news) > 20001))
{
header("Location: http://$HTTP_HOST/$silka=7"); exit;
}
if(@$nickk!="")
{
$avtor=@$nickk;
}
else
{
$avtor="неизвестно";
}
if(@$filename!="")
{
if($_FILES["filename"]["size"] > 40*1024)
{
@header("Location: http://$HTTP_HOST/$silka=1");exit;
}
$ext=strrchr($HTTP_POST_FILES['filename']['name'],".");
$time=time();
$put="$time$ext";
if($ext!='.gif' && $ext!='.GIF' && $ext!='.jpg' && $ext!='.JPG' && $ext!='.jpeg' && $ext!='.JPEG')
{
@header("Location: http://$HTTP_HOST/$silka=2");exit;
}
list($width, $height) = getimagesize($HTTP_POST_FILES['filename']['tmp_name']);
if ($width<301 and $height<501)
{
if(!move_uploaded_file($_FILES["filename"]["tmp_name"], "$news_imgb$put"))
{
@header("Location: http://$HTTP_HOST/$silka=3");exit;
}
else
{
$img1="$news_imgb$put";
$img2="$news_imgm$put";
$bigimage = "$img1";
$smallimage = "$img2";
resizeimg($bigimage, $smallimage, 100, 100);
$m_img="$smallimage";
$b_img="$bigimage";
}
}
else
{
@header("Location: http://$HTTP_HOST/$silka=4");exit;
}
}
else
{
$m_img="";
$b_img="";
}
$open=@fopen("$kuda","a+");
@fwrite($open,"$titl||$news||$date||$short||$kto||$avtor||$m_img||$b_img||\r\n");
@fclose($open);
@header("Location: http://$HTTP_HOST/news.php");exit;
}
# /добавление новостей #
if(@$nnic!="")
{
if (@$titl!="" and @$short!="" and @$news!="")
{
$pravo=@file("$news_admins");
$c_p=count($pravo)-1;
for ($i=$c_p;$i>=0;$i--)
{
if ($nnic==$pravo[$i])
{
$dostup="1";
}
}
if (@$view!="")
{
if(@$name=="")
{
$name="$nnic";
}
add_news($titl,$news,$short,$news_base,$name);
}
elseif (@$stt=="vadmin" or @$stt=="moder" or @$dostup=="1")
{
add_news($titl,$news,$short,$news_base,$nnic);
}
else
{
add_news($titl,$news,$short,$temp_news,$nnic);
}
}
else
{
header("Location: http://$HTTP_HOST/news.php?add_news=add&er=0"); exit;
}
}
else
{
header("Location: http://$HTTP_HOST/index.php"); exit;
}
?>
|
| |
|
|
|
|
|
|
|
для: m@rchello
(14.03.2006 в 19:36)
| | А в чем собственно заключается его нерабочее действие? | |
|
|
|
|
|
|
|
для: midav
(14.03.2006 в 19:40)
| | А он не чё не делает не записывает и не закачивает файлы и говорю же выводит сообщения что не существуют переменные которые на 100% есть!!!! | |
|
|
|
|
|
|
|
для: m@rchello
(14.03.2006 в 20:11)
| | А вот у меня $HTTP_HOST нет.
Есть только $_SERVER['HTTP_HOST'].
Чего и Вам советую.
Кстати, я бы вообще выкинул их. оставил бы везде что-то вроде:
header("Location: $silka=5");
|
| |
|
|
|
|
|
|
|
для: Trianon
(14.03.2006 в 20:22)
| | Да я и сам знаю это !! Прсто в привычку уже вошло так писать!!!
Но это лишь мелочь, скрипт то всёравно не работает, я его уже раз на 20 проверил и не могу понять в чём дело! | |
|
|
|
|
|
|
|
для: m@rchello
(14.03.2006 в 19:36)
| | Приведите полный текст ошибки, если не сложно... | |
|
|
|
|
|
|
|
для: cheops
(14.03.2006 в 23:13)
| | да уж скрипт тоже написан так себе, места так много, после каждого if() и его закрытием можно так строчку пропустить для лучшей читаемости :) | |
|
|
|
|
|
|
|
для: midav
(14.03.2006 в 23:17)
| | вот пожалуйста
Notice: Undefined variable: nickk in x:\home\port.ru\www\add_news.php on line 37
Notice: Undefined variable: HTTP_HOST in x:\home\port.ru\www\add_news.php on line 64
Warning: Cannot modify header information - headers already sent by (output started at x:\home\port.ru\www\add_news.php:37) in x:\home\port.ru\www\add_news.php on line 64
|
А ещё иногда бывает такой номер что вще типа файл не находит всмысле типа этой страницы несуществует!!!:-( | |
|
|
|
|
|
|
|
для: m@rchello
(15.03.2006 в 00:07)
| | notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985 | |
|
|
|
|
|
|
|
для: cheops
(15.03.2006 в 00:12)
| | пробовал так уже!!! так просто визуально заглушены ошибки но скрипт всё равно не работает!! | |
|
|
|
|
|
|
|
для: m@rchello
(15.03.2006 в 00:19)
| | А что у тебя в config.php? | |
|
|
|
|
|
|
|
для: Botwing
(15.03.2006 в 00:29)
| |
$news_base=".newsdb";
$news_imgb="news_big/";
$news_imgm="news_small/";
$news_admins="admins.dat";
|
| |
|
|
|
|
|
|
|
для: m@rchello
(15.03.2006 в 00:35)
| | станно он просто эту страницу не находит ну типа Невозможно отобразить страницу а если тут же обновить её токак бы находит и пересылает к форме с ошибкой что не заполнены все поля!!!!
А если выкинуть все функции то страница загружается! | |
|
|
|
|
|
|
|
для: m@rchello
(15.03.2006 в 00:19)
| | Внутри функции add_news замени $nickk на $kto. | |
|
|
|
|
|
|
|
для: Botwing
(15.03.2006 в 00:40)
| | >Внутри функции add_news замени $nickk на $kto.
Нет это совершенно две разные переменные отвечающие за разные имена!!! | |
|
|
|
|
|
|
|
для: m@rchello
(15.03.2006 в 00:44)
| | Notice: Undefined variable: nickk in x:\home\port.ru\www\add_news.php on line 37
Впринципе из-за этой ошибки не работать не должно, что-то напортачил с header, скорее всего. | |
|
|
|
|
|
|
|
для: m@rchello
(15.03.2006 в 00:44)
| | А не пробовал header таким макаром записать:
header("Location: http://".$HTTP_HOST."/".$silka."=5")
|
| |
|
|
|
|
|
|
|
для: Botwing
(15.03.2006 в 01:15)
| | сделал вроде! Теперь всё записывается но не вызывается функция resizeimg и загрузка файла почему то не идёт!!!! А ещё он теперь говорит что не найдена $HTTP_POST_FILES
В чем возможная причина?
код сейчас выгледит так!
<?
include "config.php";
# уменьшение картинки #
function resizeimg($filename1, $smallimage, $w, $h)
{
$ratio = $w/$h;
$size_img = getimagesize($filename1);
if (($size_img[0]<$w) && ($size_img[1]<$h)) return true;
$src_ratio=$size_img[0]/$size_img[1];
if ($ratio<$src_ratio)
{
$h = $w/$src_ratio;
}
else
{
$w = $h*$src_ratio;
}
$dest_img = imagecreatetruecolor($w, $h);
$white = imagecolorallocate($dest_img, 255, 255, 255);
if ($size_img[2]==2) $src_img = imagecreatefromjpeg($filename1);
else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename1);
else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename1);
imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);
if ($size_img[2]==2) imagejpeg($dest_img, $smallimage);
else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
else if ($size_img[2]==3) imagepng($dest_img, $smallimage);
imagedestroy($dest_img);
imagedestroy($src_img);
return true;
}
# /уменьшение картинки #
# добавление новостей #
function add_news($title,$news_s,$short_t,$kuda,$kto,$nickks)
{
$nickks=strip_tags($nickks,"");
$nickks = stripslashes ($nickks);
$nickks=strip_tags($nickks,"");
$nickks = stripslashes ($nickks);
$title= str_replace("|","¡",$title);
$title=strip_tags($title,"");
$title= str_replace("\r\n","",$title);
$title= str_replace("\n","",$title);
$title = stripslashes ($title);
$short_t= str_replace("|","¡",$short_t);
$short_t=strip_tags($short_t,"");
$short_t= str_replace("\r\n","",$short_t);
$short_t= str_replace("\n","",$short_t);
$short_t = stripslashes ($short_t);
$news_s= str_replace("|","¡",$news_s);
$news_s=strip_tags($news_s,"<b><i><u><center><font>");
$news_s= str_replace("\r\n","<br>",$news_s);
$news_s= str_replace("\n","<br>",$news_s);
$news_s = stripslashes ($news_s);
$date=date("d.m.Y H:i");
if (@$kuda!=@$news_base){ $silka="news.php?add_news=add&er"; } else { $silka="news_admin.php?error"; }
if ((strlen($title) < 2) or (strlen($title) > 31))
{
header("Location: $silka=5"); exit;
}
if ((strlen($short_t) < 19) or (strlen($short_t) > 301))
{
header("Location: $silka=6"); exit;
}
if ((strlen($news_s) < 199) or (strlen($news_s) > 20001))
{
header("Location: $silka=7"); exit;
}
if(@$nickks!="")
{
$avtor=@$nickks;
}
else
{
$avtor="неизвестно";
}
if(@$filename!="")
{
if($_FILES["filename"]["size"] > 40*1024)
{
@header("Location: $silka=1");exit;
}
$ext=strrchr($HTTP_POST_FILES['filename']['name'],".");
$time=time();
$put="$time$ext";
if($ext!='.gif' && $ext!='.GIF' && $ext!='.jpg' && $ext!='.JPG' && $ext!='.jpeg' && $ext!='.JPEG')
{
header("Location: $silka=2");exit;
}
list($width, $height) = getimagesize($HTTP_POST_FILES['filename']['tmp_name']);
if ($width<301 and $height<501)
{
if(!move_uploaded_file($_FILES["filename"]["tmp_name"], "$news_s_imgb$put"))
{
@header("Location: $silka=3");exit;
}
else
{
$img1="$news_s_imgb$put";
$img2="$news_s_imgm$put";
$bigimage = "$img1";
$smallimage = "$img2";
resizeimg($bigimage, $smallimage, 100, 100);
$m_img="$smallimage";
$b_img="$bigimage";
}
}
else
{
@header("Location: $silka=4");exit;
}
}
else
{
$m_img="";
$b_img="";
}
$open=@fopen("$kuda","a+");
@fwrite($open,"$title||$news_s||$date||$short_t||$kto||$avtor||$m_img||$b_img||\r\n");
@fclose($open);
@header("Location: news.php");exit;
}
# /добавление новостей #
if(@$nnic!="")
{
if (@$titl!="" and @$short!="" and @$news!="")
{
$pravo=@file("$news_admins");
$c_p=count($pravo)-1;
for ($i=$c_p;$i>=0;$i--)
{
if ($nnic==$pravo[$i])
{
$dostup="1";
}
}
if (@$view!="")
{
if(@$name=="")
{
$name="$nnic";
}
add_news($titl,$news,$short,$news_base,$name,$nickk);
}
elseif (@$stt=="vadmin" or @$stt=="moder" or @$dostup=="1")
{
add_news($titl,$news,$short,$news_base,$nnic,$nickk);
}
else
{
add_news($titl,$news,$short,$temp_news,$nnic,$nickk);
}
}
else
{
header("Location: news.php?add_news=add&er=0"); exit;
}
}
else
{
header("Location: index.php"); exit;
}
?>
|
| |
|
|
|
|