Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Март 2012
Помог: 0 раз(а)
|
Страница new_com.php
CODE ( htmlphp):
скопировать код в буфер обмена
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Документ без названия</title> </head> <body> <p><strong>Добавить компанию!</strong></p> <form action="save_com.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <table width="600" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="250">Название: <label for="textfield"></label></td> <td width="350"><input type="text" name="title" id="title" /></td> </tr> <tr> <td>Каттегория:</td> <td><input type="text" name="cat" id="cat" /></td> </tr> <tr> <td>Услуга:</td> <td><input type="text" name="usluga" id="usluga" /></td> </tr> <tr> <td>Телефон:</td> <td><input type="text" name="tel" id="tel" /></td> </tr> <tr> <td>Скидка с картой голд:</td> <td><input type="text" name="sg" id="sg" /></td> </tr> <tr> <td>Скидка с картой серебро:</td> <td><input type="text" name="ss" id="ss" /></td> </tr> <tr> <td>Скидка с картой бронза:</td> <td><input type="text" name="sb" id="sb" /></td> </tr> <tr> <td align="left" valign="top"><p>Главное фото: </p> <p>Второе фото: </p> <p>Третие фото: </p> <p>Четвертое фото: </p> <p>Пятое фото</p></td> <td><p> <label for="fileField"></label> <input type="file" name="photo" id="photo" /> </p> </td> </tr> <tr> <td height="110"><p>Адресс:</p></td> <td><label for="adress"></label> <input type="text" name="adress" id="adress" /></td> </tr> <tr> <td>График работы:</td> <td><p> <label for="rezhim"></label> <input type="text" name="rezhim" id="rezhim" /> </p></td> </tr> <tr> <td>Дополнительное:</td> <td><textarea name="dopol" cols="55" rows="10" id="dopol"></textarea></td> </tr> <tr> <td> </td> <td><input type="submit" name="button" id="button" value="Отправить" /></td> </tr> </table> </form> </body> </html>
Файл save_com.php
CODE ( htmlphp):
скопировать код в буфер обмена
<?php if (isset($_POST['title'])) { $title = $_POST['title']; if ($title == '') { unset($title);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if (isset($_POST['cat'])) { $cat=$_POST['cat']; if ($cat =='') { unset($cat);} } if (isset($_POST['usluga'])) { $usluga = $_POST['usluga']; if ($usluga == '') { unset($usluga);} } if (isset($_POST['sg'])) { $sg = $_POST['sg']; if ($sg == '') { unset($sg);} } if (isset($_POST['ss'])) { $ss = $_POST['ss']; if ($ss == '') { unset($ss);} } if (isset($_POST['sb'])) { $sb = $_POST['sb']; if ($sb == '') { unset($sb);} } if (isset($_POST['tel'])) { $tel = $_POST['tel']; if ($tel == '') { unset($tel);} } if (isset($_POST['ph1'])) { $ph1 = $_POST['ph1']; if ($ph1 == '') { unset($ph1);} } if (isset($_POST['ph2'])) { $ph2 = $_POST['ph2']; if ($ph2 == '') { unset($ph2);} } if (isset($_POST['ph3'])) { $ph3 = $_POST['ph3']; if ($ph3 == '') { unset($ph3);} } if (isset($_POST['ph4'])) { $ph4 = $_POST['ph4']; if ($ph4 == '') { unset($ph4);} } if (isset($_POST['adress'])) { $adress = $_POST['adress']; if ($adress == '') { unset($adress);} } if (isset($_POST['rezhim'])) { $rezhim = $_POST['rezhim']; if ($rezhim == '') { unset($rezhim);} } if (isset($_POST['dopol'])) { $dopol = $_POST['dopol']; if ($dopol == '') { unset($dopol);} } if (empty($title) or empty($cat)or empty($adress) or empty($usluga)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); //останавливаем выполнение сценариев } function generate_code() //запускаем функцию, генерирующую код { $hours = date("H"); // час $mouns = date("m"); // месяц $year_day = date("z"); // день в году $str = $hours . $minuts . $mouns . $year_day; //создаем строку $str = md5(md5($str)); //дважды шифруем в md5 $str = strrev($str);// реверс строки $str = substr($str, 3, 6); // извлекаем 6 символов, начиная с 3 // Вам конечно же можно постваить другие значения, так как, если взломщики узнают, каким именно способом это все генерируется, то в защите не будет смысла. $array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); //Тщательно перемешиваем, соль, сахар по вкусу!!! } if (empty($_FILES['photo']['name'])) { //если переменной не существует (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара" $avatar = "avatars/net-avatara.jpg"; //можете нарисовать net-avatara.jpg или взять в исходниках } else { //иначе - загружаем изображение пользователя $path_to_90_directory = 'uslugi/';//папка, куда будет загружаться начальная картинка и ее сжатая копия if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['photo']['name']))//проверка формата исходного изображения { $filename = $_FILES['photo']['name']; $source = $_FILES['photo']['tmp_name']; $target = $path_to_90_directory . $filename; $im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия } $im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия } if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) { $im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия } //СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru // Создание квадрата 90x90 // dest - результирующее изображение // w - ширина изображения // ratio - коэффициент пропорциональности $w = 90; // квадратная 90x90. Можно поставить и другой размер. // создаём исходное изображение на основе // исходного файла и определяем его размеры $w_src = imagesx($im); //вычисляем ширину $h_src = imagesy($im); //вычисляем высоту изображения // создаём пустую квадратную картинку // важно именно truecolor!, иначе будем иметь 8-битный результат // вырезаем квадратную серединку по x, если фото горизонтальное if ($w_src>$h_src) 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src)); // вырезаем квадратную верхушку по y, // если фото вертикальное (хотя можно тоже серединку) if ($w_src<$h_src) min($w_src,$h_src), min($w_src,$h_src)); // квадратная картинка масштабируется без вырезок if ($w_src==$h_src) $date=time(); //вычисляем время в настоящий момент. imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен. //почему именно jpg? Он занимает очень мало места + уничтожается анимирование gif изображения, которое отвлекает пользователя. Не очень приятно читать его комментарий, когда краем глаза замечаешь какое-то движение. $avatar = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара. $delfull = $path_to_90_directory.$filename; unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было - получить миниатюру. } else { //в случае несоответствия формата, выдаем соответствующее сообщение exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>"); //останавливаем выполнение сценариев } //конец процесса загрузки и присвоения переменной $avatar адреса загруженной авы } //можно добавить несколько своих символов по вкусу, например, вписав "b3p6f". Если этот пароль будут взламывать метадом подбора у себя на сервере этой же md5,то явно ничего хорошего не выйдет. Но советую ставить другие символы, можно в начале строки или в середине. //При этом необходимо увеличить длину поля password в базе. Зашифрованный пароль может получится гораздо большего размера. // дописали новое******************************************** // Далее идет все из первой части статьи,но необходимо дописать изменение в запрос к базе. // подключаемся к базе include ("inc/config.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь // если такого нет, то сохраняем данные $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())"); // Проверяем, есть ли ошибки if ($result2=='TRUE') { echo "ОК! <a href='index.php'>Главная страница</a>"; //говорим о отправленном письме пользователю } else { exit ("Ошибка!"); //останавливаем выполнение сценариев } ?>
(Добавление)
Вылазиет Ошибка
|