Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2010, 14:47   #1
Lenivecsid
Новичок
Джуниор
 
Регистрация: 08.01.2010
Сообщений: 2
По умолчанию Объясните откуда ошибка (PHP+MySQL)

Не могу понять, почему возникает ошибка в этом скрипте.

<?php
//$_POST ['flag']==1, когда формуляр отправлен
if (!empty($_POST ['flag']) && $_POST ['flag']==1)
{
//удаление ведущих и замыкающих пробелов
//$_POST ['supplier_id']=trim ($_POST ['supplier_id']);
$_POST ['supplier_name']=trim($_POST['supplier_name']);
$_POST ['supplier_address']=trim ($_POST ['supplier_address']);
$_POST ['supplier_inn']=trim ($_POST ['supplier_inn']);
$_POST ['supplier_account']=trim ($_POST ['supplier_account']);
$_POST ['supplier_phone']=trim ($_POST ['supplier_phone']);
$_POST ['supplier_bank']=trim ($_POST ['supplier_bank']);
$_POST ['address_bank']=trim ($_POST ['address_bank']);
$_POST ['director']=trim ($_POST ['director']);
$_POST ['chief_accountant']=trim ($_POST ['chief_accountant']);
//проверка заполненности всех полей
if (!$_POST ['supplier_name']){$fehler .="введите название фирмы<br/>";}
if (!$_POST ['supplier_address']){$fehler .="введите адресс фирмы<br/>";}
if (!$_POST ['supplier_inn']){$fehler .="введите инн фирмы<br/>";}
if (!$_POST ['supplier_account']){$fehler .="введите счет фирмы<br/>";}
if (!$_POST ['supplier_phone']){$fehler .="введите телефон фирмы<br/>";}
if (!$_POST ['supplier_bank']){$fehler .="введите банк фирмы<br/>";}
if (!$_POST ['address_bank']){$fehler .="введите адресс банка<br/>";}
if (!$_POST ['director']){$fehler .="введите данные начальника фирмы<br/>";}
if (!$_POST ['chief_accountant']){$fehler .="введите данные главного бухгалтера<br/>";}
//при наличии ошибок, выдается сообщение
//и переменная $_POST['flag'] сбрасывается, чтобы показать содержимое формуляра
if ($fehler)
{
$meldung="<h2><font color=red>".$fehler."</font></h2>";
unset ($_POST['flag']);
}
else //при отсутствии ошибок данные сохраняются в базе данных
{
//формирование sql-строки
$tabellsupplier="supplier";
$sql="INSERT INTO $tabellsupplier (supplier_name, supplier_address, supplier_inn, supplier_account,
supplier_phone, supplier_bank, address_bank, director, chief_accountant)
values ('".$_POST['supplier_name']."', '".$_POST['supplier_address']."', '".$_POST['supplier_inn']."',
'".$_POST['supplier_account']."', '".$_POST['supplier_phone']."', '".$_POST ['supplier_bank']."',
'".$_POST ['address_bank']."', '".$_POST ['director']."', '".$_POST ['chief_accountant'];
//подключение к базе данных
$link = mysql_connect("localhost", "root", "1234");
mysql_select_db("warehouse", $link);
mysql_query($sql, $link);
$meldung="<h2><font color=red>данные приняты.</font></h2>";
}
//выдача сообщения
echo $meldung;
}//end $_POST['flag']==1
if (!$_POST ['flag'])
{
?>
Lenivecsid вне форума Ответить с цитированием
Старый 08.01.2010, 16:35   #2
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Если поставить:
Код:
if (!$_POST ['flag'])
{
}
то синтаксческих ошибок нет.
Напишите что именно за ошибка вылетает.
Gorychev вне форума Ответить с цитированием
Старый 09.01.2010, 18:13   #3
Lenivecsid
Новичок
Джуниор
 
Регистрация: 08.01.2010
Сообщений: 2
По умолчанию

Я хочу реализовать занесение данных в БД через форму с помощью вот этого скрипта
<html>

<head>
<title>Поставщик</title>
</head>

<body>
<h1>Поставщик</h1>
<?php
//$_POST ['flag']==1, когда формуляр отправлен
if (!empty($_POST ['flag']) && $_POST ['flag']==1)
{
//удаление ведущих и замыкающих пробелов
//$_POST ['supplier_id']=trim ($_POST ['supplier_id']);
$_POST ['supplier_name']=trim($_POST['supplier_name']);
$_POST ['supplier_address']=trim ($_POST ['supplier_address']);
$_POST ['supplier_inn']=trim ($_POST ['supplier_inn']);
$_POST ['supplier_account']=trim ($_POST ['supplier_account']);
$_POST ['supplier_phone']=trim ($_POST ['supplier_phone']);
$_POST ['supplier_bank']=trim ($_POST ['supplier_bank']);
$_POST ['address_bank']=trim ($_POST ['address_bank']);
$_POST ['director']=trim ($_POST ['director']);
$_POST ['chief_accountant']=trim ($_POST ['chief_accountant']);
//проверка заполненности всех полей
if (!$_POST ['supplier_name']){$fehler .="введите название фирмы<br/>";}
if (!$_POST ['supplier_address']){$fehler .="введите адресс фирмы<br/>";}
if (!$_POST ['supplier_inn']){$fehler .="введите инн фирмы<br/>";}
if (!$_POST ['supplier_account']){$fehler .="введите счет фирмы<br/>";}
if (!$_POST ['supplier_phone']){$fehler .="введите телефон фирмы<br/>";}
if (!$_POST ['supplier_bank']){$fehler .="введите банк фирмы<br/>";}
if (!$_POST ['address_bank']){$fehler .="введите адресс банка<br/>";}
if (!$_POST ['director']){$fehler .="введите данные начальника фирмы<br/>";}
if (!$_POST ['chief_accountant']){$fehler .="введите данные главного бухгалтера<br/>";}
//при наличии ошибок, выдается сообщение
//и переменная $_POST['flag'] сбрасывается, чтобы показать содержимое формуляра
if ($fehler)
{
$meldung="<h2><font color=red>".$fehler."</font></h2>";
unset ($_POST['flag']);
}
else //при отсутствии ошибок данные сохраняются в базе данных
{
//формирование sql-строки
$tabellsupplier="supplier";
$sql="INSERT INTO $tabellsupplier (supplier_name, supplier_address, supplier_inn, supplier_account,
supplier_phone, supplier_bank, address_bank, director, chief_accountant)
values ('".$_POST['supplier_name']."', '".$_POST['supplier_address'].&quot;', '".$_POST['supplier_inn']."',
'".$_POST['supplier_account']."', '".$_POST['supplier_phone']."', '".$_POST ['supplier_bank']."',
'".$_POST ['address_bank']."', '".$_POST ['director']."', '".$_POST ['chief_accountant'];
//подключение к базе данных
$link = mysql_connect("localhost", "root", "1234");
mysql_select_db("warehouse", $link);
mysql_query($sql, $link);
$meldung="<h2><font color=red>данные приняты.</font></h2>";
}
//выдача сообщения
echo $meldung;
}//end $_POST['flag']==1
if (!$_POST ['flag'])
{
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<input type="hidden" name="flag" value=1>
<p>название фирмы<br>
<input type="text" name="supplier_name" value="<?php echo $_POST ['supplier_name']; ?>"></p>
<p>адресс фирмы<br>
<input type="text" name="supplier_address" value="<?php echo $_POST ['supplier_address']; ?>"></p>
<p>инн фирмы<br>
<input type="text" name="supplier_inn" value="<?php echo $_POST ['supplier_inn']; ?>"></p>
<p>счет фирмы<br>
<input type="text" name="supplier_account" value="<?php echo $_POST ['supplier_account']; ?>"></p>
<p>телефон фирмы<br>
<input type="text" name="supplier_phone" value="<?php echo $_POST ['supplier_phone']; ?>"></p>
<p>название банка<br>
<input type="text" name="supplier_bank" value="<?php echo $_POST ['supplier_bank']; ?>"></p>
<p>адресс банка<br>
<input type="text" name="address_bank" value="<?php echo $_POST ['address_bank']; ?>"></p>
<p>начальник фирмы<br>
<input type="text" name="director" value="<?php echo $_POST ['director']; ?>"></p>
<p>главный бухгалтер фирмы<br>
<input type="text" name="chief_accountant" value="<?php echo $_POST ['chief_accountant'];?>"></p>
<input type="submit" value="Отправить">
</form>
<?php
}
?>
</body>

</html>

Но выдает ошибку
Notice: Undefined index: flag in C:\apache\localhost\www\suplier.php on line 59
И в самих формах тоже ошибки.
Lenivecsid вне форума Ответить с цитированием
Старый 09.01.2010, 18:29   #4
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
<?php echo $_SERVER['PHP_SELF'];?>
Похоже, что у ассоциативного массива нет такого поля (индекса). К стати, не пишите <? ... ?>, не только php между ними может быть (некоторые другие скрипты так же обозначаются, и это может вызвать проблемы.)
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP and MySQL ошибка NecRoMat PHP 13 19.01.2009 18:06
откуда ошибка 183? vl1639 Общие вопросы Delphi 4 17.01.2009 01:11
Поясните откуда ошибка? Hegel Помощь студентам 8 12.01.2009 07:39