Помогите пожалуйста, может я что-то не так делаю? Вот код show.tpl
<?php
if (isset($_POST['NomRazd']) && $_POST['NomRazd'] == $_POST['NomRazd']
or (isset($_POST['nazvan'])))
{
$nomrazd=$_POST['NomRazd'] ;
?><form method="post" action="">
Выбранный раздел:<br />
<?php
switch ($nomrazd)
{
case 1: echo "Промышленная химия";
break;
case 2: echo "Минеральные удобрения и средства защиты растений";
break;
case 3: echo "Химические реактивы";
break;
case 4: echo "Дезинфицирующие средства";
break;
case 5: echo "Лабораторная посуда и термометры";
break;
case 6: echo "Оборудование для АЗС и нефтебаз";
break;
};?><br />
Выберите продукт:<br />
<?php
//Получаем из базы данных все записи данного раздела
$res = mysqlQuery("SELECT *
FROM `". IRB_DBPREFIX ."product`
WHERE `razdel`=".$nomrazd
);
?>
<select name="Product">
<?php
if(mysql_num_rows($res) > 0) // Если записи есть, вытаскиваем по одной в цикле
while($row = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars()
{
$product=$row['nazvan'];
$upack=$row['fasovka'];
echo "<option value='$product' selected='selected'>$product</option>";
}
?>
</select>
<br />
Укажите количество упаковок продукта:<br />
<input name="kolich" type="text" size="5" /> штук <br />
<br />
<input type="submit" value="Отправить" />
</form>
<?php
} else { ?>
<form method="post" action="">
Выберите раздел:<br />
<select name='NomRazd'>
<option value='0'>Выберите раздел</option>
<option value='1'>Промышленная химия</option>
<option value='2'>Минеральные удобрения и средства защиты растений</option>
<option value='3'>Химические реактивы</option>
<option value='4'>Дезинфицирующие средства</option>
<option value='5'>Лабораторная посуда и термометры</option>
<option value='6'>Оборудование для АЗС и нефтебаз</option>
</select><br /><br />
<br />
<input type="submit" value="Отправить" />
</form>
<?php
} ?>
Ваш заказ:<br />
<?php
echo $zakaz;
?>
</td>
А это контроллер:
/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/
include_once IRB_ROOT .'libs/mysql.php';
//Получаем из базы данных все записи
$res = mysqlQuery("SELECT *
FROM `". IRB_DBPREFIX ."product` "
);
$rows = '';
$i = 0;
if(mysql_num_rows($res) > 0) // Если записи есть, вытаскиваем по одной в цикле
while($row = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars()
{
++$i;
// Собираем строки таблицы в переменную
$kolich = 0;
$rows .= "<tr>\n\t<td>". $i .
"</td>\n\t<td>". $row['nazvan'] .
"</td>\n\t<td>". $row['razdel'] .
"</td>\n\t<td>". $row['kvalif'] .
"</td>\n\t<td>". $row['gost'] .
"</td>\n\t<td>". $row['fasovka'] .
"</td>\n\t<td>". $row['foto'] .
"</td>\n\t</tr>";
}
/**
* The data recording block
* Блок записи информации
*/
if($ok)
{
if (isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']))
{
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '". escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '". escapeString($_POST['nazvan']) ."',
`kolich` = '". escapeString($_POST['kolich']) ."',
`upack` = '". escapeString($POST['fasovka']) ."'"
);
reDirect();
}
else
$info[] = IRB_NO_TEXT;
}
else
$info[] = IRB_WRITE;
/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/
$res = mysqlQuery("SELECT *
FROM `". IRB_DBPREFIX ."zakaz`"
);
$zakaz = '';
$i = 0;
if(mysql_num_rows($res) > 0)
while($zak = htmlChars(mysql_fetch_assoc($res)))
{
++$i;
// Собираем строки таблицы в переменную
$zakaz .= "<tr>\n\t<td>". $i .
"</td>\n\t<td>". $zak['client'] .
"</td>\n\t<td>". $zak['nazvan'] .
"</td>\n\t<td>". $zak['upack'] .
"</td>\n\t<td>". $zak['kolich'] .
"</td>\n\t</tr>";
}
не могу понять почему не записывается заказ? что я сделала не так?
Спустя 8 минут, 4 секунды (4.10.2011 - 14:03) Ludmila написал(а):
Мне нужно, чтобы по разделу выходили записи продуктов и когда посетитель выбирает продукт и указывает количество, то нужно его записать в БД и послать письмо с текстом заказа
Спустя 5 минут, 24 секунды (4.10.2011 - 14:08) TranceIT написал(а):
Ошибка тут, посмотри внимательнее, что вставляешь.
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '". escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '". escapeString($_POST['nazvan']) ."',
`kolich` = '". escapeString($_POST['kolich']) ."',
`upack` = '". escapeString($POST['fasovka']) ."'"
);
Спустя 17 минут, 41 секунда (4.10.2011 - 14:26) Ludmila написал(а):
Это я исправила, только оно почему-то в базу не заносится
нет ничего, а соответственно и не считывает
нет ничего, а соответственно и не считывает
Спустя 2 минуты, 17 секунд (4.10.2011 - 14:28) Ludmila написал(а):
не получается
Спустя 1 минута, 46 секунд (4.10.2011 - 14:30) TranceIT написал(а):
Имена таблиц не заключаются в кавычки. Названия колонок - тоже.
Хотелось бы глянуть на выводимые ошибки...
Хотелось бы глянуть на выводимые ошибки...
Спустя 49 секунд (4.10.2011 - 14:31) Winston написал(а):
Попробуйте переписать запросы
Возможно у вас ошибка какая-то в запросе...
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '". escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '". escapeString($_POST['nazvan']) ."',
`kolich` = '". escapeString($_POST['kolich']) ."',
`upack` = '". escapeString($POST['fasovka']) ."'"
) or die(mysql_error());
Возможно у вас ошибка какая-то в запросе...
Спустя 15 минут, 4 секунды (4.10.2011 - 14:46) Ludmila написал(а):
дело в том, что ошибок никаких не дает, просто обнуляет результат и как бы начинает сначала, а то, что выбрано не показывает и не записывает
Спустя 2 минуты, 43 секунды (4.10.2011 - 14:49) Ludmila написал(а):
Специально внизу переменную поставила, чтобы выводило, что сохранено, а оно просто обнуляется
Спустя 8 минут, 12 секунд (4.10.2011 - 14:57) Michael написал(а):
Цитата (Ludmila @ 4.10.2011 - 13:49) |
Специально внизу переменную поставила, чтобы выводило, что сохранено, а оно просто обнуляется |
Кто такое ОНО?
Программа стоит - где - у вас? Нам по коду логику эту запутанную что ли в мозгах воссоздать и выполнить?
Есть у вас запрос с insert. Он что ли не отрабатывает? Выясняйте по условиям вверх - почему не выполнился или выполнился с ошибкой. Дебаг и логирование в помощь.
WHERE `razdel`=".$nomrazd
иньекция
Спустя 3 минуты, 50 секунд (4.10.2011 - 15:01) Michael написал(а):
echo "<option value='$product' selected='selected'>$product</option>";
в цикле выводите для всех selected='selected' - уже html не валидный
Цитата |
// попутно обрабатывая функцией htmlChars() |
и что это за функция?
Спустя 13 минут, 14 секунд (4.10.2011 - 15:14) Invis1ble написал(а):
это обертка для htmlspecialchars() с курсов ibris-team
Спустя 35 минут, 2 секунды (4.10.2011 - 15:49) Гость_Людмила написал(а):
я же выложила те файлы с которыми работаю, какую логику вы еще хотите достраивать?
Я же писала, что мне нужно чтобы по одному параметру таблицы выводились остальные, а их нужно поместить в таблицу БД и сохранить, а если нужно, то подредактировать
Я же писала, что мне нужно чтобы по одному параметру таблицы выводились остальные, а их нужно поместить в таблицу БД и сохранить, а если нужно, то подредактировать
Спустя 5 минут, 5 секунд (4.10.2011 - 15:54) Гость_Людмила написал(а):
/**
* The data recording block
* Блок записи информации
*/
if($ok)
{
if (isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']))
{
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '". escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '". escapeString($_POST['product']) ."',
`kolich` = '". escapeString($_POST['kolich']) ."',
`upack` = '". escapeString($POST['fasovka']) ."'"
) or die(mysql_error());
reDirect();
}
else
$info[] = IRB_NO_TEXT;
}
else
$info[] = IRB_WRITE;
* The data recording block
* Блок записи информации
*/
if($ok)
{
if (isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']))
{
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '". escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '". escapeString($_POST['product']) ."',
`kolich` = '". escapeString($_POST['kolich']) ."',
`upack` = '". escapeString($POST['fasovka']) ."'"
) or die(mysql_error());
reDirect();
}
else
$info[] = IRB_NO_TEXT;
}
else
$info[] = IRB_WRITE;
Спустя 6 минут, 15 секунд (4.10.2011 - 16:00) Invis1ble написал(а):
Гость_Людмила
MIchael ведь написал, что нужно сделать, если ошибок никаких со стороны СУБД нет - пошаговый дебагинг. Вполне возможно, что например условие isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']) возвращает false
MIchael ведь написал, что нужно сделать, если ошибок никаких со стороны СУБД нет - пошаговый дебагинг. Вполне возможно, что например условие isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']) возвращает false
Спустя 8 минут, 5 секунд (4.10.2011 - 16:08) Гость_Людмила написал(а):
Я пробую, но пока еще не могу понять)
Спустя 16 минут, 52 секунды (4.10.2011 - 16:25) Гость_Людмила написал(а):
Вот это сделала, но почему-то в базу не записывается после второго отправить
<?php
if (!isset($_POST['NomRazd']))
{ ?>
<form method="post" action="">
Выберите раздел:<br />
<select name='NomRazd'>
<option value='0'>Выберите раздел</option>
<option value='1'>Промышленная химия</option>
<option value='2'>Минеральные удобрения и средства защиты растений</option>
<option value='3'>Химические реактивы</option>
<option value='4'>Дезинфицирующие средства</option>
<option value='5'>Лабораторная посуда и термометры</option>
<option value='6'>Оборудование для АЗС и нефтебаз</option>
</select><br /><br />
<br />
<input type="submit" value="Отправить" />
</form>
<?php
}
elseif (isset($_POST['NomRazd']) && $_POST['NomRazd'] == $_POST['NomRazd'] )
{
$nomrazd=$_POST['NomRazd'] ;
?><form method="post" action="">
Выбранный раздел:<br />
<?php
switch ($nomrazd)
{
case 1: echo "Промышленная химия";
break;
case 2: echo "Минеральные удобрения и средства защиты растений";
break;
case 3: echo "Химические реактивы";
break;
case 4: echo "Дезинфицирующие средства";
break;
case 5: echo "Лабораторная посуда и термометры";
break;
case 6: echo "Оборудование для АЗС и нефтебаз";
break;
};?><br />
Выберите продукт:<br />
<?php
$res = mysqlQuery("SELECT *
FROM `". IRB_DBPREFIX ."product`
WHERE `razdel`=".$nomrazd
);
?>
<select name="prod">
<?php
if(mysql_num_rows($res) > 0) // Если записи есть, вытаскиваем по одной в цикле
while($row = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars()
{
$prod=$row['nazvan'];
$upack=$row['fasovka'];
echo "<option value='$prod' selected='selected'>$prod</option>";
}
?>
</select>
<br />
Укажите количество упаковок продукта:<br />
<input name="kol" type="text" size="5" /> штук <br />
<br />
<input type="submit" value="Отправить" />
</form>
<?php
$nomrazd=$_POST['NomRazd'] ;
$product=$_POST['prod'];
$kolich=$_POST['kol'];
}
elseif(isset($_POST['product'])&& isset($_POST['kolich']))
{
echo "Вы заказали: ",$_POST['product'],$_POST['kolich'];
} ?>
Спустя 5 минут, 8 секунд (4.10.2011 - 16:30) Гость_Людмила написал(а):
Сам контроллер такой
<?php
/**
* Controller
* Контроллер
* @author IT studio IRBIS-team
* @copyright © 2009 IRBIS-team
*/
/////////////////////////////////////////////////////////
/**
* Generation of page of an error at access out of system
* Генерация страницы ошибки при доступе вне системы
*/
if(!defined('IRB_KEY'))
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('../../404.html'));
}
///////////////////////////////////////////////////////////
/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/
include_once IRB_ROOT .'libs/mysql.php';
//Получаем из базы данных все записи
$res = mysqlQuery("SELECT *
FROM `". IRB_DBPREFIX ."product` "
);
$rows = '';
$i = 0;
if(mysql_num_rows($res) > 0) // Если записи есть, вытаскиваем по одной в цикле
while($row = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars()
{
++$i;
// Собираем строки таблицы в переменную
$kolich = 0;
$rows .= "<tr>\n\t<td>". $i .
"</td>\n\t<td>". $row['nazvan'] .
"</td>\n\t<td>". $row['razdel'] .
"</td>\n\t<td>". $row['kvalif'] .
"</td>\n\t<td>". $row['gost'] .
"</td>\n\t<td>". $row['fasovka'] .
"</td>\n\t<td>". $row['foto'] .
"</td>\n\t</tr>";
}
/**
* The data recording block
* Блок записи информации
*/
include_once IRB_ROOT .'libs/mysql.php';
if($ok)
{
if (isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']))
{
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '". escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '". escapeString($_POST['product']) ."',
`kolich` = '". escapeString($_POST['kolich']) ."',
`upack` = '". escapeString($POST['fasovka']) ."'"
) or die(mysql_error());
reDirect();
}
else
$info[] = IRB_NO_TEXT;
}
else
$info[] = IRB_WRITE;
/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/
$res = mysqlQuery("SELECT *
FROM `". IRB_DBPREFIX ."zakaz`"
);
$zakazy = '';
$i = 0;
if(mysql_num_rows($res) > 0)
while($zak = htmlChars(mysql_fetch_assoc($res)))
{
++$i;
// Собираем строки таблицы в переменную
$zakazy .= "<tr>\n\t<td>". $i .
"</td>\n\t<td>". $zak['client'] .
"</td>\n\t<td>". $zak['product'] .
"</td>\n\t<td>". $zak['upack'] .
"</td>\n\t<td>". $zak['kolich'] .
"</td>\n\t</tr>";
}
! |
Invis1ble |
Спустя 4 минуты, 57 секунд (4.10.2011 - 16:35) Гость_Людмила написал(а):
Извините, поторопилась!
Спустя 6 дней, 1 час, 21 минута, 19 секунд (10.10.2011 - 17:57) udaffchik написал(а):
Здравствуйте. Имееться страница form.php с формой выбора неких данных, которые при отправки в базу данных примут свой id, который имеет атрибут AUTO_INCREMENT, по порядку. Вопрос: как можно сделать что бы на странице form.php выводился номер id, который будет присваиваться к этой форме после отправки этих данных, до того как форма будет отправленна.