|
|
|
| как сделать чтобы в базу заходили значения указанные в selecte ??
<label>Раздел </label></p>
<p> <select type=text name="notice_type" class="text" id="notice_type" >
<option value='Сдаю' id="notice_type">Сдаю</option>
<option value='Продаю' id="notice_type">
Продаю</option>
<option value='Куплю' id="notice_type">
Куплю </option>
<option value='Сниму' id="notice_type">
Сниму</option>
<option value='Обменяю' id="notice_type">
Обменяю </option>
<option value='Бартер' id="notice_type">
Бартер </option>
</select>
|
| |
|
|
|
|
|
|
|
для: intima
(23.08.2011 в 16:18)
| | А в чем выражается "не работа" тэга select?
PS Кстати, значение атрибута id должно быть уникально для каждого из тэгов, а у вас "notice_type" встречается в массовом порядке - могут быть проблемы при стилевом оформлении и использовании JavaScript. | |
|
|
|
|
|
|
|
для: cheops
(23.08.2011 в 16:26)
| | вот смотрите весь код
<? include ("db.inc") ;
include ("admin/core/common_lib.inc") ;
if(isset ($_POST['cat'])) {$cat=$_POST['cat'];}
if(isset ($_POST['id'])) {$id=$_POST['id'];}
//if(isset ($_POST['zag'])) {$id=$_POST['zag'];}
//if(isset ($_POST['name'])) {$id=$_POST['name'];}
//if(isset ($_POST['cena'])) {$id=$_POST['cena'];}
//if(isset ($_POST['id'])) {$id=$_POST['id'];}
//if(isset ($_POST['id'])) {$id=$_POST['id'];}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link rel="stylesheet" type="text/css" href="styles/stayl.css"/>
<link rel="stylesheet" type="text/css" href="css/default.css"/>
<script type="text/javascript" src="http://wareznika-net.ru/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/validate.min.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript" src="js/init.js"></script>
<script type="text/javascript" src="js/jquery.tools.min.js"></script>
<script type="text/javascript" src="js/js.js"></script>
<script>
// execute your scripts when the DOM is ready. this is a good habit
$(function() {
// expose the form when it's clicked
$("form.expose").click(function() {
$(this).expose({
// custom mask settings with CSS
maskId: 'mask',
// when exposing is done, change form's background color
onLoad: function() {
this.getExposed().css({backgroundColor: '#fff'});
},
// when "unexposed", return to original background color
onClose: function() {
this.getExposed().css({backgroundColor: null});
},
api: true
}).load();
});
});
</script>
<title>Документ без названия</title>
</head>
<body>
<div class="main">
<div class="across">
<div class="top">
</div>
<div class="centr">
<? include ("bloks/header.php");?>
<? include ("bloks/left.php");?>
<!--смена фото икон-->
<script language="javascript">
function locateObject(name, d)
{
var i,x;
if(!d) d=document;
x=d[name];
for(i=0; !x && d.layers && i< d.layers.length; i++)
x=locateObject(name, d.layers[i].document);
return x;
}
function ImageSwap( Name, URL)
{
var img;
img = locateObject(Name);
img.src = URL;
}
</script>
<div class="div_icon">
<div class="icon">
<a href="nedv.php" onMouseOut="ImageSwap('a1','icon/nedvigemost2.jpg')" onMouseOver="ImageSwap('a1','icon/nedvigemost.jpg')" onMouseDown="ImageSwap('a1','картинки при нажатии'')"> <img class="icon_a" src="icon/nedvigemost2.jpg" alt="" width="165px" height="145px" name="a1" border=0 /></a>
<a href="#" onMouseOut="ImageSwap('a2','icon/avto.jpg')" onMouseOver="ImageSwap('a2','icon/avto2.jpg')" onMouseDown="ImageSwap('a2','картинки при нажатии'')" > <img class="icon_a" src="icon/avto.jpg" alt="" width="165px" height="145px" name="a2" border=0 /></a>
<a href="#" onMouseOut="ImageSwap('a4','icon/техника.jpg')" onMouseOver="ImageSwap('a4','icon/texnika2.jpg')" onMouseDown="ImageSwap('a3','картинки при нажатии'')" > <img class="icon_a" src="icon/техника.jpg" alt="" width="165px" height="145px" name="a4" border=0/></a>
<a href="#" onMouseOut="ImageSwap('a3','icon/услуги.jpg')" onMouseOver="ImageSwap('a3','icon/yslugi3.jpg')" onMouseDown="ImageSwap('a3','картинки при нажатии'')"><img class="icon_a" src="icon/услуги.jpg" alt="" width="165px" height="145px" name="a3" border=0/></a>
</div>
<div class="obhiy_rait">
<div class="div_baner_left">
</div>
</div>
<div class="pazdel_nedv" >
<P class="centr_text_p">Панель
<BR>
<b class="centr_text_b">Добавления объявлений
</b>
</p>
<div class="form">
<div id="firstpane" class="serch_list">
<?
$query = "select id,name,parent from $tbCatalog where parent=-1 ORDER BY corder";
if ($result=mysql_query($query)){
if (mysql_num_rows($result)){
$catArray = '';
while ($row = mysql_fetch_array($result)){
$catArray[]= array('name'=>$row['name'],'id'=>$row['id']);
}
}
}
$id=intval($catArray[0]['id']);
$query = "select * from $tbCatalog where parent=$id ORDER BY corder";
if ($result=mysql_query($query)){
if (mysql_num_rows($result)){
$subcatArray = '';
while ($row = mysql_fetch_array($result)){
$subcatArray[] = array('name'=>$row['name'],'corder'=>$row['corder'],'id'=>$row['id'],'parent'=>$row['parent']);
}
}
}
//Список переменных участвующих в операции
$name = '';
$zag = '';
$descr = '';
$text = '';
$cena = '';
$contact_face ='';
$contact_infa ='';
$img = '';
$addimg_1 = '';
$addimg_2 = '';
$addimg_3 = '';
$cid = $subcatArray[0]['id'];
$error = '';
$add_notice = false;//Булев задающий добавлено объявление или нет
if (!empty($_POST)){
$name = mysql_escape_string(getParam('name', ''));
$zag = mysql_escape_string(getParam('zag', ''));
// $descr = '';
$text = mysql_escape_string(getParam('text', ''));
$cena = (int)mysql_escape_string(getParam('cena',''));
$city = mysql_escape_string(getParam('city',''));
$plosh= mysql_escape_string(getParam('plosh',''));
$descr= mysql_escape_string(getParam('descr',''));
$cid = mysql_escape_string(getParam('sub_category',$subcatArray[0]['id']));
// $code = generate_uniq_code('code', $tbNotice);
// $code_vip = generate_uniq_code('code_vip', $tbNotice);
$datetime = date('Y-m-d H:i:s');
if($_img = uploadFile("./images/notice_img/", "img")){
//echo $_img;
$img = $_img;//getSafeFileName($_img);
}
if($_addimg_1 = uploadFile("./images/notice_img/", "img2")){
$addimg_1 = $_addimg_1;//getSafeFileName($_addimg_1);
}
if($_addimg_2 = uploadFile("./images/notice_img/", "img3")){
$addimg_2 = $_addimg_2;//getSafeFileName($_addimg_2);
}
// if($_addimg_3 = uploadFile("./images/notice_img/", "addimg_3")){
$addimg_3 = $_addimg_3;//getSafeFileName($_addimg_3);
// }
//if ($descr==''){$error['descr']='Поле `краткое описание` не заполнено';}
if ($zag==''){$error['zag']='<br><b class="b_add"> Поле <b class="b_add_2">Заголовок объявления</b> не заполнено </b>';}
if ($text==''){$error['text']='<br><b class="b_add"> Поле <b class="b_add_2">Текст объявления </b> не заполнено</b>';}
if ($name==''){$error['name']='<br><b class="b_add"> Поле <b class="b_add_2">город</b> не заполнено </b>';}
if ($plosh==''){$error['plosh']='<br><b class="b_add"> Поле <b class="b_add_2">контактное лицо</b> не заполнено </b>';}
if ($descr==''){$error['descr']='<br><b class="b_add"> Поле <b class="b_add_2">контактная информация</b> не заполнено </b>';}
if ($error==''){
$query = "INSERT INTO $tbProducts (
`url`,
`text`,
`img`,
`parent`,
`datetime`,
`cena`,
`name`,
`plosh`,
`descr`,
`cid`,
`img2`,
`img3`
)
VALUES (
'$zag',
'$text',
'$img',
'-1' ,
'$datetime',
'$cena',
'$name',
'$plosh',
'$descr',
'$cid',
'$addimg_1',
'$addimg_2'
)";
$error['add']='<b class="b_add_2">Объявление не добавлено</b>';
if ($result= mysql_query($query)){
if (mysql_affected_rows()!=0){
$id_add = mysql_insert_id();
$taip=substr($taip, 0, 45);
$url = getTransName(trim($taip));
$id = mysql_insert_id();
// $url = Get_Next_Uniq_URL("$url", $tbProducts, "url_men", "");
$query = "
UPDATE $tbProducts
SET `translit` = '$url_table'
WHERE `id`=$id_add
";
if ($result = mysql_query($query)){
if (mysql_affected_rows()!=0){
$error['add']='<br><b class="b_add_4">Объявление успешно добавлено</b>'.
'<br><b class="b_add_5"><a href="viev_post.php?id='.$id.'">ссылка на объявление</a></b>';
$add_cat = true;
}
}
}
}
}
}
//Получение списка типа объявления
$sel_notice_type='';
$query = "select taip from $tbProducts ORDER BY corder";
if ($result=mysql_query($query)) {
if (mysql_num_rows($result)!=0) {
while ($row=mysql_fetch_assoc($result)){
$sel_notice_type.='<option value="'.$row['id'].'" '.($notice_type==$row['id'] ? 'selected=selected' : '').'>'.$row['taip'].'</option>';
}
}
}
?>
<div id="contain">
<div class="u">
<form ENCTYPE="multipart/form-data" id="form" class="blocks" name="add" method="post" action="add_cat.php">
<b class="b_add">Поле помеченное</b> <b class="b_add_3">*</b> <b class="b_add">обязательно для заполнения</b>
<?php
if ($error!=''){
foreach ($error as $er){
//if ($er!='Объявление успешно добавлено'){ //Если объявление отправленно,то не выводить сообщение,пока не будет введен код
echo '<span class="strict">'.$er.'</span>';
//}
}
if ($add_notice){
echo '<script>
function dorefresh()
{
ti=setTimeout("dorefresh();",1000);
window.location="activation/'.$id_add.'";
}
window.onLoad=dorefresh();
</script>';
}
}
?>
<div class="div">
<p> <select id="category" name="category" class="text" onchange="changeCat(this.form);">
<?php
$bool=true;
foreach ($catArray as $cat){
if ($bool){
echo '<option value="'.$cat['id'].'" selected=selected>'.$cat['name'].'</option>';
$bool=false;
}else{
echo '<option value="'.$cat['id'].'">'.$cat['name'].'</option>';
}
}
?>
</select>
<label>Категория </label> </p>
<p> <span id="result">
<select id="sub_category" class="text" name="sub_category" >
<?php
$bool = true;
foreach ($subcatArray as $subcat){
if ($bool){
echo '<option value="'.$subcat['id'].'" selected=selected>'.$subcat['name'].'</option>';
$bool =false;
}else{
echo '<option value="'.$subcat['id'].'">'.$subcat['name'].'</option>';
}
}
?>
</select>
</span>
<label>Раздел </label></p>
<p> <select type=text name="notice_type" class="text" id="notice_type" >
<option value='Сдаю' id="notice_type">Сдаю</option>
<option value='Продаю' id="notice_type">
Продаю</option>
<option value='Куплю' id="notice_type">
Куплю </option>
<option value='Сниму' id="notice_type">
Сниму</option>
<option value='Обменяю' id="notice_type">
Обменяю </option>
<option value='Бартер' id="notice_type">
Бартер </option>
</select> </p>
<p> <input type="text" class="text" name="zag" id="zag" value="<?php echo $zag; ?>"/><label> Заголовок объявления <b class="b_add_3">*</b></label> </p>
<p> <textarea id="text" class="textarea" name="text" ><?php echo $text; ?></textarea> <label >Текст объявления <b class="b_add_3">*</b></label> </p>
<p> <input type="text" class="text" id="cena" name="cena" value="<?php echo $cena; ?>" /> <label>Цена </label></p> <p> <input type="text" class="text" id="name" name="name" value="<?php echo $name; ?>" /> <label>Город (населенный пункт) <b class="b_add_3">*</b></label></p>
<p> <input type="text" class="text" id="plosh" name="plosh" value="<?php echo $plosh; ?>"/> <label>Контактное лицо <b class="b_add_3">*</b></label></p>
<p> <input class="text" id="descr" name="descr" ><?php echo $descr; ?></textarea> <label >Контактная информация (телефон, адрес, e-mail, icq) <b class="b_add_3">*</b></label> </p>
<p><input type="file" class="text" id="img" name="img"/> <label>Фотография 1 </label> </p>
<p> <input type="file" class="text" id="img2" name="img2"/> <label>Фотография 2 </label> </p>
<p> <input type="file" class="text" id="img3" name="img3"/> <label>Фотография 3 </label></p>
<p> <label>99554 <b class="b_add_3">*</b></label> <input height="15px" type="textch" class="textch" id="cph" name="cph" value="<?php echo $cph; ?>"/> </p>
</div>
<input type="submit" value="Подать объявление" class="submit" />
</form>
</div>
</div>
</div>
</div>
<div style="height:50px"></div>
</div>
</div>
<? include ("bloks/bottom.php"); ?>
<div class="niz" >
</div>
</body>
</html>
|
там все работает не работает только эта часть !! можете как нибудь подсказать ?как это реализовать | |
|
|
|
|
|
|
|
для: intima
(23.08.2011 в 21:31)
| | Возможно из за того что в строчке
<select type=text name="notice_type" class="text" id="notice_type" >
|
есть параметр type=text
попробуйте его убрать | |
|
|
|
|
|
|
|
для: Den*s
(24.08.2011 в 10:00)
| | может там че то еше есть? | |
|
|
|
|
|
|
|
для: intima
(24.08.2011 в 12:32)
| | Если бы вы ответили на вопрос "А в чем выражается "не работа" тэга select?", то вам помогли бы гораздо быстрее | |
|
|
|
|
|
|
|
для: Гость
(24.08.2011 в 12:52)
| | сам селект может и работает !! она должна добовлять категории в базу ну "Сдаю" ,"продаю" а она этого не делает после добавления объявления это поле остается пустым !! она не понимает что ее надо в базу занести слово сдаю или продаю в зависимости от что выбрано! как то так !!! короче она в этом селекте эту строчку не понимает!
<option value='Сдаю' id="notice_type">Сдаю</option>
|
| |
|
|
|
|
|
|
|
для: intima
(24.08.2011 в 13:52)
| | Вам два вопроса
1) В какую переменную методом POST помещается значение селекста
2) Где в INSERT в поле прописана эта переменная?
что то типа
<?
$notice_type = $_POST["notice_type"];
$query = "INSERT INTO $tbProducts (
`url`,
`text`,
....
notice_type
....
)
VALUES (
'$zag',
'$text',
...
$notice_type
...
)"
?>
|
| |
|
|
|
|
|
|
|
для: Den*s
(24.08.2011 в 16:07)
| | этого мамента нету я думаю вы подскажите где что и как поставить !!! я просто новичек !! я делал обьявлял все как только не пробывал это сделать не получилось потом решил все убрать как было и у вас спросить! | |
|
|
|
|
|
|
|
для: intima
(24.08.2011 в 17:13)
| | Ну так в таблицу поле наверное еще нужно добавить и значение селекта туда записывать... | |
|
|
|
|
|
|
|
для: intima
(24.08.2011 в 17:13)
| | Я так полагаю это не ваш код.
Уделите время и разберитесь, ничего сложного нет.
И так, форма у Вас уже есть, в форме указан параметр action="add_cat.php"
На странице add_cat.php принимаете данные формы, то есть если на форме есть
<input type="text" class="text" name="zag" id="zag" />
|
то на add_cat.php нужно написать:
<?
$zag = @trim( mysql_real_escape_string (htmlspecialchars ($_POST["zag"], ENT_QUOTES)));
?>
|
Всякого рода trim( mysql_real_escape_string (htmlspecialchars тут для того что бы обезопасить себя от зловредных символов
Потом сформировать строку запроса, в которой будет указано, в какую таблицу что писать
Не забудьте создать соответствующее поле в базе
Сделайте это своими руками снуля
Не знаю для чего там столько кода, на мой взгляд его можно укоротить и упростить раза в 3. | |
|
|
|
|
|
|
|
для: Den*s
(24.08.2011 в 18:04)
| | htmlspecialchars - нужно использовать при выводе, а не перед помещением в базу | |
|
|
|
|
|
|
|
для: Valick
(24.08.2011 в 18:25)
| | А почему нельзя при вводе
вот например
<?
$t = htmlspecialchars ("'", ENT_QUOTES);
print $t;
?>
|
Нажимаю в браузере "просмотреть исходный код" и вижу '
Отсюда вывод что в переменную $t записалась не одинарная кавычка, а безопасный набор символов
Эту переменную теперь без опасений можно вносить в базу
Разве не так? Или я что то не до конца понимаю? | |
|
|
|
|
|
|
|
для: Den*s
(24.08.2011 в 18:45)
| | можно, но ведь вы не носите носки поверх ботинок, хотя тоже можно :)
для базы достаточно mysql_real_escape_string
SQL -инъекция, это не помещение в базу каких-то страшных символов...
базе вообще фиолетово что в ней лежит, инъекция заключается в искажении запроса посылаемого базе
а вот trim нужно применять одной из первых, для обработки переменной
затем неплохо бы проверить длину строки | |
|
|
|
|
|
|
|
для: Valick
(24.08.2011 в 19:13)
| | >можно, но ведь вы не носите носки поверх ботинок, хотя тоже можно :)
Можно надеть носки поверх ботинок и тогда не будешь скользить по льду :)
>SQL -инъекция, это не помещение в базу каких-то страшных символов...
>базе вообще фиолетово что в ней лежит, инъекция заключается в искажении запроса посылаемого базе
Это я и хотел учесть,можно исказить запрос кавычками, используя htmlspecialchars кавычки превращаются в символы, идёт в довес если не доверять mysql_real_escape_string | |
|
|
|
|
|
|
|
для: Den*s
(24.08.2011 в 18:45)
| | Можно писать как хочешь))
Просто если перед помещением в бд ты их профильтруешь, то это больше места в бд будет занимать вот и всё)
Но если фильтровать при выводе то нагрузка на сервер немного увеличится, на сколько я знаю. | |
|
|
|
|
|
|
|
для: (Sandr)
(24.08.2011 в 23:35)
| | Можно писать как хочешь))
угу, но нужно писать как нужно :)
в базе нужно хранить оригинал, с которым можно проводить любые преобразования достав его из базы, в том числе и хтмлспешалчарс непосредственно перед выводом в браузер
ну а на сет нагрузки это не тот случай когда нужно экономить
___
да делайте как хотите, мне вообще по барабану)) | |
|
|
|