Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Notice: Undefined variable
 
 автор: m@rchello   (14.03.2006 в 19:36)   письмо автору
 
 

вот написал скрипт но он почему то не работает
И самое интересное выводит ошибки - что не существует переменных которые точно существуют!!! Даже $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_img255255255);
    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_img0000$w$h$size_img[0], $size_img[1]);
    if (
$size_img[2]==2)  imagejpeg($dest_img$smallimage);
    else if (
$size_img[2]==1imagegif($dest_img$smallimage);
    else if (
$size_img[2]==3imagepng($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);
$titlstr_replace("|","&iexcl",$titl);
$titl=strip_tags($titl,"");
$titlstr_replace("\r\n","",$titl);
$titlstr_replace("\n","",$titl);
$titl stripslashes ($titl);
$shortstr_replace("|","&iexcl",$short);
$short=strip_tags($short,"");
$shortstr_replace("\r\n","",$short);
$shortstr_replace("\n","",$short);
$short stripslashes ($short);
$newsstr_replace("|","&iexcl",$news);
$news=strip_tags($news,"<b><i><u><center><font>");
$newsstr_replace("\r\n","<br>",$news);
$newsstr_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$smallimage100100);
                          
$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;
}
?>

   
 
 автор: midav   (14.03.2006 в 19:40)   письмо автору
 
   для: m@rchello   (14.03.2006 в 19:36)
 

А в чем собственно заключается его нерабочее действие?

   
 
 автор: m@rchello   (14.03.2006 в 20:11)   письмо автору
 
   для: midav   (14.03.2006 в 19:40)
 

А он не чё не делает не записывает и не закачивает файлы и говорю же выводит сообщения что не существуют переменные которые на 100% есть!!!!

   
 
 автор: Trianon   (14.03.2006 в 20:22)   письмо автору
 
   для: m@rchello   (14.03.2006 в 20:11)
 

А вот у меня $HTTP_HOST нет.
Есть только $_SERVER['HTTP_HOST'].
Чего и Вам советую.
Кстати, я бы вообще выкинул их. оставил бы везде что-то вроде:
   header("Location: $silka=5");   

   
 
 автор: m@rchello   (14.03.2006 в 21:14)   письмо автору
 
   для: Trianon   (14.03.2006 в 20:22)
 

Да я и сам знаю это !! Прсто в привычку уже вошло так писать!!!
Но это лишь мелочь, скрипт то всёравно не работает, я его уже раз на 20 проверил и не могу понять в чём дело!

   
 
 автор: cheops   (14.03.2006 в 23:13)   письмо автору
 
   для: m@rchello   (14.03.2006 в 19:36)
 

Приведите полный текст ошибки, если не сложно...

   
 
 автор: midav   (14.03.2006 в 23:17)   письмо автору
 
   для: cheops   (14.03.2006 в 23:13)
 

да уж скрипт тоже написан так себе, места так много, после каждого if() и его закрытием можно так строчку пропустить для лучшей читаемости :)

   
 
 автор: m@rchello   (15.03.2006 в 00:07)   письмо автору
 
   для: 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

А ещё иногда бывает такой номер что вще типа файл не находит всмысле типа этой страницы несуществует!!!:-(

   
 
 автор: cheops   (15.03.2006 в 00:12)   письмо автору
 
   для: 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

   
 
 автор: m@rchello   (15.03.2006 в 00:19)   письмо автору
 
   для: cheops   (15.03.2006 в 00:12)
 

пробовал так уже!!! так просто визуально заглушены ошибки но скрипт всё равно не работает!!

   
 
 автор: Botwing   (15.03.2006 в 00:29)   письмо автору
 
   для: m@rchello   (15.03.2006 в 00:19)
 

А что у тебя в config.php?

   
 
 автор: m@rchello   (15.03.2006 в 00:35)   письмо автору
 
   для: 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:39)   письмо автору
 
   для: m@rchello   (15.03.2006 в 00:35)
 

станно он просто эту страницу не находит ну типа Невозможно отобразить страницу а если тут же обновить её токак бы находит и пересылает к форме с ошибкой что не заполнены все поля!!!!
А если выкинуть все функции то страница загружается!

   
 
 автор: Botwing   (15.03.2006 в 00:40)   письмо автору
 
   для: m@rchello   (15.03.2006 в 00:19)
 

Внутри функции add_news замени $nickk на $kto.

   
 
 автор: m@rchello   (15.03.2006 в 00:44)   письмо автору
 
   для: Botwing   (15.03.2006 в 00:40)
 

>Внутри функции add_news замени $nickk на $kto.
Нет это совершенно две разные переменные отвечающие за разные имена!!!

   
 
 автор: Botwing   (15.03.2006 в 00:56)   письмо автору
 
   для: m@rchello   (15.03.2006 в 00:44)
 

Notice: Undefined variable: nickk in x:\home\port.ru\www\add_news.php on line 37

Впринципе из-за этой ошибки не работать не должно, что-то напортачил с header, скорее всего.

   
 
 автор: Botwing   (15.03.2006 в 01:15)   письмо автору
 
   для: m@rchello   (15.03.2006 в 00:44)
 

А не пробовал header таким макаром записать:


header("Location: http://".$HTTP_HOST."/".$silka."=5")

   
 
 автор: m@rchello   (15.03.2006 в 05:01)   письмо автору
 
   для: 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_img255255255);
    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_img0000$w$h$size_img[0], $size_img[1]);
    if (
$size_img[2]==2)  imagejpeg($dest_img$smallimage);
    else if (
$size_img[2]==1imagegif($dest_img$smallimage);
    else if (
$size_img[2]==3imagepng($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);
$titlestr_replace("|","&iexcl",$title);
$title=strip_tags($title,"");
$titlestr_replace("\r\n","",$title);
$titlestr_replace("\n","",$title);
$title stripslashes ($title);
$short_tstr_replace("|","&iexcl",$short_t);
$short_t=strip_tags($short_t,"");
$short_tstr_replace("\r\n","",$short_t);
$short_tstr_replace("\n","",$short_t);
$short_t stripslashes ($short_t);
$news_sstr_replace("|","&iexcl",$news_s);
$news_s=strip_tags($news_s,"<b><i><u><center><font>");
$news_sstr_replace("\r\n","<br>",$news_s);
$news_sstr_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$smallimage100100);
                          
$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;
}
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования