Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите срочно!! надо!!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1] 

> Описание: Ошибка с проверочным файлом
WEBKILLER
Отправлено: 11 Апреля, 2012 - 15:49:46
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




Страница new_com.php
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3.  
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5.  
  6. <head>
  7.  
  8. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
  9.  
  10. <title>Документ без названия</title>
  11.  
  12. </head>
  13.  
  14.  
  15.  
  16. <body>
  17.  
  18. <p><strong>Добавить компанию!</strong></p>
  19.  
  20. <form action="save_com.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  21.  
  22.   <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
  23.  
  24.     <tr>
  25.  
  26.       <td width="250">Название:
  27.  
  28.         <label for="textfield"></label></td>
  29.  
  30.       <td width="350"><input type="text" name="title" id="title" /></td>
  31.  
  32.     </tr>
  33.  
  34.     <tr>
  35.  
  36.       <td>Каттегория:</td>
  37.  
  38.       <td><input type="text" name="cat" id="cat" /></td>
  39.  
  40.     </tr>
  41.  
  42.     <tr>
  43.  
  44.       <td>Услуга:</td>
  45.  
  46.       <td><input type="text" name="usluga" id="usluga" /></td>
  47.  
  48.     </tr>
  49.  
  50.     <tr>
  51.  
  52.       <td>Телефон:</td>
  53.  
  54.       <td><input type="text" name="tel" id="tel" /></td>
  55.  
  56.     </tr>
  57.  
  58.     <tr>
  59.  
  60.       <td>Скидка с картой голд:</td>
  61.  
  62.       <td><input type="text" name="sg" id="sg" /></td>
  63.  
  64.     </tr>
  65.  
  66.     <tr>
  67.  
  68.       <td>Скидка с картой серебро:</td>
  69.  
  70.       <td><input type="text" name="ss" id="ss" /></td>
  71.  
  72.     </tr>
  73.  
  74.     <tr>
  75.  
  76.       <td>Скидка с картой бронза:</td>
  77.  
  78.       <td><input type="text" name="sb" id="sb" /></td>
  79.  
  80.     </tr>
  81.  
  82.     <tr>
  83.  
  84.       <td align="left" valign="top"><p>Главное фото:
  85.       </p>
  86.  
  87.         <p>Второе фото:
  88.         </p>
  89.  
  90.         <p>Третие фото:
  91.         </p>
  92.  
  93.         <p>Четвертое фото:
  94.       </p>
  95.  
  96.       <p>Пятое фото</p></td>
  97.  
  98.       <td><p>
  99.         <label for="fileField"></label>
  100.         <input type="file" name="photo" id="photo" />
  101.        
  102.         </p>
  103. </td>
  104.  
  105.     </tr>
  106.  
  107.     <tr>
  108.  
  109.       <td height="110"><p>Адресс:</p></td>
  110.  
  111.       <td><label for="adress"></label>
  112.  
  113.       <input type="text" name="adress" id="adress" /></td>
  114.  
  115.     </tr>
  116.  
  117.     <tr>
  118.  
  119.       <td>График работы:</td>
  120.  
  121.       <td><p>
  122.         <label for="rezhim"></label>
  123.        
  124.         <input type="text" name="rezhim" id="rezhim" />
  125.                       </p></td>
  126.  
  127.     </tr>
  128.  
  129.     <tr>
  130.  
  131.       <td>Дополнительное:</td>
  132.  
  133.       <td><textarea name="dopol" cols="55" rows="10" id="dopol"></textarea></td>
  134.  
  135.     </tr>
  136.  
  137.     <tr>
  138.  
  139.       <td>&nbsp;</td>
  140.  
  141.       <td><input type="submit" name="button" id="button" value="Отправить" /></td>
  142.  
  143.     </tr>
  144.  
  145.   </table>
  146.  
  147. </form>
  148.  
  149. </body>
  150.  
  151. </html>


Файл save_com.php
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. <?php
  4. if (isset($_POST['title'])) { $title = $_POST['title']; if ($title == '') { unset($title);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
  5. if (isset($_POST['cat'])) { $cat=$_POST['cat']; if ($cat =='') { unset($cat);} }
  6. if (isset($_POST['usluga'])) { $usluga = $_POST['usluga']; if ($usluga == '') { unset($usluga);} }
  7. if (isset($_POST['sg'])) { $sg = $_POST['sg']; if ($sg == '') { unset($sg);} }
  8. if (isset($_POST['ss'])) { $ss = $_POST['ss']; if ($ss == '') { unset($ss);} }
  9. if (isset($_POST['sb'])) { $sb = $_POST['sb']; if ($sb == '') { unset($sb);} }
  10. if (isset($_POST['tel'])) { $tel = $_POST['tel']; if ($tel == '') { unset($tel);} }
  11. if (isset($_POST['ph1'])) { $ph1 = $_POST['ph1']; if ($ph1 == '') { unset($ph1);} }
  12. if (isset($_POST['ph2'])) { $ph2 = $_POST['ph2']; if ($ph2 == '') { unset($ph2);} }
  13. if (isset($_POST['ph3'])) { $ph3 = $_POST['ph3']; if ($ph3 == '') { unset($ph3);} }
  14. if (isset($_POST['ph4'])) { $ph4 = $_POST['ph4']; if ($ph4 == '') { unset($ph4);} }
  15. if (isset($_POST['adress'])) { $adress = $_POST['adress']; if ($adress == '') { unset($adress);} }
  16. if (isset($_POST['rezhim'])) { $rezhim = $_POST['rezhim']; if ($rezhim == '') { unset($rezhim);} }
  17. if (isset($_POST['dopol'])) { $dopol = $_POST['dopol']; if ($dopol == '') { unset($dopol);} }
  18.  
  19. if (empty($title) or empty($cat)or empty($adress) or empty($usluga)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
  20. {
  21. exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); //останавливаем выполнение сценариев
  22.  
  23. }
  24.  
  25.  
  26. function generate_code() //запускаем функцию, генерирующую код
  27. {
  28.                
  29.    $hours = date("H"); // час      
  30.    $minuts = substr(date("H"), 0 , 1);// минута
  31.    $mouns = date("m");    // месяц            
  32.    $year_day = date("z"); // день в году
  33.  
  34.    $str = $hours . $minuts . $mouns . $year_day; //создаем строку
  35.    $str = md5(md5($str)); //дважды шифруем в md5
  36.         $str = strrev($str);// реверс строки
  37.         $str = substr($str, 3, 6); // извлекаем 6 символов, начиная с 3
  38.         // Вам конечно же можно постваить другие значения, так как, если взломщики узнают, каким именно способом это все генерируется, то в защите не будет смысла.
  39.        
  40.  
  41.    $array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
  42.    srand ((float)microtime()*1000000);
  43.    shuffle ($array_mix);
  44.         //Тщательно перемешиваем, соль, сахар по вкусу!!!
  45.    return implode("", $array_mix);
  46. }
  47.  
  48.  
  49.  
  50.  
  51. if (empty($_FILES['photo']['name']))
  52. {
  53. //если переменной не существует (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"
  54. $avatar = "avatars/net-avatara.jpg";
  55. //можете нарисовать net-avatara.jpg или взять в исходниках
  56. }
  57.  
  58. else
  59. {
  60. //иначе - загружаем изображение пользователя
  61. $path_to_90_directory = 'uslugi/';//папка, куда будет загружаться начальная картинка и ее сжатая копия
  62.  
  63.        
  64. if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['photo']['name']))//проверка формата исходного изображения
  65.          {     
  66.                        
  67.                 $filename = $_FILES['photo']['name'];
  68.                 $source = $_FILES['photo']['tmp_name'];
  69.                 $target = $path_to_90_directory . $filename;
  70.                 move_uploaded_file($source, $target);//загрузка оригинала в папку $path_to_90_directory
  71.  
  72.         if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
  73.         $im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  74.         }
  75.         if(preg_match('/[.](PNG)|(png)$/', $filename)) {
  76.         $im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  77.         }
  78.        
  79.         if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
  80.                 $im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
  81.         }
  82.        
  83. //СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru
  84.  
  85. // Создание квадрата 90x90
  86. // dest - результирующее изображение
  87. // w - ширина изображения
  88. // ratio - коэффициент пропорциональности
  89.  
  90. $w = 90;  // квадратная 90x90. Можно поставить и другой размер.
  91.  
  92. // создаём исходное изображение на основе
  93. // исходного файла и определяем его размеры
  94. $w_src = imagesx($im); //вычисляем ширину
  95. $h_src = imagesy($im); //вычисляем высоту изображения
  96.  
  97.         // создаём пустую квадратную картинку
  98.         // важно именно truecolor!, иначе будем иметь 8-битный результат
  99.         $dest = imagecreatetruecolor($w,$w);
  100.  
  101.         // вырезаем квадратную серединку по x, если фото горизонтальное
  102.         if ($w_src>$h_src)
  103.         imagecopyresampled($dest, $im, 0, 0,
  104.                          round((max($w_src,$h_src)-min($w_src,$h_src))/2),
  105.                          0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
  106.  
  107.         // вырезаем квадратную верхушку по y,
  108.         // если фото вертикальное (хотя можно тоже серединку)
  109.         if ($w_src<$h_src)
  110.         imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w,
  111.                          min($w_src,$h_src), min($w_src,$h_src));
  112.  
  113.         // квадратная картинка масштабируется без вырезок
  114.         if ($w_src==$h_src)
  115.         imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
  116.                  
  117.  
  118. $date=time(); //вычисляем время в настоящий момент.
  119. imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен.
  120.  
  121. //почему именно jpg? Он занимает очень мало места + уничтожается анимирование gif изображения, которое отвлекает пользователя. Не очень приятно читать его комментарий, когда краем глаза замечаешь какое-то движение.
  122.  
  123. $avatar = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара.
  124.  
  125. $delfull = $path_to_90_directory.$filename;
  126. unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было - получить миниатюру.
  127. }
  128. else
  129.         {
  130.                  //в случае несоответствия формата, выдаем соответствующее сообщение
  131.        
  132. exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>"); //останавливаем выполнение сценариев
  133.  
  134.              }
  135. //конец процесса загрузки и присвоения переменной $avatar адреса загруженной авы
  136. }
  137.  
  138. //можно добавить несколько своих символов по вкусу, например, вписав "b3p6f". Если этот пароль будут взламывать метадом подбора у себя на сервере этой же md5,то явно ничего хорошего не выйдет. Но советую ставить другие символы, можно в начале строки или в середине.
  139.  
  140. //При этом необходимо увеличить длину поля password в базе. Зашифрованный пароль может получится гораздо большего размера.
  141.  
  142.  
  143.  
  144. // дописали новое********************************************
  145.  
  146. // Далее идет все из первой части статьи,но необходимо дописать изменение в запрос к базе.
  147.  
  148. // подключаемся к базе
  149. include ("inc/config.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
  150.  
  151. // если такого нет, то сохраняем данные
  152. $result2 = mysql_query ("INSERT INTO company (title,cat,photo,ss,sg,sb,adress,usluga,rezhim,dopol) VALUES('$title','$cat','$photo','ss','$sg','$sb','$adress','$usluga','$rezhim','$dopol',NOW())");
  153. // Проверяем, есть ли ошибки
  154. if ($result2=='TRUE')
  155. {
  156.  
  157.        
  158. echo "ОК! <a href='index.php'>Главная страница</a>"; //говорим о отправленном письме пользователю
  159. }
  160.  
  161. else {
  162. exit ("Ошибка!"); //останавливаем выполнение сценариев
  163.  
  164.     }
  165. ?>

(Добавление)
Вылазиет Ошибка
 
 Top
Andrusa95
Отправлено: 11 Апреля, 2012 - 16:00:44
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




А какая именно ошибка?


-----
Знание есть сокровище, но хранитель его — разум.

Пенн Вильям
 
 Top
vovkayatsun
Отправлено: 18 Апреля, 2012 - 01:48:19
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2012  


Помог: 0 раз(а)




WEBKILLER пишет:
Вылазиет Ошибка


Проверял на денвере - ошибка в файле save_com.php на 149 и 152 строке. Это подключение к "Базе данных". Туда доступа не имею, ничего не могу сказать.


Отредактировано модератором: Мелкий, 18 Апреля, 2012 - 09:29:07
 
 Top
DelphinPRO
Отправлено: 18 Апреля, 2012 - 02:00:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




WEBKILLER текст ошибки скажи пожалуйста, если не секрет

Спойлер (Отобразить)

(Добавление)
WEBKILLER пишет:
Отправлено: 11 Апреля, 2012 - 15:49:46
мазафака Недовольство, огорчение


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Корзина »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB